EDA实验报告(12份)_第1页
EDA实验报告(12份)_第2页
EDA实验报告(12份)_第3页
EDA实验报告(12份)_第4页
EDA实验报告(12份)_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、end en tity mux21a; architecture one of mux21a is begin y=a whe n s=0 else b ; end architecture one ; Rpf 灼切nn亂 丨“材Time I珈眄 1 IrlnrvnlI 百尸?町AT 实验一组合电路的设计 1. 实验目的:熟悉 MAX + plus II的VHDL文本设计流程全过程,学习简单组合电路的设 计、多层次电路设计、仿真和硬件测试。 2. 实验内容:设计一个 2选1多路选择器,并进行仿真测试,给出仿真波形。 3. 实验程序如下: library ieee; use ieee.std_l

2、ogic_1164.all; en tity mux21a is p ort(a,b,s:i n std_logic; y:out std_logic); 4. 仿真波形(如图1-1所示) 2DC Dns p rocess(clk,e n,D) begin if clkeve nt and clk=1 the n if en =0the n K=D; end if; end if; end p rocess; B=K; end one; Njec: en 匚 k O 0 |D Q帕 斗Hl Dns330nns 1 2u= 1 6us 2 4lis S.arjs a )L 1 y, 6 s X

3、I 17 * Z1 ?5 0 K 1 * 5 * X 13 I 17 21 图2-18位锁存器仿真波形 Nrrh WLIOrKt d Eoo.ont ll nnrLrLn_rLnLr_rLrurLrLrjwurLrLnJLnrLrLrLrLrL n_77jn_n_n_n_nLn_rLrLn_rL_rL rLrnuuLjnnnjiLTLrLnnnjinjLn 图1-12选1多路选择器仿真波形 5.试验总结: 从仿真波形可以看出此 2选1多路选择器是当s为低电平时,y输出为b,当s为高电平 时,y输出为a(y=a when s=0 else b完成2路选择输出。 实验二时序电路的设计 1. 实验目

4、的:熟悉 MAX + plus II VHDL文本设计过程,学习简单的时序电路设计、仿真和 测试。 2. 实验验内容:设计一个锁存器,并进行仿真测试,给出仿真波形。 3. 实验程序如下: library ieee; use ieee.std_logic_1164.all; en tity suoc un7 is po rt(clk: in std_logic; en: in std_logic; D: in std_logic_vector(7 dow nto 0); B:out std_logic_vector(7 dow nto 0); end suoc un7; architecture

5、 one of suoc un7 is sig nal K: std_logic_vector(7 dow nto 0); begin 4. 仿真波形(如图2-1所示) IT |d Oil峠 5实验总结: 此程序完成的是一个8位锁存器,当时钟上升沿到来(clkevent and clk=1)、使能端为 低电平(en =0、时,输出为时钟上升沿时的前一个数,从仿真波形看,实现了此功能。 实验三异步清零和同步时钟使能的加法计数器的设计 1. 实验目的:学习计数器的设计、仿真和硬件测实,进一步熟悉VHDL设计技术。 2. 实验内容:设计一个6位加法计数器,并进行仿真测试,给出仿真波形。 3. 实验程

6、序如下: library ieee; use ieee.std_logic_1164.all; en tity cnt6 is port (clk,e nb,clr:i n bit; q: buffer in teger range 63 dow nto 0; cout: out bit); end cn t6; architecture one of cnt6 is begin pro cess(clk,clr,e nb) begin 4. 仿真波形(如图3-1所示) if clr=Othen q=0; elsif clkeve nt and clk=1 the n if en b=1 th

7、en if q=63 then q=0;cout=1; else qn J INF仃 ir - J I加T AC 4 I ACO 的imn E左O cL i.一, E - ch 【 图4-21位全加器设计原理图 coji ESI m二顾二 訂A3,:1 - I I - - I - -.! I 1 日阳ub瀬 ;efaddb i|b:S-1 3Llk|e.1 COUT 匸二 SUHp 图5-12位十进制频率计设计原理图 5-2所示) Jq lA -i 丄 N U I- 7- 二 2 h心” tfl 啄址j 旨III A -;l *才 4 njir a N q q q q q q q q q q

8、nu II; end case; end pro cess; end one; 1 NJrm E 严T Qm #3? CHS nno5s1 】a 1 1 i 3 i 1 1 占i E 1 7iB勺 證* cuoo 11 f IInil Ximumi 1 Itrileidl Rd FSiii 图6-17段数码显示译码器仿真波形 I rrifi |0Ch6 5.实验总结 输出信号q的7位分别接数码管的 例如q输出为“ 1101101 ”时,数码管的 的段发亮,数码管显示“ 5 ”。 7个段 g、f、e、d、c、b、a,高位在左,低位在右。 7个段分别接1、1、0、1、1、0、1,接有高电平 数控分

9、频器的设计 实验七 1. 实验目的:学习数控分频器的设计、分析和测试方法。 2. 实验内容:设计一个数控分频器,并进行仿真测试,给出仿真波形。 3. 实验程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY P ULSE IS PORT ( CLK: IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); FOUT : OUT STD_LOGIC ); END; ARCHITECTURE one OF P ULSE IS CN

10、T8 := D; FULL = 1; ELSE CNT8 := CNT8 + 1; FULL = 0; END IF; END IF; END P ROCESS P_REG ; P_DIV: P ROCESS(FULL) VARIABLE CNT2 : STD_LOGIC; BEGIN SIGNAL FULL : STD_LOGIC; BEGIN P_REG: P ROCESS(CLK) VARIABLECNT8 STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK = 1 THEN IF CNT8 = 11111111 THEN IF

11、 FULLEVENT AND FULL = 1 THEN CNT2 := NOT CNT2; IF CNT2 = 1 THEN FOUT = 1; ELSE FOUT .Mianxifi2Abromd.mif 1PM_MUMWORDS=64 IPM.O UTDATAf-U NRECI STEE ED PM_winH=a :LPMWIOTHAD=6 :MP Iff 图8-1正弦波发生器原理图 LPM_ROM中的波形数据文件(.mif文件): width=8; dep th=64; address_radix=hex; data_radix=hex; content begi n 0:ff; 1:

12、fe; 2:fc; 3:f9; 4:f5; 5:f0; 6:ea; 7:e3; c:cf; d:c2; e:b4; f:a5; 10:95; 11:84; 12:72; 13:59; 14:45; 15:30; 16:14 17:0; 18:18; 8:db; 9:d2; a:c8; 19:31; 1a:4b; en d; b:db; 出 Add轉沾胃DI JXH _rcrn:J(Gr .U 耳比Jnp 詁冨袒rk”由 W 胡;4占 W即j H 姑fW丄卫和 市HET罚帀艾777访K IE工归ifisrr寸艺rr苛莎 Ig . I -回 iiTJ fry盲 a jfrr k“护口甸帀 $”韦i

13、f茹i苛书苛莎 - h tr可f葩?钉 Y pg #eTY宿庐眾訂T可f cTig聞高传 4. 仿真波形(如图8-2所示) Il EM Te IIJQjQit lorri QZ0| 图8-2正弦波发生器仿真波形 5.实验总结 信号发生器结构包含两个部分:ROM的地址信号发生器,由 6位计数器担任;一个正 弦数据 ROM,由LPM_ROM 模块构成。LPM_ROM 底层是FPGA中的EAB、ESB或M4K 等模块。地址发生器的时钟 CLK的输入频率fO与每周期的波形数据点数(在此选择64点), 以及D/A输出的频率f的关系是f=f0/64 。 实验九 8位十六进制频率设计 1. 实验目的:学习较

14、复杂的数字系统设计方法。 并进行仿真测试,给出仿真波形。 2. 实验内容:设计一个 8位十六进制频率计, 3. 实验程序如下: BEGIN IBRARY IEEE;-32 位计数器 USE IEEE.STD_LOGIC_1164.ALL; P ROCESS(CLR, FIN, ENABL) USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER32B IS P ORT (FIN : IN STD_LOGIC; CLR : IN STD_LOGIC; ENABL : IN STD_LOGIC; DOUT : OUT STD_LOGIC_VECTOR(31

15、DOWNTO 0); END COUNTER32B; ARCHITECTURE behav OF COUNTER32B IS SIGNAL CQI STD_LOGIC_VECTOR(31 0); BEGIN IF CLR = 1 THEN CQI ELSIF FINEVENT AND FIN = 1 THEN IF ENABL = 1 THEN CQI = CQI + 1; END IF; END IF; END P ROCESS; DOUT = CQI ; END behav; DOWNTO 0); LIBRARY IEEE;-测频控制器 USE IEEE.STD_LOGIC_1164.AL

16、L; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FTCTRL IS P ORT (CLKK : IN STD_LOGIC;- 1Hz CNT_EN,RST_CNT,LOAD : OUT STD_LOGIC); END FTCTRL; ARCHITECTURE behav OF FTCTRL IS SIGNAL DIV2CLK : STD_LOGIC; BEGIN P ROCESS( CLKK ) BEGIN IF CLKKEVENT AND CLKK = 1 THEN DIV2CLK = NOT DIV2CLK; END IF; END P ROCESS;

17、 P ROCESS (CLKK, DIV2CLK) BEGIN IF CLKK=0 AND Div2CLK=0 THEN RST_CNT = 1; ELSE RST_CNT = 0; END IF; END P ROCESS; LOAD= NOT DIV2CLK ; LIBRARY IEEE; -32 位锁存器 ARCHITECTURE behav OF REG32B IS USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B IS P ORT (LK: IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(31 BEGIN P ROCE

18、SS(LK, DIN) BEGIN IF LKEVENT AND LK = 1 THEN DOUT CLK1HZ,CNT_EN =TSTEN1, RST_CNT =CLR_CNT1,Load =Load1); U2:REG32B P ORT MAP (LK=Load1,DIN =DTO1,DOUT =DOUT); U3:COUNTER32B P ORT MAP (FIN =FSIN,CLR =CLR_CNT1, END COMPO NENT; ENABL =TSTEN1,DOUT =DTO1); END struc; COMPO NENT REG32B 4、仿真波形(如图9-1所示) i|*i

19、 jiSQKrm#Zt | 年;IEyKi A1 =-*5 -L 31:电?詐扌“ :. 1 _ J 1 + 1 电 m丨 J E 1- - ! 步Ul L b r aTnoffmffiLmmafrxjConnoimTi n L. r : .X. i, 5 osEEBaiwuucirtKiffiEirsEomcni n 比I任卫応d丁 -I iTKr r ;J,- 5. 普 T. i ij ” v Q 刊心 (- st- 甘 r. -t a 弘血M hb jjl f. I i M-i If 图9-18位十六进制频率计 5、实验总结 FTCTRL的计数使能信号 CNT_EN能产生一个1S脉宽的周

20、期信号,并对频率计中的 32位2进制计数器 COUNTER32B的ENABL使能端进行同步控制。当 CNT_EN高电平时 允许计数;低电平时停止计数, 并保持其所计的脉冲数。在停止计数期间,首先需要一个锁 的十六进制7段译码器译出, 期性的清零信号而不断闪烁。 为下一秒的计数操作做准备。 存信号LOAD的上跳没将计数器在前一秒钟的计数值锁存进锁存器REG32B中,并由外部 显示计数值。设置锁存器的好处是数据显示稳定,不会由于周 锁存信号后,必须有一清零信号 RST_CNT对计数器进行清零, 实验十 序列检测器的设计 1. 实验目的:用状态机实现序列检测器的设计,了解一般状态机的设计与应用。 2

21、. 实验内容:设计一个 8位码的序列检测器,并进行仿真测试,给出仿真波形。 3. 实验程序如下: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SCHK IS ELSE Q IF DIN = D(4) THEN Q P ORT( DIN,CLK,CLR: IN STD_LOGIC; AB: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END SCHK; ARCHITECTURE behav OF SCHK IS SIGNAL Q: INTEGER RANGE 0 TO 8; SIGNAL D: STD_LOGIC_

22、VECTOR(7 DOWNTO 0); BEGIN D = 11100101; P ROCESS( CLK, CLR ) BEGIN IF CLR = 1 THEN ELSIF CLKEVENT THEN Q IF DIN = D(7) THEN Q =1; ELSE Q IF DIN = D(6) THEN Q =2; ELSE Q IF DIN = D(5) THEN Q =3; 4. 仿真波形(如图10-1所示) =4; ELSE Q IF DIN = D(3) THEN Q =5; ELSE Q IF DIN = D(2) THEN Q =6; ELSE Q IF DIN = D(1)

23、 THEN Q =7; ELSE Q IF DIN = D(0) THEN Q =8; ELSE Q Q = 0; END CASE ; END IF ; END P ROCESS ; P ROCESS( Q ) BEGIN IF Q = 8 THEN AB = 1010; ELSE AB f*J t吋莎冷视 *!恒斗 賦心*:札I驴兀*L 丄口:”、 0 11 TONE模块和SPEAKER模块。 其中TONE模块和 实验十一硬件电子琴电路设计 1. 实验目的:学习利用数控分频器设计硬件电子琴实验。 2. 实验内容:设计一个电子琴,并进行仿真测试,给出仿真波形。 3. 实验原理如下: 主系统由

24、2个模块组成(如图11-1所示): 图11-1硬件电子琴原理图 描述语言如下: 沖 CUTLpKI; - =- - -= - - - - - - 亠匚丄UJ丄厂LFLXUim i-lII - *II i iin“ Bl- II !I 图10-18位码的序列检测器仿真波形 5. 实验总结 当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相 同,则输出A,否则输出B。由于这种检测的关键在于正确码的收到必须是连续的,这就要 求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与 预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始

25、检测。本 实验描述的电路完成对序列数 11100101的检测,当这一串序列数高位在前(左移)串行进 入检测器后,若此数与预置的密码数相同,则输出“A”,否则仍然输出“ B”。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY Tone IS PORT (In dex: IN STD_LOGIC_VECTOR(7 DOWNTO 0); CODE : OUT INTEGER RANGE 0 TO 15; HIGH : OUT STD_LOGIC; Tone: OUT INTEGER RANGE 0 TO 16#7FF# ); END; ARCHIT

26、ECTURE one OF Tone IS BEGIN Search : P ROCESS(I ndex) BEGIN CASE Index IS WHEN 00000001 = Tone = 773; CODE = 1; HIGH Tone = 912; CODE = 2; HIGH Tone = 1036; CODE = 3; HIGH Tone = 1116; CODE = 4; HIGH Tone = 1197; CODE = 5; HIGH Tone = 1290; CODE = 6; HIGH Tone = 1372; CODE = 7; HIGH Tone = 1410; COD

27、E = 1; HIGH Tone = 2047; CODE = 0; HIGH = 0; END CASE; END P ROCESS; END; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY Sp eaker IS PORT (clk1: IN STD_LOGIC; Tone1: IN INTEGER RANGE 0 TO VARIABLECou nt11 RANGE 0 TO 16#7FF#; BEGIN INTEGER IF PreCLKEVENT AND PreCLK 1 THEN 16#7FF#; Sp kS: OUT STD_L

28、OGIC); END; ARCHITECTURE one OF Sp eaker IS SIGNALP reCLK,FullS pkS STD_LOGIC; BEGIN IF Cou nt11=16#7FF# THEN Coun t11 := Ton e1; FullS pkS = 1; ELSECoun t11:=Co unt11+1; DivideCLK : P ROCESS(clk1) VARIABLE Cou nt4 : INTEGER RANGE 0 TO 15; BEGIN P reCLK 11 THEN P reCLK = 1; Cou nt4 := 0; ELSIF clk1E

29、VENT AND clk1=1 THEN Count4 := Count4 + 1; END IF; END P ROCESS; Ge nSpkS : P ROCESS (P reCLK, Tone1) 4. 仿真波形(图11-2所示) TWiB |1 irim 1 Inline FullS pkS = O; END IF; END IF; END P ROCESS; DelayS pkS : P ROCESS(FullS pkS) VARIABLE Cou nt2 : STD_LOGIC; BEGIN IF FullS pkSEVENT AND FullS pkS = 1 THEN Cou

30、nt2 := NOT Cou nt2; IF Count2 = 1 THEN SpkS = 1; ELSE SpkS = 0; END IF; END IF; END P ROCESS; END; N.jtiu psPiDjr 屈r IIIGH 【醉 INOEKF.QI GC(KJI3 0 砂h山忙DsM 妙(ji. lOICurMlI nr |iorf;T3*|rtti* I 卫xmistixE口ZKzm 0 , ? dift了即师些岭j .:飞?!即;1;e *UKRd 图11-2硬件电子琴仿真波形 5. 实验总结 模块TONE是音阶发生器,当8位发声控制输入INDEX中某一位为高电平时,

31、则对应 某一音阶的数值将从端口 TONE输出,作为获得该音阶的分频预置值;同时由 CODE输出 对应该音阶简谱的显示数码,如5并由HIGH输出指示音阶高8度显示。其语句结构只 是类似与真值表的纯组合电路描述,其中的音阶分频预置值,如Tone = 1290是根据产生该音阶频率所对应的分频比获得的。 模块SPEAKER中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构 成,当模块SPEAKER由端口 TONE获得一个2进制数后,将以此值为计数器的预置数, 对端口 CLK12MHZ输入的频率进行分频,之后由SPKOUT向扬声器输出发声。 实验十二 VGA彩条信号显示控制器设计 1. 实验

32、目的:学习 VGA图像显示控制器的设计。 2. 实验内容:设计一个 VGA图像显示控制器,并进行仿真测试,给出仿真波形。 3. 实验程序如下: GRB(1)=(GRB P(1) XOR MD) AND HS1 AND VS1; P ROCESS( MD ) BEGIN LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COLOR IS P ORT(CLK,MD: IN STD_LOGIC; HS,VS,R,G,B: OUT STD_LOGIC); END COLOR; ARCHI

33、TECTURE behav OF COLOR IS SIGNAL HS1,VS1,FCLK,CCLK STD_LOGIC; SIGNAL MMD:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL DOWNTO 0); SIGNAL DOWNTO 0); SIGNAL DOWNTO 0); SIGNAL FS:STD_L0GIC_VECT0R(3 CC:STD_L0GIC_VECT0R(4 LL:STD_L0GIC_VECT0R(8 GRBX:STD_LOGIC_VECTOR(3 1); SIGNAL DOWNTO IF MDEVENT AND MD=0THEN IF M

34、MD=10THEN MMD=00; ELSE MMD=MMD+1; END IF; END IF; END P ROCESS; P ROCESS( MMD ) BEGIN IF MMD=OO THEN ELSIF MMD=01 GRB P=GRBX; THEN GRB P=GRBY; ELSIF MMD=10 THEN GRB P=GRBX XOR GRBY; ELSE GRB P=000; END IF; END P ROCESS; P ROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1THEN D0WNT0 D0WNT0 GRBY:STD_LOGIC_VECTO

35、R(3 1); SIGNAL GRB P:STD_LOGIC_VECTOR(3 1); SIGNAL GRB:STD_LOGIC_VECTOR(3 DOWNTO 1); BEGIN IF FS=13 THEN FS=OOOO; ELSE FS=(FS+1); END IF; END IF; END P ROCESS; FCLK =FS (3); CCLK=CC (4); P ROCESS(FCLK) BEGIN GRB(2)=(GRB P(2) XOR MD) AND HS1 AND VS1; GRB(3)=(GRB P(3) XOR MD) AND HS1 AND VS1; IF FCLKEVENT AND FCLK=1THEN IF CC=39 THEN CC=00000; ELSE CC=CC+1; END IF; END IF; END P ROCESS; P ROCESS(CCLK) BEGIN IF CCLKEVENT AND CCLK=0THEN IF LL=481 THEN LL=000000000; ELSIF CC6 THEN GRBX=110; ELSIF CC9 THEN GRBX=101; ELSIF CC13 TH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论