久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【連載】 FPGA Verilog HDL 系列實(shí)例

Verilog HDL 之 8-3編碼器

原理:

  在數(shù)字系統(tǒng)中,常常需要將某一信息(輸入)變換為某一特定的代碼(輸出),。把二進(jìn)制碼按一定的規(guī)律排列,,例如8421碼、格雷碼等,使每組代碼具有一特定的含義(代表某個(gè)數(shù)字或是控制信號(hào))稱(chēng)為編碼,。具有編碼功能的邏輯電路稱(chēng)為編碼器,。編碼器有若干個(gè)輸入,在某一時(shí)刻只有一個(gè)輸入被轉(zhuǎn)換為二進(jìn)制碼,。例如8線(xiàn)-3線(xiàn)編碼器和10線(xiàn)-4線(xiàn)編碼器分別有8輸入,、3位輸出和10位輸入、4位輸出,。下面是8-3編碼器的真值表,。

實(shí)驗(yàn)環(huán)境:

  硬件:AR2000核心板、SOPC-MBoard板,、PC 機(jī),、ByteBlaster II 下載電纜
  軟件:ModelSim 、Altera Quartus II 7.2 集成開(kāi)發(fā)環(huán)境,。 

實(shí)驗(yàn)步驟:

1.打開(kāi)Quartus II 7.2軟件,,選擇File | New Project Wizard新建一個(gè)工程,在對(duì)話(huà)框中第一行選擇工程路徑,,并為該工程新建一個(gè)文件夾,。本例中第二行輸入工程名bm8_3;第三行是工程頂層設(shè)計(jì)文件名,,該頂層設(shè)計(jì)文件名一定要與設(shè)計(jì)文件中模塊名module一致,,可以與工程名不同,,但一般都和工程名一致 ,。如圖1.1所示。

 

            圖1.1 在Quartus II中新建工程

 2.單擊“Next”,,此對(duì)話(huà)框是向工程中添加設(shè)計(jì)文件的?,F(xiàn)在還沒(méi)有寫(xiě)設(shè)計(jì)文件,所以沒(méi)有文件可以添加,;直接單擊“Next”,,進(jìn)入器件選擇對(duì)話(huà)框。在Family下拉菜單中選擇Cyclone II 系列,。然后在Filters下的Package下拉菜單中選擇封裝形式FBGA,,Pin count下拉菜單中選擇管腳數(shù)672,Speed grade下拉菜單中選擇速度級(jí)別8,;然后在A(yíng)vailable devices中選擇
EP2C35F672C8器件,。如圖1.2所示。

 

                             圖1.2 選擇FPGA器件

 3.單擊Finish,,建立好工程,。向工程中添加設(shè)計(jì)文件,選擇File | New ,,在New對(duì)話(huà)框中選擇Device Design Files下的Verilog HDL File,,單擊OK,,完成新建設(shè)計(jì)文件。如圖1.3所示,。

 

                         圖1.3 添加設(shè)計(jì)文件

 4.向設(shè)計(jì)文件中輸入Verilog代碼,。

復(fù)制代碼
 1 //--------------------------------------------------------------------------------------------------
2 //
3 // Title : BM8_3
4 // Design : exp1
5 // Author : wangliang
6 //
7 //-------------------------------------------------------------------------------------------------
8 //
9 // Description :
10 //
11 //-------------------------------------------------------------------------------------------------
12 `timescale 1 ns / 1 ps
13
14 module bm8_3 ( a ,b );
15
16 input [7:0] a ;
17 wire [7:0] a ;
18
19 output [2:0] b ;
20 reg [2:0] b;
21 always @ ( a )
22 begin
23 case ( a )
24 8'b0000_0001 : b<=3'b000;
25 8'b0000_0010 : b<=3'b001;
26 8'b0000_0100 : b<=3'b010;
27 8'b0000_1000 : b<=3'b011;
28 8'b0001_0000 : b<=3'b100;
29 8'b0010_0000 : b<=3'b101;
30 8'b0100_0000 : b<=3'b110;
31 8'b1000_0000 : b<= 3'b111;
32 default : b<= 3'b000;
33 endcase
34 end
35
36 // -- Enter your statements here -- //
37
38 endmodule
復(fù)制代碼

5. 編譯。點(diǎn)擊圖1.4中的第二個(gè)按鈕,。

                  圖1.4

6. 分配引腳,。 選擇Assignments下的Pins選項(xiàng),進(jìn)入引腳分配界面,,或者對(duì)該工程的.tcl文件進(jìn)行直接修改,。分配好的引腳如圖1.5所示

                      圖1.5 引腳分配

7. 將在A(yíng)ssignments|Device 里面打開(kāi)Device& Pin Options選項(xiàng),在Unused Pins頁(yè)里面的選擇第一項(xiàng)As input,。每次新建的工程編譯前必須設(shè)置這個(gè)選項(xiàng),。

  此操作原因

  (1)由于開(kāi)發(fā)板FPGA芯片的許多引腳已經(jīng)分配給如FLASH存儲(chǔ)器等的外圍器件或者開(kāi)發(fā)板的某些開(kāi)關(guān),,當(dāng)運(yùn)行自己開(kāi)發(fā)的邏輯時(shí),,必須把FPGA尚未分配的引腳與測(cè)試電路無(wú)關(guān)的鏈接斷開(kāi),否則的那個(gè)FPGA復(fù)位后這些固定的鏈接會(huì)破壞任務(wù)的執(zhí)行,,所以,,必須把不用的引腳設(shè)置成三態(tài)輸入信號(hào)。

 ?。?)SRAM等設(shè)備是低電平其idong,,置成高阻態(tài)可防止錯(cuò)誤地啟動(dòng)類(lèi)似SRAM的設(shè)備。

 ?。?)為了降低功耗,,一般我們的設(shè)計(jì)都比較小,未用管腳較多,,而未用管腳若默認(rèn)為輸出低電平,,則會(huì)形成電流回路,產(chǎn)生較大的功耗,。

8. 全部編譯,。點(diǎn)擊圖1.4中的第一個(gè)按鈕。

9. 燒寫(xiě)到目標(biāo)板,。點(diǎn)擊圖1.4中的倒數(shù)第三個(gè)按鈕,,等燒寫(xiě)完畢查看實(shí)驗(yàn)板結(jié)果,并且可以和仿真結(jié)果進(jìn)行比對(duì),。(仿真方法請(qǐng)參考鏈接,。。。)

  將開(kāi)關(guān)選擇跳線(xiàn)選擇至低8位撥動(dòng)開(kāi)關(guān),,利用低BIT7~BIT0位作為輸入,,LED2、LED1,、LED0作為輸出(圖中紅線(xiàn)標(biāo)出部分),。

實(shí)驗(yàn)結(jié)果:

  BIT7~BIT0當(dāng)中的一個(gè)打開(kāi)時(shí),LED的燈對(duì)應(yīng)亮著,,如果有多個(gè)打開(kāi),,則LED的燈是滅著的。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多