FPGA作業(yè)參考答案_第1頁(yè)
FPGA作業(yè)參考答案_第2頁(yè)
FPGA作業(yè)參考答案_第3頁(yè)
FPGA作業(yè)參考答案_第4頁(yè)
FPGA作業(yè)參考答案_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、作業(yè)答案作業(yè)答案3.3 設(shè)A=4b1010,B=4b0011,C=1b1,則下式運(yùn)算結(jié)果是什么?(1) A 0101(2) A1 0101(3) A,B0,C 101011(4) A & B 0010(5) A B 1001(6) AB 0 3.5 有一個(gè)模塊名為my_module,其輸入/輸出端口情況如題圖3.1所示,試寫(xiě)出模塊Verilog HDL的描述框架,即模塊的定義、端口羅列和端口定義等。module my_modudle( AIN, BIN, CIN, CLK, ENABLE, RESET DATA_OUT) Input3:0 AIN; Input2:0 BIN; Inpu

2、t1:0 CIN; Input CLK, ENABLE, RESET; Output4:0 DATA_OUT;.作業(yè)答案作業(yè)答案 3.6 在下面的initial塊中,根據(jù)每條語(yǔ)句的執(zhí)行時(shí)刻,寫(xiě)出每個(gè)變量在仿真過(guò)程中和仿真結(jié)束時(shí)的值。initialbeginA=1b0; B=1b1; C=2b10; D=4b1100; #10 begin A=1b1;B=1b0;end#15 beginC= #5 2b01;end#10 beginD=#7 A,B,C; endend作業(yè)答案作業(yè)答案 3.6 #0 A=1b0,B=1b 1,C=2b10, D=4b1100,#10 A=1b 1,B=1b 0,C

3、=2b10, D=4b1100,#30 A=1b 1,B=1b 0,C=2b01, D=4b1100,#42 A=1b 1,B=1b 0,C=2b01, D=4b1001.作業(yè)答案作業(yè)答案 3.7 定義一個(gè)深度為256,位寬為8比特的寄存器型數(shù)組,用for語(yǔ)句對(duì)該數(shù)組進(jìn)行初始化,要求把所有的偶元素初始化為0,所有的奇元素初始化為1。3.7.reg 7:0 stage 255:0initialbegin for(i=0;i256;i=i+2) stagei = 0; for(i=1;i256;i=i+2) statei=1;end 作業(yè)答案作業(yè)答案 3.8 設(shè)計(jì)一個(gè)移位函數(shù),輸入一個(gè)位寬是32比

4、特的數(shù)data,和一個(gè)左移、右移的控制信號(hào)shift_contr1:0,shift_contr1=1,data左移一位,shift_contr0=1,data右移一位,函數(shù)返回移位后的數(shù)值。3.8 function 31:0 shift input31:0 data_in; input1:0 shift_contr; begin if (shift_contr1) shift= data_in 1; end endfunction作業(yè)答案作業(yè)答案 3.10 定義一個(gè)任務(wù),該任務(wù)能計(jì)算出一個(gè)八位變量的偶校驗(yàn)位作為該任務(wù)的輸出,計(jì)算結(jié)束后,經(jīng)過(guò)三個(gè)時(shí)鐘周期將該校驗(yàn)位賦給任務(wù)的輸出。3.10 tas

5、k parity(even_bit,odd_bit,input_bus); output even_bit,odd_bit; input7:0 input_bus; reg even_bit, odd_bit,a;beginodd_bit = input_bus; /產(chǎn)生奇校驗(yàn)位 a = odd_bit;end; /產(chǎn)生偶校驗(yàn)位 (posedge clk) (posedge clk) (posedge clk) even_bit=a;endendtask 作業(yè)答案作業(yè)答案 3.12 module mux4(A,B, C,D,sel,data_sel);parameter width = 8;

