基于硬件描述语言的电路设计_第1页
基于硬件描述语言的电路设计_第2页
基于硬件描述语言的电路设计_第3页
基于硬件描述语言的电路设计_第4页
基于硬件描述语言的电路设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

实验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 isport(A,B:IN std_logic;C:OUTstd_logic);END vhdl;Architecture fwm of vhdl isbeginCdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_outdis_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 ISSIGNAL Q1 : STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINPROCESS(clk,RST,Q1,MLZ)BEGINIF RST =0 THEN Q10);COUT=0;ELSIFclkEVENT AND clk=1 THEN IF MLZ=0 THEN Q1=Q1+1;COUT=1111THEN Q10);COUT=1;END IF; ELSIF MLZ=1 THENQ1=Q1-1;COUT=0;IF Q1 =0000THEN Q11);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 ISPORT(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 clkEVENT AND clk=1 THEN cout1:=cout1+1; IF cout1=m THEN tmp1=0; ELSIF cout1m*2 THEN tmp1=1; ELSE cout1:=0; END IF; cout2:=cout2+1; IF cout2=m/10 THEN tmp2=0; ELSIF cout2m/5 THEN tmp2=1; ELSE cout2:=0; END IF;IF AS=1 THEN A=tmp1;ELSE A=tmp2;END IF;END

温馨提示

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

评论

0/150

提交评论