收藏 分销(赏)

基于硬件描述语言的电路设计.doc

上传人:天**** 文档编号:3047107 上传时间:2024-06-14 格式:DOC 页数:6 大小:158.50KB 下载积分:6 金币
下载 相关 举报
基于硬件描述语言的电路设计.doc_第1页
第1页 / 共6页
基于硬件描述语言的电路设计.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
实验3 基于硬件描述语言的电路设计 一、 实验目的 1 、了解可编程数字系统设计的流程; 2 、掌握Quartus II 软件的使用方法; 3 、掌握采用硬件描述语言设计数字系统的方法和流程。 二、实验设备 1、计算机:Quartus II 软件 2、 Altera DE0 三、实验内容 要求1:学习并掌握硬件描述语言(VHDL或Verilog HDL);熟悉门电路的逻辑功能,并用硬件描述语言实现门电路的设计。参考“参考内容1”中给出的与门源程序,编写一个异或门逻辑电路。 1)用QuartusII波形仿真验证; 2)下载到DE0开发板验证。 要求2:熟悉中规模器件译码器的逻辑功能,用硬件描述语言实现其设计。参考“参考内容2”中给出的将8421BCD码转换成0-9的七段码译码器源程序,编写一个将二进制码转换成0-F的七段码译码器。 1)用QuartusII波形仿真验证; 2)下载到DE0开发板,利用开发板上的数码管验证。 要求3:熟悉时序电路计数器的逻辑功能,用硬件描述语言实现其设计。参考“参考内容3”中给出的四位二进制加减计数器的源程序,编写一个计数器。 1)用QuartusII波形仿真验证; 2)下载到DE0开发板验证。 要求4:熟悉分频电路的逻辑功能,并用硬件描述语言实现其设计。参考“参考内容4”中给出的50M分频器的源程序,编写一个能实现占空比50%的5M和50M分频器即两个输出,输出信号频率分别为10Hz和1Hz。 1)下载到DE0开发板验证。(提示:利用DE0板上已有的50M晶振作为输入信号,通过开发板上两个的LED灯观察输出信号)。电路框图如下: 四、实验结果 1、用硬件描述语言(VHDL 或Verilog HDL)实现一个异或门电路。 VHDL源程序: Library ieee; use ieee.std_logic_1164.all; entity vhdl is port(A,B:IN std_logic;C:OUTstd_logic); END vhdl; Architecture fwm of vhdl is begin C<=A XOR B; END; 波形图: 引脚对应表 2、用硬件描述语言实现将四位二进制码转换成0-F 的七段码译码器。 VHDL源文件: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY digital IS PORT (data_in:IN STD_LOGIC_VECTOR(3 DOWNTO 0); dis_out:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END digital; ARCHITECTURE fwm OF digital IS BEGIN PROCESS(data_in) BEGIN CASE data_in IS WHEN"0000"=>dis_out<="1000000";--显示 0 WHEN"0001"=>dis_out<="1111001";--显示 1 WHEN"0010"=>dis_out<="0010010";--显示 2 WHEN"0011"=>dis_out<="0000110";--显示 3 WHEN"0100"=>dis_out<="0001101";--显示 4 WHEN"0101"=>dis_out<="0100100";--显示 5 WHEN"0110"=>dis_out<="0100000";--显示 6 WHEN"0111"=>dis_out<="1001110";--显示 7 WHEN"1000"=>dis_out<="0000000";--显示 8 WHEN"1001"=>dis_out<="0000100";--显示 9 WHEN"1010"=>dis_out<="0001000";--显示 A WHEN"1011"=>dis_out<="0100001";--显示 b WHEN"1100"=>dis_out<="1110000";--显示 C WHEN"1101"=>dis_out<="0000011";--显示 d WHEN"1110"=>dis_out<="0110000";--显示 E WHEN"1111"=>dis_out<="0111000";--显示 F WHEN OTHERS=>dis_out<="1111111";--灭灯,不显示 END CASE; END PROCESS; END fwm; 波形图: 引脚对应表: 3、用硬件描述语言实现四位二进制加法或减法计数器,并用一位7段码显示 减法计数器 VHDL源文件 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY EX3 IS PORT ( clk,RST,MLZ : IN STD_LOGIC; DOUT : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); COUT : OUT STD_LOGIC); END EX3; ARCHITECTURE fwm OF EX3 IS SIGNAL Q1 : STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS(clk,RST,Q1,MLZ) BEGIN IF RST ='0' THEN Q1<=(OTHERS =>'0');COUT<='0'; ELSIF clk'EVENT AND clk='1' THEN IF MLZ='0' THEN Q1<=Q1+1; COUT<='0'; IF Q1 >="1111"THEN Q1<=(OTHERS =>'0');COUT<='1'; END IF; ELSIF MLZ='1' THEN Q1<=Q1-1; COUT<='0'; IF Q1 <="0000"THEN Q1<=(OTHERS =>'1');COUT<='1'; END IF; END IF; END IF; END PROCESS; DOUT<=Q1 ; END fwm; 减法计数器波形图: 引脚对应表 CLK对应开发板上的G21引脚 4、用硬件描述语言实现5M 和50M 分频器(占空比为50% ),即两个输出信号频率分别为10Hz 和1Hz。 VHDL源程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY EX4 IS PORT(clk,AS: IN STD_LOGIC; clk_out1: OUT STD_LOGIC); END EX4; ARCHITECTURE fwm OF EX4 IS SIGNAL A: STD_LOGIC; CONSTANT m: INTEGER:=25000000; SIGNAL tmp1: STD_LOGIC; SIGNAL tmp2: STD_LOGIC; BEGIN PROCESS(clk,AS,A) VARIABLE cout1 : INTEGER range 0 to 50000000; VARIABLE cout2 : INTEGER range 0 to 5000000; BEGIN IF clk'EVENT AND clk='1' THEN cout1:=cout1+1; IF cout1<=m THEN tmp1<='0'; ELSIF cout1<m*2 THEN tmp1<='1'; ELSE cout1:=0; END IF; cout2:=cout2+1; IF cout2<=m/10 THEN tmp2<='0'; ELSIF cout2<m/5 THEN tmp2<='1'; ELSE cout2:=0; END IF; IF AS='1' THEN A<=tmp1; ELSE A<=tmp2; END IF; END IF; END PROCESS; clk_out1<=A; END fwm; 五、心得体会 实验结束后要进行验证,利用数码管在电路板上显示出的信息进行验证,确保实验结果的准确性,而且在编译程序时唇线的问题不少,总工会出现编译运行错误,但最终还是完成了。 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服