6、inputwidth-1:0 A,B,C,D;input1:0 sel;outputwidth-1:0 data_sel ;reg 3:0 data_sel;always(A or B or C or D or sel) begin case(sel) 2b00 : data_sel = A; 2b01 : data_sel = B; 2b10 : data_sel = C; 2b11 : data_sel = D; default : $display(signal is invalid); endcase endendmodule作業(yè)答案作業(yè)答案 3.12 module mux4(clk,

7、rst,A,B, C,D,sel,data_sel);parameter width = 8; inputwidth-1:0 A,B,C,D;input1:0 sel;input clk,rst;outputwidth-1:0 data_sel ;wire 3:0 data_sel;assign data_sel=sel1? (sel0 ? D:C) : (sel0 ? B:A);endmodule作業(yè)答案作業(yè)答案 作業(yè)答案作業(yè)答案設(shè)計(jì)一個(gè)序列檢測(cè)器,用于檢測(cè)串行輸入的二進(jìn)制序列,每當(dāng)連續(xù)輸入三個(gè)或三個(gè)以上的1時(shí),序列檢測(cè)器的輸出為1,其它情況下輸出為0。(1)畫(huà)出狀態(tài)轉(zhuǎn)移圖。(2)寫(xiě)出Ver

8、ilog HDL程序(要求在程序中使用2個(gè)always 語(yǔ)句) 作業(yè)答案作業(yè)答案狀態(tài)圖:s0:初始狀態(tài),電路還未收到一個(gè)有效1 s1:收到一個(gè)1后的狀態(tài)S2:連續(xù)收到兩個(gè)1后的狀態(tài) s3:連續(xù)收到三個(gè)1個(gè)后的狀態(tài) 作業(yè)答案作業(yè)答案module fsm(clk,reset, ina,out);input clk,ina;output out;reg out;parameter s0 = 2b00,s1 =2b01,s2 =2b10,s3=2b11;reg0:1 state,next_state;always (posedge clk)begin if (!reset) state = s0 ;

9、else state=next_state; endalways (state or ina)begincase(state ) s0:beginnext_state=(ina)?s1:s0;out=0;ends1:beginnext_state=(ina)?s2:s0;out=0;ends2:beginnext_state=(ina)?s3:s0;out=0;ends3:beginnext_state=(ina)?s3:s0;out=1;endendcaseendendmodule 作業(yè)答案作業(yè)答案作業(yè): 下圖是一個(gè)A/D采集系統(tǒng),要求設(shè)計(jì)其中的FPGA采集控制模塊,該模塊由三個(gè)部分構(gòu)成:控

10、制器(Control)、地址計(jì)數(shù)器(addrcnt)、內(nèi)嵌雙口RAM(adram)??刂破鳎╟ontrol)是一個(gè)有限狀態(tài)機(jī),完成對(duì)AD574的控制,和adram的寫(xiě)入操作。adram是一個(gè)雙口RAM IP核,在wren為1時(shí)允許寫(xiě)入數(shù)據(jù)。A/D采集系統(tǒng) 作業(yè)答案作業(yè)答案 AD574邏輯控制真值表(X表示任意) AD574工作時(shí)序 作業(yè)答案作業(yè)答案 下面表列出了AD574的控制方式(X表示任意信號(hào))和控制時(shí)序圖(STATUS為高電平,F(xiàn)PGA等待A/D轉(zhuǎn)換,STATUS為低電平,A/D轉(zhuǎn)換完成,數(shù)據(jù)輸出有效):CECSRCK12_8A0工 作 狀 態(tài)0XXXX禁止100X1啟動(dòng)8位轉(zhuǎn)換1010

11、1轉(zhuǎn)換后數(shù)據(jù)輸出有效 作業(yè)答案作業(yè)答案回答問(wèn)題: 1)試畫(huà)出控制器Control模塊的狀態(tài)機(jī)的狀態(tài)圖。 2)地址計(jì)數(shù)器每當(dāng)ClkInc時(shí)鐘上升沿到達(dá),輸出地址加1,請(qǐng)對(duì)地址計(jì)數(shù)器模塊(addrcnt)進(jìn)行Verilog HDL描述。 3)根據(jù)問(wèn)題1)的狀態(tài)圖,試對(duì)控制器Control模塊進(jìn)行Verilog HDL描述。 4) 已知adram的端口描述如下,試用例化語(yǔ)句,對(duì)整個(gè)FPGA采集控制模塊進(jìn)行頂層模塊的Verilog HDL描述(頂層名設(shè)為ADC574)。 作業(yè)答案作業(yè)答案 1)試畫(huà)出控制器Control模塊的狀態(tài)機(jī)的狀態(tài)圖。 作業(yè)答案作業(yè)答案2) 地址計(jì)數(shù)器每當(dāng)ClkInc時(shí)鐘上升沿到

