資源描述:
《十六進(jìn)制七段數(shù)碼顯示譯碼器.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、十六進(jìn)制七段數(shù)碼顯示譯碼器一、實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)7段數(shù)碼顯示器的Verilog硬件設(shè)計(jì)。二、實(shí)驗(yàn)原理:7段數(shù)碼顯示器是純組合電路。通常的小規(guī)模專用IC,如74或4000系列的器件只能做十進(jìn)制BCD碼譯碼器(其真值表如圖(1)所示),然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運(yùn)算都是二進(jìn)制的,所以輸出表達(dá)式都是十六進(jìn)制的,為了滿足十六進(jìn)制的譯碼顯示,最方便的方法就是利用Verilog譯碼程序在FPGA/CPLD中來(lái)實(shí)現(xiàn)。所以首先要設(shè)計(jì)一段程序。設(shè)輸入的4位碼為A[3:0],輸出控制7段共陰數(shù)碼管(如圖(2)所示)的7位數(shù)據(jù)為L(zhǎng)ED7S[6:0]。輸出信號(hào)LED7S的7位接共陰數(shù)碼管的7個(gè)段,
2、高位在左,低位在右。例如當(dāng)LED7S輸出為“1101101”時(shí),數(shù)碼管7個(gè)段g、f、e、d、c、b、a分別接1、1、0、1、1、0、1;接有高電平的段發(fā)亮,于是數(shù)碼管顯示“5”。這里沒(méi)有考慮表示小數(shù)點(diǎn)的發(fā)光管,如果要考慮,需要增加段h,然后將LED7S改為8位輸出。圖(1)7段譯碼器真值表輸入碼輸入碼代表數(shù)據(jù)輸入碼輸入碼代表數(shù)據(jù)00000111111010001111111800010000110110011101111900101011011210101110111A00111001111310111111100B01001100110411000111001C010
3、11101101511011011110D01101111101611101111001E01110000111711111110001F圖(2)7段共陰數(shù)碼管三、實(shí)驗(yàn)任務(wù):將設(shè)計(jì)好的Verilog譯碼器程序在QuartusII上進(jìn)行編輯、編譯、綜合、適配、仿真,給出其所有信號(hào)的時(shí)序仿真波形圖(注意仿真波形輸入激勵(lì)信號(hào)的設(shè)置)。提示:設(shè)定仿真激勵(lì)信號(hào)是用輸入總線的方式給出輸入信號(hào)的仿真數(shù)據(jù)。四、實(shí)驗(yàn)步驟:(一)、建立工作庫(kù)文件和編輯設(shè)計(jì)文文件??????任何一項(xiàng)設(shè)計(jì)都是一項(xiàng)Project(工程),而把一個(gè)工程下的所有文件放在一個(gè)文件夾內(nèi)是一個(gè)非常好的習(xí)慣,以便于我們整理
4、,利用和提取不同工程下的文件,而此文件夾將被EDA軟件默認(rèn)為WorkLibrary(工作庫(kù)),所以第一步先根據(jù)自己的習(xí)慣,建立個(gè)新的文件夾。??????(1)新建文件夾:我的習(xí)慣在D盤建立并保存工程,我將文件夾取名Test,????(2)輸入源程序:打開(kāi)QuartusII,選擇菜單File-->New-->DesignFiles-->VerilogHDLFile-->OK(如圖1所示)代碼如下:moduleDECL7S(A,LED7S);input[3:0]A;output[6:0]LED7S;reg[6:0]LED7S;always@(A)case(A)4'b0000
5、:LED7S<=7'b0111111;4'b0001:LED7S<=7'b0000110;4'b0010:LED7S<=7'b1011011;4'b0011:LED7S<=7'b1001111;4'b0100:LED7S<=7'b1100110;4'b0101:LED7S<=7'b1101101;4'b0110:LED7S<=7'b1111101;4'b0111:LED7S<=7'b0000111;4'b1000:LED7S<=7'b1111111;4'b1001:LED7S<=7'b1101111;4'b1010:LED7S<=7'b1110111;4'b1011:L
6、ED7S<=7'b1111100;4'b1100:LED7S<=7'b0111001;4'b1101:LED7S<=7'b1011110;4'b1110:LED7S<=7'b1111001;4'b1111:LED7S<=7'b1110001;default:LED7S<=7'b0111111;endcaseendmodule(3)保存文件:完成一步就保存一步是一個(gè)好習(xí)慣,這樣即使出現(xiàn)意外情況,也不至于以前的努力付諸東流。選擇File-->Saveas,選擇保存路徑,即剛才新建的文件夾Test,文件名應(yīng)與實(shí)體名保持一致,即DECL7S,點(diǎn)擊保存后會(huì)跳出“Doyouwant
7、tocreateanewprojectwiththisfile?”選擇“是”,則進(jìn)入如下界面點(diǎn)擊Next,進(jìn)入“工程設(shè)置”對(duì)話框,如圖所示?第一行表示工程所在的文件夾,第二行為工程名,可以與頂層文件的實(shí)體名保持一致,也可以另取別的名字,第三行為當(dāng)前工程頂層文件的實(shí)體名。點(diǎn)擊next,進(jìn)入ADDFILE對(duì)話框,如圖所示,單擊AddAll按鈕,將工程相關(guān)的所有VHDL文件加進(jìn)工程,也可以單擊“Add??...”選擇性加入,按此步驟建立工程,工程已經(jīng)自動(dòng)將所有文件加進(jìn)去了,可以直接點(diǎn)擊next,當(dāng)先直接建立工程時(shí),需要自己添加(4)選擇目標(biāo)芯片