《数电实验三基于quartus的硬件描述语言电路设计.pdf》由会员分享,可在线阅读,更多相关《数电实验三基于quartus的硬件描述语言电路设计.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数电实验三 基于 Quartus 的硬件描述语言电路设计 一实验目的(1)了解QuartusII的硬件描述语言电路。(2)能用VHDI语言设计电路。二实验设备 实验电路开发板DEQ Quartus仿真软件。三实验要求 要求1:并用硬件描述语言实现异或门电路的设计。1)用QuartusII 波形仿真验证;2)下载到DE0开发板验证。要求2:,编写一个将二进制码转换成0-F的七段码译码器。1)用QuartusII波形仿真验证;2)下载到DE0开发板验证。要求3:编写一个十六进制计数器。1)用QuartusII波形仿真验 证;2)下载到DE0开发板验证。要求4:编写一个能实现占空比50%的5M和50
2、M分频器即两 个输出,输出信号频率分别为 10Hz和1Hz。1)下载到DE0开发板 验证。扩展容:利用已经实现的VHDL模块文件,采用原理图方法,实 现0-F计数自动循环显示,频率10Hz。四实验容 1,异或门 1 匸工BEIAKY IEEE;2 tTSE IEEE.57011154.Ait;3 BE1TTITY obc IS S PORT:IN 5TD_LOGIC;5 匚:OUT STD_匚QGTG亍;6 END abc;7 H ARCHITECTURE rwm OF abc IS 5 H 3EGIK 9 Cdis_outdis_outdis_outdis_outdis_outdis_out
3、dis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_out dis_out=1111111”-灭灯,不显示 END CASE;END PROCESS;END fwm;说明:七段码译码器由7个线段状的LED组成,1表示熄灭,0表示点亮,利用不同位置的LED熄灭和点亮组成0F字符显示;将每一个四位二进制码对应一个相应的七段码输出;波形仿真如下:3,十六进制计数器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTIT
4、Y exa3_3 IS PORT(clk,RST:IN STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-四位计数 COUT:OUT STD_LOGIC);-进位位 END exa3_3;ARCHITECTURE fwm OF exa3_3 IS SIGNAL Q1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk,RST)BEGIN IF RST=O THEN Q1 0);COUT=O;ELSIF clkEVENT AND clk=1 THEN Q1v=Q1+1;COUT=1111 THEN Q1 0
5、);COUT=1;END IF;END IF;END PROCESS;DOUT=Q1;END fwm;说明:Cou nt为进位输出;Rst为清零信号,为0时清零;每计数到1111时输出count=1,Q=0000;波形仿真:4,分频器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY exa3_4 IS PORT(clk:IN STD_LOGIC;A,B:IN STD_LOGIC;clk_out1:OUT STD_LOGIC;clk_out2:OUT STD_LOGIC);END exa3_4;ARCHITECTURE fwm OF exa3_4
6、IS CONSTANT m:INTEGER:=25000000;-50 册频到 1Hz 时=25000000。CONSTANT n:INTEGER:=2500000;-5M 分 频到 10Hz 时=2500000 SIGNAL tmp:STD_LOGIC;SIGNAL tmp1:STD_LOGIC;BEGIN-分频器输出 50M PROCESS(clk,tmp)VARIABLE cout:INTEGER:=0;BEGIN IF A=1 THEN IF clkEVENT AND clk=1 THEN cout:=cout+1;-计数器+1 IF cout=m THEN tmp=0;-计数小于等于
7、 25000000,输出 0 ELSIF coutm*2 THEN tmp=1;-计数小于 50000000,输出 1 ELSE cout:=0;-计数器清零 END IF;END IF;clk_out1v=tmp;END IF;END PROCESS;-分频器输出 5M PROCESS(clk,tmp1)elk A q COOJT A 0 DOUT A 0:-3 A 0 A 0 1 A 0 D A 0 RST A 1 4 3 a-,us 1B-9 us 刃 321 1 1 1 1 1 1 1 1 I II n 1 1 h ii a i i i I I 1 1 1 1 1 1 1 1 II V
8、alufr 1 14.96 VARIABLE cout:INTEGER:=0;BEGIN IF B=1 THEN IF clkEVENT AND clk=1 THEN cout:=cout+1;-计数器+1 IF cout=n THEN tmp1=0;-计数小于等于 2500000,输出 0 ELSIF coutn*2 THEN tmp1=1:-计数小于 5000000,输出 1 ELSE cout:=0;-计数器清零 END IF;END IF;clk_out2v=tmp1;END IF;END PROCESS;END fwm;说明:A,B为两个开关,当 A=1时,clk_out1:10HZ
9、输出,当B=1时,clk_out2:1HZ 输出;5,扩展要求 说明:信号clk先经过分频器exa3_4。A、B分别为10HZ 1HZ输出开关。分频后的clk_out1,2分别通过16进制计数器exa3_3和七段码译码 器exa3_2。RD为计数清零信号。CQ CO1为进位输出。该电路可实 现选择两种分频分别或同时输出显示。五实验总结 Qlh ixxjrp.j RET COJT ikSt4 b 11MWI i nSr DOUTM 属 COUT r RST _:扌 iFBtS rF亍 JiirininriHqiirriiiBiiriiiirniiiiiirqiainmiiiipiiiiirBtFiiH-iiiii-a tljtfln(3.,Q;住.Q jr=S-CC J PIN.1 通过此次实验,掌握了 Quartus硬件描述语言的基础语句。学会 了利用硬件描述语言设计简单电路并仿真。及利用生成的原理框图将 各个模块组合,设计新的电路图。