12、達(dá),輸出地址加1,請(qǐng)對(duì)該模塊進(jìn)行verilog描述。module cnt64(ClkInc, Cntclr, Wraddr); input ClkInc, Cntclr; output5:0 Wraddr; reg5:0 Wraddr; always(posedge ClkInc or posedge Cntclr)beginif(Cntclr) Wraddr=6d0;else Wraddr=Wraddr+1;endendmodule 作業(yè)答案作業(yè)答案3) 根據(jù)狀態(tài)圖,試對(duì)control進(jìn)行Verilog描述. module control(CLK, STATUS, ADData, CS, C

13、E, A0, RC, K12_8, ClkInc, rddata); input CLK, STATUS; /時(shí)鐘信號(hào)和AD轉(zhuǎn)換狀態(tài)信號(hào)輸入 input7:0 ADData; /轉(zhuǎn)換數(shù)據(jù)輸入 output CS, CE, A0, RC, K12_8; / AD574控制信號(hào) output ClkInc; /地址計(jì)數(shù)器時(shí)鐘信號(hào) output7:0 rddata; /轉(zhuǎn)換數(shù)據(jù)輸出 parameter s0=0,s1=1,s2=2,s3=3,s4=4; reg2:0 st; reg lock; reg CS, CE,RC; 作業(yè)答案作業(yè)答案assign K12_8=1b0; assign A0=1b

14、1; assign ClkInc=(lock=1b1)?1:0; assign rddata=(lock=1b1)?ADData:rddata; always(posedge CLK) begin case(st) s0: begin st = s1; RC =1b1; CE=1b0; CS =1b1; lock =1b0;end s1: begin st = s2; RC =1b0; CE=1b1; CS =1b0; lock =1b0;end 作業(yè)答案作業(yè)答案s2: if(!STATUS) st = s3; else begin st = s2; RC =1b1; CE=1b1; CS =

15、1b0; lock =1b0;ends3: begin st = s4;RC =1b1;CE =1b1;CS =1b0;lock =1b1;ends4:begin st = s0;RC =1b1;CE =1b1;CS =1b0;lock =1b0;enddefault:st=s0;endcaseendendmodule 作業(yè)答案作業(yè)答案5) 已知adram的端口描述如下,試用例化語(yǔ)句,對(duì)整個(gè)FPGA采集控制模塊進(jìn)行Verilog頂層描述。頂層名為ADC574. module ADC574(CLK, STATUS, ADDATA, Cntclr, Rdaddr, CS, CE, A0, RC,

16、K12_8, rddata); input CLK, STATUS; /時(shí)鐘信號(hào)和AD轉(zhuǎn)換狀態(tài)信號(hào)輸入 input7:0 ADDATA; /轉(zhuǎn)換數(shù)據(jù)輸入 input Cntclr; /計(jì)數(shù)器清零信號(hào) input5:0 Rdaddr; / adram讀數(shù)地址output CS, CE, A0, RC, K12_8; / AD574控制信號(hào)output7:0 rddata; / adram讀數(shù)據(jù)輸出wire ClkInc;wire5:0 Wraddr;wire7:0 r_data;wire wren; 作業(yè)答案作業(yè)答案5) 已知adram的端口描述如下,試用例化語(yǔ)句,對(duì)整個(gè)FPGA采集控制模塊進(jìn)行

17、Verilog頂層描述。頂層名為ADC574. module ADC574(CLK, STATUS, ADDATA, Cntclr, Rdaddr, CS, CE, A0, RC, K12_8, rddata); input CLK, STATUS; /時(shí)鐘信號(hào)和AD轉(zhuǎn)換狀態(tài)信號(hào)輸入 input7:0 ADDATA; /轉(zhuǎn)換數(shù)據(jù)輸入 input Cntclr; /計(jì)數(shù)器清零信號(hào) input5:0 Rdaddr; / adram讀數(shù)地址output CS, CE, A0, RC, K12_8; / AD574控制信號(hào)output7:0 rddata; / adram讀數(shù)據(jù)輸出wire ClkInc;wire5:0 Wraddr;wire7:0 r_data;wire wren; 作業(yè)答案作業(yè)答案assign wren=1b1; control u1(.CLK(CLK),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論