![2023年VHDL實驗報告范文_第1頁](http://file4.renrendoc.com/view/6f4e2adee1f1a1c78c938f0cc239b39f/6f4e2adee1f1a1c78c938f0cc239b39f1.gif)
![2023年VHDL實驗報告范文_第2頁](http://file4.renrendoc.com/view/6f4e2adee1f1a1c78c938f0cc239b39f/6f4e2adee1f1a1c78c938f0cc239b39f2.gif)
![2023年VHDL實驗報告范文_第3頁](http://file4.renrendoc.com/view/6f4e2adee1f1a1c78c938f0cc239b39f/6f4e2adee1f1a1c78c938f0cc239b39f3.gif)
![2023年VHDL實驗報告范文_第4頁](http://file4.renrendoc.com/view/6f4e2adee1f1a1c78c938f0cc239b39f/6f4e2adee1f1a1c78c938f0cc239b39f4.gif)
![2023年VHDL實驗報告范文_第5頁](http://file4.renrendoc.com/view/6f4e2adee1f1a1c78c938f0cc239b39f/6f4e2adee1f1a1c78c938f0cc239b39f5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
專用集成電路實驗報告
13050Z01
劉德文
實驗一開發(fā)平臺軟件安裝與認知實驗
實驗內容
1、本實驗以三線八線譯碼器(LS74138)為例,在XilinxISE9.2軟件平臺上完畢
設計電路的VHDL文本輸入、語法檢查、編譯、仿真、管腳分派和編程下載等操作。下
載芯片選擇Xilinx公司的CoolRunnerII系列XC2c256-7PQ208作為目的
仿真芯片。
2、用1中所設計的的三線八線譯碼器(LS74138)生成一個LS74138元件,在XilinxI
SE9.2軟件原理圖設計平臺上完畢LS74138元件的調用,用原理圖的方法設計三
線八線譯碼器(LS74138),實現(xiàn)編譯,仿真,管腳分派和編程下載等操作。
源程序:
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_L0GIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
—Uncommentthefollowing1inestousethedec1arationsthat
are
providedforinstantiatingXilinxprimitivecomponents.
—1ibraryUNISIM;
--useUNISIM.VComponents.all;
entity1s74138is
Port(gl:instd_1ogic;
g2:instdlogic;
inp:instd_logic_vector(2downto0);
y:outstd_1ogic_vector(7downto0));
endls74138;
architectureBehavioralofIs74138is
begin
process(gl,g2,inp)
begin
if((glandg2)=,1r)then
caseinpis
awhen"000z/=>y<=H00000001〃;
ewhenz,001,z=>y<=,,00000010〃;
when〃010,z=>y<=,z00000100〃;
when〃011H=>y<=〃00001000〃;
。when〃100〃=〉y〈=〃00010000";
when〃101〃=>y<="00100000〃;
when"110"=>y<="01000000〃;
。when,Z11l/z=>y<=H10000000〃;
。whenothers=>y<="00000000〃;
?endcase;
else
gy<=〃00000000〃;
endif;
endprocess;
endBehavioral;
波形文獻:
304
?1H
"2SinpB01000001X010oil100101noHl000X001)
訟6□yHC(0102X040810204080(01X02)
07-y[7]HI
-y[6]Hi
39-y[5]HI
?10-y[4]HI
Q11-y[3]Hl
砂12-y[2]HlJ
<^13-y[l]H—1_」
今14-y[0]HI1_
生成元器件及連接電路
te74138
:q11----------、幸仃二「二LT-----------yf7.,01
I----------;貨型y[7-0]S
:Q21----------\
:、樂仃
一n工p[二2..O」].........…I--…--屐------......?np[2..O]
tnj5t
思考:
有程序可以看出,定義了三個輸入端,一個輸出端。gl,g2為使能輸入端,當全為一時,
開始執(zhí)行寬度為三的輸入inp,并聽過程序實現(xiàn)三八譯碼器的功能。通過實驗,分別用了原
理圖和vhd1語言兩種方式進行調試。兩種方法各有優(yōu)缺陷。對于原理圖而言,可以清楚
直觀的看出電路各部分的構造,但卻只能在原有的基礎上進行鏈接而無法隨意修改元器件功
能;vhd1語言則可以按照實際的需求進行編寫程序,從而可以實現(xiàn)開發(fā)者想要實現(xiàn)的功能。
實驗二組合邏輯電路的VHDL語言實現(xiàn)
實驗內容:
1.用VHDL語言實現(xiàn)優(yōu)先編碼器的設計并實現(xiàn)功能仿真
2.用VHDL語言實現(xiàn)四選一選擇器的設計并實現(xiàn)功能仿真。
1.優(yōu)先編碼器源程序
LIBRARYIEEE;
USEIEEE.STD_L0GIC_1164.ALL;
ENTITYpriorityencoderIS
PORT(input:INSTD_L0GIC_VECTOR(7DOWNT00);
y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));
ENDpriorityencoder;
ARCHITECTURErt1OFpriorityencoderIS
BEGIN
PROCESS(input)
BEGIN
IF(input(0)=0')THEN
ELSIF(input(l)=0")THEN
y<=H110H;
ELSIF(input(2)=,0')THEN
y<=n101u;
ELSIF(input(3)=,O')THEN
y<="100";
ELSIF(input(4)='O')THEN
y<=〃011〃;
ELSIF(input⑸='O')THEN
yV=〃01O〃;
ELSIF(input(6)='O')THEN
y<=〃OO1〃;
ELSE
y<=0000";
ENDIF;
ENDPR0CESS;
ENDrtl;
波形圖
原理圖:
pnontyencoder
input(7..O]mputp..O]y[2..O)露直匚七5港加
inst
2.四選一選擇器源程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux4IS
PORT(input:INSTD_LOGIC_VECTOR(3DOWNTO0);
a,b:INSTD_L0GIC;
y:0UTSTD_LOGIC);
ENDmux4;
ARCHITECTURErt1OFmux4IS
SIGNALsel:STD_L0GIC_VECT0R(1DOWNTO0);
BEGIN
sel<=b&a;
PROCESS(input,se1)
BEGIN
IF(sel=〃OO〃)THEN
y<=input(0);
ELSIF(sel=,z01z,)THEN
y<=input(1);
ELSIF(se1=〃10〃)THEN
y<=input(2);
ELSE
y<=input⑶;
ENDIF;
ENDPROCESS;
ENDrtl;
波形圖
原理圖
!mux4
猶作近..;
「而詞幻①...-inpui[Oujy
aa
Kb
:inst
思考:
1.優(yōu)先編碼器:通過程序定義了一個八位的輸入端和一個三位的輸入端。一方面是通過八位
的
輸入端的最低位開始判斷,假如是0,則輸出為:111;假如是1,則判斷
第
二位,以此類推,直到最后一位,假如都不滿足,則輸出:0OOo
2.四選一選擇器:一共有三個輸入,其中一個是寬度為四的可供選擇的輸入端,將一個四位
寬度的二進制碼賦值給input端,通過a與b的輸入選擇input的輸出。如ab為00時,則輸
出為:input(O),以此類推。
實驗三時序邏輯電路的VHDL語言實驗
實驗內容:(3選1)
(一)、設計一個60進制的計數(shù)器
(-)設計一帶使能的同步復位清零的遞增8位二進制計數(shù)器
(三)設計一帶使能的異步清零復位的遞增8位二進制計數(shù)器
六十進制(異步清零)源程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_1ogic_unsigned.a11;
entityycounteris
port(cIk,clear,enable:instd_logic;
—Id:instd_logic;
--d:instd_logic_vector(7downto0);
qk:outstd_1ogic_vector(7downto0));
endycounter;
architecturea_ycounterofycounteris
begin
PROCESS(cIk)
VARIABLEent:std_logic_vector(7downto0);
BEGIN
IF(clk7EVENTANDcIk='1')THEN
IF(clear='0')THEN
ent:="00000000";
—ELSE
—IF(Id='O')THEN
一一ent:=d;
ELSE
IF(enable='1')THEN
ent:=cnt+z,00000001";
if(cnt="00111100n)then
ent:=00000000/z;
endif;
ENDIF;
—ENDIF;
ENDIF;
ENDIF;
qk<=ent;
ENDPROCESS;
enda_ycounter;
波形圖:
六十進制(同步置數(shù))源程序:
libraryieee;
useieee.std_1ogic_l164.all;
useieee.std_logic_unsigned.all;
entityycounteris
port(elk,clear,enab1e:instd_logic;
Id:instd_logic;
d:instdlogic_vector(7downto0);
qk:outstd_logic_vector(7downto0));
endycounter;
architecturea_ycounterofycounteris
begin
PROCESS(elk)
VARIABLEent:std_1ogic_vector(7downto0);
BEGIN
IF(c1k‘EVENTANDc1k='1')THEN
IF(c1ear='O')THEN
cnt:=H00000000";
ELSE
IF(Id='0')THEN
ent:=d;
ELSE
IF(enable='l')THEN
ent:=ent+”00000001";
if(cnt=,z00111011')then
Ld:=1;
endif;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
qk<=cnt;
ENDPROCESS;
endaycounter;
波形圖:
思考:
六十進制計數(shù)器的實現(xiàn),1)異步清零程序的實現(xiàn):通過判斷最后一個狀態(tài),由于該計數(shù)器位
六十進制,所以最后一個狀態(tài)為59,用二進制碼表達為:"00111011",即當計數(shù)器的狀態(tài)
為六十,即"00111100"狀態(tài)時,計數(shù)器清零,輸出00000000。2)同步置數(shù)程序的實現(xiàn):
當計數(shù)器達成狀態(tài),當計數(shù)器達成狀態(tài)"00111011"時,1d被賦值為0,執(zhí)行置數(shù)功能,
將d的值賦值給y,計數(shù)器從零開始計數(shù)。
實驗四VHDL層次化設計方法實驗
實驗內容:
設計一個8位移位寄存器。各個D觸發(fā)器模塊采用VHDL語言編寫,分別用原理圖、VHDL
語言元件例化語句和生成語句的方法實現(xiàn)8位移位寄存器的設計。
D觸發(fā)器源程序:
libraryIEEE;
useIEEE.STD_L0GIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_L0GIC_UNSIGNED.ALL;
Uncommentthefoilowinglinestousethedec1arationsthatare
-providedforinstantiatingXilinxprimitivecomponents.
--1ibraryUNISIM;
—useUNISIM.VComponents.all;
entityDehuis
Port(CLK:inSTD_L0GIC;
D:inSTD_LOGIC;
Q:outSTDLOGIC;
CLEAR:inSTD_L0GIC;
Q_N:outSTDLOGIC);
endDehu;
ARCHITECTUREBEUOFDchuIS
oSIGNALQ1:STD_LOGIC;
BEGIN
PROCESS(CLEAR,CLK,QI)
BEGIN
。IFCLEAR='O'
THENQl<=0*;
ELSIFCLK,EVENTANDCLK='f
。WHENQI<=D;
ENDIF;
ENDPROCESS;
。Q〈二Q1;
oQ_N<=notQ1;
ooENDBEH;
波形圖:
D觸發(fā)器:
八位移位寄存器:
-Z0CLEARU1I_
elkU1廠_rn_rn__n_rn_oL_r_L_rnL-rnL_m_r-i_rn_rn
22DB1i____
"3QOU0_?i___??_
QIU0__??__ii_
05Q2U0_?i___?i___?i_
<>6Q3U0J???i__j_1_
07Q4U0L_?I___?i___?i_i
Q8Q5U0Ji??i?rn??
09Q6V0?i?i_______j"i_f
10Q7U1_li??LJ-Lj?1
八位移位寄存器原理圖:
元件例化:
1ibraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
---Uncommentthefollowing1inestousethedeclarationsthat
—providedforinstantiatingXilinxprimitivecomponents.
-libraryUNISIM;
一useUNISIM.VComponents.al1;
entityshift_reg_8_comis
Port(a,c1k,rst:inSTDLOGIC;
b:outSTD_LOGIC);
endshift_reg_8_com;
ARCHITECTUREBEHOFshift_reg_8_comIS
0componentdff1
Port(d,elk,rst:inSTDLOGIC;
q:outSTD_LOGIC);
Endcomponent;
Signalq:STD_L0GIC_VECTOR(8D0WNT00);
BEGIN
oq(0)<=a;
dO:dff1PORTMAP(q(O),clk,rst,q(l));
d1:dfflPORTMAP(q(1),elk,rst,q(2));
d2:dff1PORTMAP(q(2),elk,rst,q(3));
d3:dfflPORTMAP(q(3),clk,rst,q(4));
d4:dff1PORTMAP(q(4),elk,rst,q(5));
d5:dff1PORTMAP(q(5),c1k,rst,q(6));
d6:dfflPORTMAP(q(6),c1k,rst,q(7));
d7:dfflPORTMAP(q(7),clk,rst,q(8));
b<=q(4);
Endstr;
生成語句:
libraryIEEE;
useIEEE.STD_L0GIC_1164.ALL;
useIEEE.S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級班委會的建設與培養(yǎng)計劃
- 企業(yè)安全文化建設與保安工作關系計劃
- 工作計劃與目標達成的關系
- 生物催化過程優(yōu)化與控制的原則
- 2025年內螺紋銅管項目合作計劃書
- 餐飲行業(yè)供應鏈優(yōu)化解決方案協(xié)議
- Soyasaponin-Aa-Standard-生命科學試劑-MCE
- 2-Hydroxy-atrazine-Standard-生命科學試劑-MCE
- 私人醫(yī)生健康管理服務合同
- 小學高年級語文寫作技巧征文
- 白酒加工小作坊整治工作方案
- 成人住院患者靜脈血栓栓塞癥預防護理
- 四年級數(shù)學(四則混合運算)計算題專項練習與答案匯編
- 國家基本公共衛(wèi)生服務項目績效考核課件
- 孕產婦深靜脈血栓預防與護理課件
- 研發(fā)運營一體化DevOps能力成熟度模型評估(完整版)
- 班級管理課件:班級組織的建設
- 《3-6歲兒童學習與發(fā)展指南》健康領域內容目標與指導
- 《共圓中國夢》示范課教學設計【部編人教版九年級道德與法治上冊】
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗的標準大氣條件
- 《云臺山地質公園》課件
評論
0/150
提交評論