十六进制7段数码显示译码器设计实验报告

合集下载

七段数码显示器显示实验报告

七段数码显示器显示实验报告

七段数码显示器显示实验报告单片机原理及接口技术实验报告实验项目:姓名:专业:班级:学号:一、实验名称七段数码显示器显示实验(SPI通信方式)二、实验设备PC机1台,CEPARK畅学系列实验装置1套三、实验目的1.熟悉I/O口作为数字量输出的初始化;2.熟悉共阳极与共阴极两种数码管的工作原理;3.学会软硬件的设计和调试方法;4.根据七段数码管的特性,对应出每个数字引脚输出的16进制码,然后编写程序。

四、实验要求1.将0-9这十个数字按顺序依次在数码管上显示出来,时间间隔为0.5S;2.熟悉延时函数的使用(可用for循环自己写一个延时函数);3.掌握PIC16F877A芯片及电子元件的使用方法;4.实现单片机软件与硬件的结合,将理论知识应用于实践。

五、理论原理1.LED七段数码显示器由8个发光二极管组成显示字段,根据内部发光二极管的连接形式不同,LED有共阴极和共阳极两种(原理图如下图1所示)。

(实验板采用的LED为共阳极的连接方式)图1.单个共阳极数码管原理图2.接口说明:接口编号为JP44,需要一个8位端口(A~G、DP)去控制,因此提供给LED的字形码也是8位的。

数码管各段编号如下图2所示:图2.数码管各段编号3.LED七段数码显示器各字段与控制端口位的对应关系如下表1所示:表1. 七段数码显示器各字段与控制端口位的对应关系控制端口位D7 D6 D5 D4 D3 D2 D1 D0 字段名dp g f e d c b a 4.共阳极LED七段数码显示器字形代码如下表2所示:字形显示编码字形显示编码0 C0H 9 90H1 F9H A 88H2 A4H b 83H3 B0H C C6H4 99H d A1H5 92H E 86H6 82H F 8EH7 F8H .(小数点)7FH8 80H -(负号)BFH六、实验内容步骤1.接线说明核心板RD口接底板JP15,具体为:RD0-A,RD1-B,RD2-C,RD3-D,RD4-E,RD5-F,RD6-G,RD7-DP2.创建项目打开MPLAB IDE v8.90 →选择Project,进入Project Wizard,进入下面的界面,单击下一步。

实验五-7段数码显示译码器设计

实验五-7段数码显示译码器设计

实验五7段数码显示译码器设计实验报告一、实验要求1、GW48实验箱2、写出7段数码显示译码器程序3、总结实验步骤和实验结果二、实验内容1、说明例中各语句的含义,以及该例的整体功能。

在max+plus2或quartus2上对以下该例进行编辑、编译、综合、适配仿真,给出其所有信号的时序仿真波形。

module zdw(in,out);output [6:0]out;input [3:0]in;reg[6:0]out;always@(in)begincase(in)4'd0: out=7'b1111110;4'd1: out=7'b0110000;4'd2: out=7'b1101101;4'd3: out=7'b1111001;4'd4: out=7'b0110011;4'd5: out=7'b1011011;4'd6: out=7'b1011111;4'd7: out=7'b1110000;4'd8: out=7'b1111111;4'd9: out=7'b1111011;4'd10: out=7'b1110111;4'd11: out=7'b0011111;4'd12: out=7'b1001110;4'd13: out=7'b0111101;4'd14: out=7'b1001111;4'd15: out=7'b1000111;default: out=7'bx;endcaseendendmodule2、引脚锁定以及硬件下载测试。

建议选实验电路模式6,用数码8显示译码输出(PIO46—PIO40)。

键8,键7,键6,键5四位控制输入,硬件验证译码器的工作性能。

十六进制7段数码显示译码器设计

十六进制7段数码显示译码器设计

十六进制7段数码显示译码器设计一、实验目的1.学习7段数码显示译码器的Verilog的设计,并掌握其原理方法2.学习使用QuartusⅡ软件3.学习设计仿真软件的正确使用方法二、实验原理7段显示译码器是纯组合电路。

通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码器,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD 来实现。

所以首先要设计一段程序(参考以下的真值表1)。

设输入的4位码为A[3:0],输出控制7段共阴数码管的7位数码管的7位数据为LED7S的7位分别接图的共阴数码管的7个段,高位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。

这里没有考虑或者表示小数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。

表1 7段译码器真值表输入码输出码代表数据0000 0111111 00001 0000110 10010 1011011 20011 1001111 30100 1100110 40101 1101101 50110 1111101 60111 0000111 71000 1111111 81001 1101111 91010 1110111 A1011 1111100 B1100 0111001 C1101 1011110 D1110 1111001 E1111 1110001 F三、实验任务将设计好的Verilog译码器程序在QuartusⅡ上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

四、实验步骤1.新建一个文件夹DECL_DEMO,然后选择File,点击new,再打开Verilog HDL File文件类型。

七段数码显示译码器设计

七段数码显示译码器设计

一、七段数码显示译码器设计(1) 实验目的:学习7段数码显示译码器设计;学习VHDL的CASE语句应用及多层次设计方法。

(2) 实验原理:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

例6-18作为7段译码器,输出信号LED7S的7位分别接如图6-18数码管的7个段,高位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。

注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例6-18中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为... (7 DOWNTO 0) 。

(3) 实验内容1:说明例6-18中各语句的含义,以及该例的整体功能。

在QuartusII上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

提示:用输入总线的方式给出输入信号仿真数据,仿真波形示例图如图6-17所示。

图7段译码器仿真波形【例6-18】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DECL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;END ;ARCHITECTURE one OF DECL7S ISBEGINPROCESS( A )BEGINCASE A ISWHEN "0000" => LED7S <= "0111111" ;WHEN "0001" => LED7S <= "0000110" ;WHEN "0010" => LED7S <= "1011011" ;WHEN "0011" => LED7S <= "1001111" ;WHEN "0100" => LED7S <= "1100110" ;WHEN "0101" => LED7S <= "1101101" ;WHEN "0110" => LED7S <= "1111101" ;WHEN "0111" => LED7S <= "0000111" ;WHEN "1000" => LED7S <= "1111111" ;WHEN "1001" => LED7S <= "1101111" ;WHEN "1010" => LED7S <= "1110111" ;WHEN "1011" => LED7S <= "1111100" ;WHEN "1100" => LED7S <= "0111001" ;WHEN "1101" => LED7S <= "1011110" ;WHEN "1110" => LED7S <= "1111001" ;WHEN "1111" => LED7S <= "1110001" ;WHEN OTHERS => NULL ;END CASE ;END PROCESS ;END ;(4) 实验内容2:引脚锁定及硬件测试。

十六进制7段数码显示译码器设计实验报告

十六进制7段数码显示译码器设计实验报告

十六进制7段数码显示译码器设计实验报告实验报告:十六进制7段数码显示译码器设计一、实验目的本实验的主要目的是设计一种用于将十六进制数码转化为七段显示的译码器电路。

通过这个实验,我们可以学习和了解数字电路的工作原理、数码管的控制方式以及七段数码的译码方法。

二、实验原理本实验所用到的数码管为共阳数码管,它由7个发光二极管组成,其中的每一个发光二极管称为一个段。

这七个段依次为a、b、c、d、e、f和g,它们分别对应数码管上的abcdefg七个引脚。

当一些引脚输出高电平时,相应的段就会被点亮,从而显示出特定的字符。

为了实现将十六进制数码转化为七段显示的功能,我们需要设计一个译码器电路。

译码器电路的输入为十六进制数码,输出为七段信号,用于控制数码管的每个段的亮灭情况。

为了简化设计,我们可以采用CMOS数字集成电路74LS47来实现译码器电路。

该集成电路内部集成了BCD转七段译码器,可以将二进制代码转化为七段数码显示所需要的信号。

它的输入为四个二进制输入端口A、B、C和D,输出为七个段芯片(a、b、c、d、e、f和g)的控制信号。

三、实验步骤1.首先,根据74LS47的真值表,确定译码器的输入和输出。

2.根据真值表,画出逻辑图,确定硬件电路的连接方式。

3.按照逻辑图和电路连接方式,进行硬件电路的布线。

4.按照实验仪器的操作说明,对电路进行调试和测试。

5.将输入端口连接至外部的十六进制信号源,观察输出端口的数据是否正确。

6.验证电路的正确性和稳定性,如果出现问题,进行排除和修复。

四、实验结果经过实验,我们成功地设计并实现了一个十六进制7段数码显示译码器电路。

当输入端口接收到一个十六进制信号时,通过电路的处理和转换,将其转化为了相应的七段信号,用于控制数码管的每个段的亮灭情况。

通过实验观察,我们发现电路的输出结果与预期一致,且工作稳定。

五、实验总结通过这个实验,我们对于数字电路的工作原理和数码管的控制方式有了更深的了解。

eda实验7段数码显示译码器

eda实验7段数码显示译码器

《EDA技术实用教程》实验报告实验一、7段数码显示译码器一、实验目的(1) 熟悉QuartusⅡ软件应用环境,了解实验流程。

(2) 编写简单的VHDL代码,并在QuartusⅡ中进行调试和验证,并在EDA6000中下载代码和验证。

(3) 学习7段数码显示译码器的设计。

二、实验原理7段数码管是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能做十进制BCD译码,然而数字系统中的处理和运算都是二进制,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

本实验中的7段译码管输出信号LED7S 的7位分别接数码管的7个段,高位在左,低位在右。

三、实验仪器南京伟福实业有限公司生产EDA2000/6000试验仪EDA6000相关软件和试验仪连接线和ByteBlaster[MV]连接线四、实验步骤与结果1、创建文件夹并编辑设计文件在D盘中创建文件夹取名ex4。

打开QuartusⅡ,选择菜单File中New。

在New窗口中的Device Design File中选择语言类型VHDL File。

在该编译窗口中键入本实验程序。

将其保存在D盘的ex4文件夹里。

文件名与实体名一致,类型为vhd。

程序如下LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DecL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;END ;ARCHITECTURE one OF DecL7S ISBEGINPROCESS( A )BEGINCASE A(3 DOWNTO 0) ISWHEN "0000" => LED7S <= "0111111" ; -- X"3F"'0WHEN "0001" => LED7S <= "0000110" ; -- X"06"'1WHEN "0010" => LED7S <= "1011011" ; -- X"5B"'2WHEN "0011" => LED7S <= "1001111" ; -- X"4F"'3WHEN "0100" => LED7S <= "1100110" ; -- X"66"'4WHEN "0101" => LED7S <= "1101101" ; -- X"6D"'5WHEN "0110" => LED7S <= "1111101" ; -- X"7D"'6WHEN "0111" => LED7S <= "0000111" ; -- X"07"'7WHEN "1000" => LED7S <= "1111111" ; -- X"7F"'8WHEN "1001" => LED7S <= "1101111" ; -- X"6F"'9WHEN OTHERS => NULL ;END CASE ;END PROCESS ;END ;2、创建工程(1)选择菜单File中New Project Wizard命令,在如下“工程设置”对话框中单击右侧“…”按钮,找到文件夹D:\ex4,选中已存盘的ex4.vhd的文件。

实验报告模板:实验二7段数码显示译码器

实验报告模板:实验二7段数码显示译码器

班级:2011145 学号:201114507 姓名:许飞祥实验二7段数码显示译码器【实验目的】1.设计七段显示译码器,并在实验板上验证2.学习V erilog HDL文本文件进行逻辑设计输入;3.学习设计仿真工具的使用方法;【实验内容】1.实现BCD/七段显示译码器的“Verilog ”语言设计。

说明:7段显示译码器的输入为:IN0…IN3共5根,7段译码器的逻辑表同学自行设计,要求实现功能为:输入“0…15 ”(二进制),输出“0…9…F ”(显示数码),输出结果应在数码管(共阴)上显示出来。

2.使用工具为译码器建立一个元件符号3.设计仿真文件,进行验证。

4.编程下载并在实验箱上进行验证。

【实验原理】1:首先新建文件:并且全程编译成功。

:2:创建波形文件,然后进行波形仿真,以下是仿真结果。

班级:2011145 学号:201114507 姓名:许飞祥3:管脚分配班级:2011145 学号:201114507 姓名:许飞祥4:编译文件下载班级:2011145 学号:201114507 姓名:许飞祥【程序源代码】(加注释)module Led7s(DIN,Led7);input[3:0] DIN;output[6:0] Led7;reg[6:0] Led7;always@(DIN)case(DIN)4'b0000:Led7=7'b0111111;//04'b0001:Led7=7'b0000110;//14'b0010:Led7=7'b1011011;//24'b0011:Led7=7'b1001111;//3班级:2011145 学号:201114507 姓名:许飞祥4'b0100:Led7=7'b1100110;//44'b0101:Led7=7'b1101101;//54'b0110:Led7=7'b1111101;//64'b0111:Led7=7'b0000111;//74'b1000:Led7=7'b1111111;//84'b1001:Led7=7'b1101111;//94'b1010:Led7=7'b1110111;//A4'b1011:Led7=7'b1111100;//b4'b1100:Led7=7'b0111001;//c4'b1101:Led7=7'b1011110;//d4'b1110:Led7=7'b1111001;//E4'b1111:Led7=7'b1110001;//Fdefault:Led7=7'b0000000;endcaseendmodule【仿真和测试结果】当配置成功后,在EDA6000启动,当点击屏幕上DIN键时,八段数码管会从0到9数字变化,然后字母从A到F变化,在仿真板上也可以看到。

十六进制7段数码显示译码器设计实验报告

十六进制7段数码显示译码器设计实验报告

实验目的与要求实验名称:十六进制7段数码显示译码器设计实验目的:学习7段数码显示译码器的V erilog硬件设计。

实验原理7段数码是纯组合电路。

设输入的4位码为A[3:0],输出控制7段共阴数码管的7位数据为LEDS[6:0]。

输出信号LEDS的7位分别接共阴数码管的7个段,高位在左,低位在右实验内容1、编辑和输入设计文件新建文件夹——输入源程序——文件存盘源程序:module LED(A,LED7S);input [3:0]A;output [6:0]LED7S;reg [6:0]LED7S;always @ (A)begin: LEDcase(A)4'b0000: LED7S<=7'b0111111;4'b0001: LED7S<=7'b0000110;4'b0010: LED7S<=7'b1011011;4'b0011: LED7S<=7'b1001111;4'b0100: LED7S<=7'b1100110;4'b0101: LED7S<=7'b1101101;4'b0110: LED7S<=7'b1111101;4'b0111: LED7S<=7'b0000111;4'b1000: LED7S<=7'b1111111;4'b1001: LED7S<=7'b1101111;4'b1010: LED7S<=7'b1110111;4'b1011: LED7S<=7'b1111100;4'b1100: LED7S<=7'b0111001;4'b1101: LED7S<=7'b1011110;4'b1110: LED7S<=7'b1111001;4'b1111: LED7S<=7'b1110001;default: LED7S<=7'b0111111;endcaseendendmodule2、创建工程打开并建立新工程管理窗口——将设计文件加入工程中——选择目标芯片——工具设置——结束设置3、全程编译前约束项目设置选择FPGA目标芯片——选择配置器件的工作方式——选择配置器件和编程方式——选择目标器件引脚端口状态——选择V erilog语言版本4、全程综合与编译Processing——Start Compilation启动全程编译5、仿真测试RTL图观察器应用总结与体会通过本次实验,对quartus有了进一步的学习和认识,对V erilog也有了深入了解。

七段数码管显示实验

七段数码管显示实验

实验一七段数码管显示实验(1)实验目的学习7段数码显示译码器设计;学习VHDL的CASE语句应用及多层次设计方法。

(2)实验原理7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是 16进制的,为了满足16进制的译码显示,最方便的方法就是利用译码程序在 FPGA/CPLD中来实现。

7段译码器输出信号 LED7S的7位分别接如图数码管的 7个段,高为在左,低位在右。

如LED7S 输出为“1101101 ”时,数码管的7个段:g、f、e d、c、b、a分别接1、1、0、1、1、0、 1;接有高电平的段发亮,于是数码管显示“ 5”。

(3)实验内容说明下面源代码中各语句的含义,以及该程序的整体功能。

在Quartusll上对该程序进行编辑、编译、综合、适配、仿真,给出起所有信号的时序仿真波形。

提示:用输入总线的方式给出输入信号的仿真数据,仿真波形示例图如图:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;ARCHITECTURE one OF DECL7S ISBEGINPROCESS( A )BEGINCASE A ISWHEN "0000" => LED7S <= "0111111";WHEN "0001" => LED7S <= "0000110";WHEN "0010" => LED7S <= "1011011";WHEN "0011" => LED7S <= "1001111";WHEN "0100" => LED7S <= "1100110";WHEN "0101" => LED7S <= "1101101";WHEN "0110" => LED7S <= "1111101";WHEN "0111" => LED7S <= "0000111";WHEN "1000" => LED7S <= "1111111";WHEN "1001" => LED7S <= "1101111";WHEN "1010" => LED7S <= "1110111";WHEN "1011" => LED7S <= "1111100";WHEN "1100" => LED7S <= "0111001";WHEN "1101" => LED7S <= "1011110";WHEN "1110" => LED7S <= "1111001";WHEN "1111" => LED7S <= "1110001";END CASE;END PROCESS;END;编译得到模块DECL7S:程序运行后可以看到 7段数码管以每秒一次的跳变速度往上自加,到“F”后归“0”。

【实验二】7段数码显示译码器设计

【实验二】7段数码显示译码器设计

实验内容



WHEN "1101" => LED7S<="1011110"; WHEN "1110" => LED7S<="1111001"; WHEN "1111" => LED7S<="1110001"; WHEN OTHERS => NULL; END CASE; END PROCESS; END ONE;
实验原理 PROCESS语句的执行由敏感信号的变化启动,引 导语句被执行一遍,然后返回进程的起始端,进 入等待状态,直到下一次任意敏感信号的变化。
实验原理 3. 7段数码显示译码器设计 7段数码显示器是纯组合电路。为了满足十六进制 数的译码显示,最方便的方法就是利用译码程序 在FPGA/CPLD中实现。7段译码器的VHDL的程 序,A[3..0]是二进制码输入端,LED7S是7段输 出信号。
实验内容



PROCESS(A) BEGIN CASE A IS WHEN "0000" => LED7S<="0111111"; WHEN "0001" => LED7S<="0000110"; WHEN "0010" => LED7S<="1011011"; WHEN "0011" => LED7S<="1001111"; WHEN "0100" => LED7S<="1100110";

EDA实验报告31_十六进制7段数码管显示译码设计

EDA实验报告31_十六进制7段数码管显示译码设计
3.将以上两个底层vhdl文件拷贝到顶层文件nt_7seg_top目录,创建project,用元件例化语句完成顶层电路nt_7seg_top.vhdl的设计,编译、仿真,给出时序波形图,引脚锁定,编程下载,并进行硬件测试
实验结果及分析
1.十六进制计数器计数到“1111”时cout产生进位信号
2.每一次计数对应数码管不同的显示译码输出,由顶层文件nt_7seg_top.vhdl的时序仿真波形图可见,当数码管显示到“71”即对应的十六进制“F”时,计数值清零(rst0 <= ‘0’),数码管重新从“3F”即‘1’递增至‘F’循环显示。
2.输出信号LED_7seg的7位分别接数码管的7个段a-b-c-d-e-f-g(-h),高位在左,低位在右(如果有小数点,增加h段)。由于使用的是共阴极数码管,各个段接高电平时发光,低电平不亮。
实验内容
实验一:十六进制7段数码显示译码设计
1.用VHDL文本输入方法,完成十六进制计数器和7段数码显示译码电路设计
EDA技术与应用实验报告
姓名
学号
专业年级
电子信息工程
实验题目
十六进制7段数码显示译码设计
实验目的
1.学习7段数码显示译码设计和硬件验证
2.通过VHDL语言设计7段数码显示译码电路,进一步掌握层次化设计方法
实验原理
1.数字系统中的数据处理和运算都是二进制的,输出表达为十六进制数。为了满足十六进制数的译码显示,可利用译码程序在FPGA/CPLD中来实现
3.将clk0接到78脚的时钟输出端,可以获得0-1MHz的时钟调节范围,这解决了数码管循环显示过快,看不清译码输出的问题
附录
(原理图或VHDL代码)
实验过程中所遇到的问题及相应的解决方法

实验三七段数码显示译码器的设计

实验三七段数码显示译码器的设计

实验三七段数码显示译码器的设计[实验目的]1、熟悉QuartusII完成基本组合电路的设计;2、学习7段数码显示译码器设计;3、学习VHDL的CASE语句应用及多层次设计方法。

*[实验仪器]PC机、EDA实验箱一台Quartus II 6.0软件[实验内容](1) 实验内容1:说明例6-1中各语句的含义,以及该例的整体功能。

在QuartusII上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

提示:用输入总线的方式给出输入信号仿真数据,仿真波形示如图6-1所示。

(2) 实验内容2:引脚锁定及硬件测试。

建议选GW48系统的实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8、键7、键6和键5四位控制输入,硬件验证译码器的工作性能。

(3) 实验内容3:按图6-3的方式连接成顶层设计电路(用VHDL表述),图中的CNT4B是一个4位二进制加法计数器;模块DECL7S即为例6-1实体元件,重复以上实验过程。

注意图6-3的tmp是4位总线,led是7位总线。

对于引脚锁定和实验,建议选电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接接时钟信号clock0。

[实验原理]7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件,只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

例6-18作为7段译码器,输出信号LED7S的7位分别接如图6-2数码管的7个段,高位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。

注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例6-1中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为... (7 DOWNTO 0) 。

FPGA与数字系统设计-实验六7段数码显示译码器设计

FPGA与数字系统设计-实验六7段数码显示译码器设计

7段数码显示译码器设计1、实验目的熟悉ISE系列软件的设计流程和基本工具使用,学习7段数码显示译码器设计,学习VHDL的CASE语句应用。

2、实验内容7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。

本实验中,7段译码器的数码管采用共阴数码管,而且不考虑小数点的发光管。

其输出信号LED7S的7位分别接数码管的7个段,高电平有效。

例如,当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。

3、实验器材Spartan 3E开发板。

4、实验说明实验中所需要的源文件在本报告附录中。

5、实验步骤步骤1:创建ISE工程(1)启动桌面上的ISE9.1图标,在Project Navigator中选择File→New Project。

(2)在弹出的对话框(见图1)中,设置工程名为ymq7s,工程存放路径为E:\work\,顶层模块类型选择HDL,并单击Next按钮。

图1 ISE工程属性对话框(3)出现图2所示对话框,目标器件选择spartan3E,具体设计如下图。

图2 ISE工程属性对话框(4)一直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。

图3 工程设计总表出现图4,这就是所建立的工程,现在我们需要在里面完成我们的设计。

图4 ISE工程属性对话框步骤2:创建新的VHDL设计文件(1)在ISE用户界面中,选择Project→New Source。

(2)在弹出的对话框(见图5)中,选择VHDL Module作为源程序类型,设置文件名为ymq7s,并单击“下一步”按钮。

图5 VHDL的New Source Wizard(3)点击Next,直到出现图6,直到Finish。

七段数码显示译码器设计

七段数码显示译码器设计

七段数码显示译码器设计一.实验目的学习7段数码显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。

二.实验原理7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD 中实现。

三、实验内容说明程序中各例句的含义,以及该例的整体功能。

在QuartsⅡ上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

(提示:用输入总线的方式给出输入信号仿真数据)最后完成。

实验程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DecL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;END ;ARCHITECTURE one OF DecL7S ISBEGINPROCESS( A )BEGINCASE A(3 DOWNTO 0) ISWHEN "0000" => LED7S <= "1110001"; --FWHEN "0001" => LED7S <= "1111001" ; -- EWHEN "0010" => LED7S <= "1011110"; -- DWHEN "0011" => LED7S <= "0111001" ; -- CWHEN "0100" => LED7S <= "1111100" ; -- bWHEN "0101" => LED7S <= "1110111" ; -- AWHEN "0110" => LED7S <= "1101111"; -- 9WHEN "0111" => LED7S <= "1111111" ; --8WHEN "1000" => LED7S <= "0000111" ; --7WHEN "1001" => LED7S <= "1111101" ; -- 6WHEN "1010" => LED7S <= "1101101" ; -- 5WHEN "1011" => LED7S <= "1100110" ; -- 4WHEN "1100" => LED7S <= "1001111" ; -- 3WHEN "1101" => LED7S <= "1011011" ; -- 2WHEN "1110" => LED7S <= "0000110" ; -- 1WHEN "1111" => LED7S <= "0111111" ; -- 0WHEN OTHERS => NULL ;END CASE ;END PROCESS ;END ;编译仿真硬件测试四.实验结果输入引角表示:A3—8 A2—6 A1—5 A0—4输出引角表示:LED7S6—54 LED7S5—52 LED7S4—51 LED7S3—50 LED7S2—49 LED7S1—48 LED7S0—46当按下A3A2A1A0键时分别表示出0000,0001,0010….1110,1111时,数码管上对应显示出1,2,3….E,F。

7段数码显示译码器

7段数码显示译码器

7段数码显示译码器一、实验目的1.掌握QuartusII的使用使用方法,基本操作。

2.熟练掌握Verilog语言的语法,能够写出基本程序3.学习7段数码显示译码器的Verilog硬件设计,并在试验箱上验证。

二、实验环境1.计算机2.EDA试验箱二、实验原理7段数码是纯组合电路,通常的小规模专用IC,如74或6000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

可设输入4位码位A[3:0],输出控制7段共阴数码管的7位数据位LED7S[6:0].输出信号LED7S的7位分别接图2数码管的7个段,高位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。

注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h。

三、实验内容将设计好的Verilog程序在Quartus II上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形,并在硬件平台上进行测试。

四、实验步骤1.新建一个Verilog HDL文件。

2.创建工程,并将文件添加进去。

3.设置并进行全程编译,修改出错的地方,直到程序正确编译。

4.设置芯片相应的管脚。

5.进行时序和功能仿真。

6.选择试验箱模式4。

7.配置下载。

module seg7(IN,led7);input [3:0] IN;output [6:0] led7;reg[6:0] led7;always @(IN)begincase(IN)4'b0000: led7<=7'b0111111;4'b0001: led7<=7'b0000110;4'b0010: led7<=7'b1011011;4'b0011: led7<=7'b1001111;4'b0100: led7<=7'b1100110;4'b0101: led7<=7'b1101101;4'b0110: led7<=7'b1111101;4'b0111: led7<=7'b0000111;4'b1000: led7<=7'b1111111;4'b1001: led7<=7'b1101111;4'b1010: led7<=7'b1110111;4'b1011: led7<=7'b1111100;4'b1100: led7<=7'b0111001;4'b1101: led7<=7'b1011110;4'b1110: led7<=7'b1111001;4'b1111: led7<=7'b1110001;default: led7<=0;endcaseendendmodule六、实验心得通过本次试验,熟悉了Quartus ii的基本操作,能够熟练的使用Verilog语言设计电路,对EDA软硬件平台有了更深的理解。

实验一七段数码管显示译码器

实验一七段数码管显示译码器

实验⼀七段数码管显⽰译码器实验⼀七段数码显⽰译码器⼀.实验⽬的:1.设计七段显⽰译码器,并在实验板上验证;2.学习Verilog HDL⽂本⽂件进⾏逻辑设计输⼊;3.学习设计仿真⼯具的使⽤⽅法;⼆.实验内容1.实现BCD/七段显⽰译码器的“ Verilog ”语⾔设计。

说明:7段显⽰译码器的输⼊为:IN0…IN3共5根, 7段译码器的逻辑表同学⾃⾏设计,要求实现功能为:输⼊“ 0…15 ”(⼆进制),输出“ 0…9…F ”(显⽰数码),输出结果应在数码管(共阴)上显⽰出来。

2.使⽤⼯具为译码器建⽴⼀个元件符号3.设计仿真⽂件,进⾏验证。

4.编程下载并在实验箱上进⾏验证。

三.实验原理:7段数码是纯组合电路,通常的⼩规模专⽤IC,如74或4000系列的器件只能作⼗进制BCD码译码,然⽽数字系统中的数据处理和运算都是⼆进制的,所以输出表达都是⼗六进制的,为了满⾜⼗六进制数的译码显⽰,最⽅便的⽅法就是利⽤译码程序在FPGA/CPLD 中来实现。

例如6-18作为7段译码器,输出信号LED7S的7位分别接图6-17数码管的7个段,⾼位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有⾼电平的段发亮,于是数码管显⽰“5”。

这⾥没有考虑表⽰⼩数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。

四.实验步骤1.编辑和输⼊设计⽂件新建⽂件夹——输⼊源程序——⽂件存盘2.创建⼯程打开并建⽴新⼯程管理窗⼝——将设计⽂件加⼊⼯程中——选择⽬标芯⽚——⼯具设置——结束设置3.全程编译前约束项⽬设置选择FPGA⽬标芯⽚——选择配置器件的⼯作⽅式——选择配置器件和编程⽅式——选择⽬标器件引脚端⼝状态——选择Verilog语⾔版本4.仿真测试五.实验参考程序module LED(A,LED7S);input [3:0]A;output [6:0]LED7S;reg [6:0]LED7S;always @ (A)begin:case(A)4'b0000: LED7S<=7'b0111111;4'b0001: LED7S<=7'b0000110;4'b0010: LED7S<=7'b1011011;4'b0011: LED7S<=7'b1001111; 4'b0100: LED7S<=7'b1100110; 4'b0101: LED7S<=7'b1101101; 4'b0110: LED7S<=7'b1111101; 4'b0111: LED7S<=7'b0000111; 4'b1000: LED7S<=7'b1111111; 4'b1001: LED7S<=7'b1101111; 4'b1010: LED7S<=7'b1110111; 4'b1011: LED7S<=7'b1111100; 4'b1100: LED7S<=7'b0111001; 4'b1101: LED7S<=7'b1011110; 4'b1110: LED7S<=7'b1111001; 4'b1111: LED7S<=7'b1110001; default: LED7S<=7'b0111111; endcaseendendmodule六.编译仿真结果1.时序仿真:2.延时分析及结果:3.⽣成RTL原理图:4.该实验的配置模式:5.适配板布局图及实验仪IO脚与芯⽚的管脚对应关系和其详细放⼤图⽚:6.⼗六进制逻辑分析:7.计数器和译码器连接电路的顶层⽂件原理图:七.体会思考:通过本次实验对EDA和QUARTER2有了初步的了解,第⼀次上机感觉挺难的,这次对Verilog也有了深⼊了解。

实验四 7段数码显示译码器的设计

实验四  7段数码显示译码器的设计

实验四 7段数码显示译码器的设计一、设计目的1、学习7段数码显示译码器的设计方法;2、掌握多层次的VHDL程序设计方法。

二、设计要求1、编写7段数码显示译码器的VHDL源程序;2、在MAX+PLUSII上进行编译、综合、适配、引脚锁定、下载测试;3、进行仿真波形的测试;4、写出设计性实验报告。

三、设计提示1、实验原理提示:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。

本项实验很容易实现这一目的。

例6-21作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如图6-21数码管的7个段,高位在左,低位在右。

例如当LED7S输出为 "1101101" 时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1,接有高电平的段发亮,于是数码管显示“5”。

2、引脚锁定以及硬件下载测试提示:建议选实验电路模式6,用数码8显示译码输出(PIO46--PIO40),键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。

四、实验报告要求根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其分析报告。

五、实验思考和总结1、讨论语句WHEN OTHERS=>NULL的作用。

对于不同的VHDL综合器,此句是否具有相同含义和功能?2、用VHDL例化语句(参考实验2)按图3-25的方式,以本章第一节实验三和本节实验一为底层元件,完成顶层文件设计,并重复以上实验过程。

注意图3-25中的tmp是4位总线,led是7位总线。

对于引脚锁定和实验,建议仍选实验电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接时钟信号clock0。

(完整word版)十六进制7段数码显示译码器设计实验报告

(完整word版)十六进制7段数码显示译码器设计实验报告

实验名称:十六进制7 段数码显示译码器设计实验目的:1.设计七段显示译码器2.学习Verilog HDL文本文件进行逻辑设计输入;3.学习设计仿真工具的使用方法;工作原理:7 段数码是纯组合电路,通常的小规模专用IC ,如 74 或 4000 系列的器件只能作十进制 BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在 FPGA/CPLD中来实现。

例如 6-18 作为 7 段译码器,输出信号 LED7S 的 7 位分别接图 6-17 数码管的 7 个段,高位在左,低位在右。

例如当 LED7S输出为“ 1101101”时,数码管的 7 个段 g,f,e,d,c,b,a 分别接 1,1,0,1,1,0,1 ;接有高电平的段发亮,于是数码管显示“5”。

注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段 h,例 6-18 中的LED7S:OUTSTD_LOGIC_VECTOR(6 DOWNTO 0)应改为 (7 DOWNTO 0)。

实验内容 1:将设计好的 VHDL译码器程序在 Quartus II上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

实验步骤:步骤 1:新建一个文件夹击打开vhdl 文件;步骤 2: 编写源程序并保存步骤 3:新建一个工程及进行工程设置步骤 4:调试程序至无误;步骤 5:接着新建一个VECTOR WAVEFOM文件及展出仿真波形设置步骤 6:输入数据并输出结果(时序仿真图)步骤 7:设置好这个模式步骤 8:生成 RTL原理图步骤 9:引脚锁定及源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;ARCHITECTURE one OF DECL7S ISBEGINPROCESS(A)BEGINCASE A ISWHEN"0000"=> LED7S<="0111111";WHEN"0001"=> LED7S<="0000110";WHEN"0010"=> LED7S<="1011011";WHEN"0011"=> LED7S<="1001111";WHEN"0100"=> LED7S<="1100110";WHEN"0101"=> LED7S<="1101101";WHEN"0110"=> LED7S<="1111101";WHEN"0111"=> LED7S<="0000111";WHEN"1000"=> LED7S<="1111111";WHEN"1001"=> LED7S<="1101111";WHEN"1010"=> LED7S<="1110111";WHEN"1011"=> LED7S<="1111100";WHEN"1100"=> LED7S<="0111001";WHEN"1101"=> LED7S<="1011110";WHEN"1110"=> LED7S<="1111001";WHEN"1111"=> LED7S<="1110001";WHEN OTHERS =>NULL;END CASE;END PROCESS;END;实验内容二:1、硬件测试。

七段数码显示译码器设计

七段数码显示译码器设计

实验一七段数码显示译码器设计一、实验目的:1.完成七段数码显示译码器的设计,学习组合电路设计;2.学习多层次设计方法。

3.锻炼使用Verilog HDL 语言编程的能力。

二、实验原理:1.七段译码电路时一宗纯组合的逻辑电路,通常是由小型专用的IC门电路组成。

2.七段码输入与输出的原理与真值表关系。

a)输入:七段码输入为四个输入信号,用来表示0000—1111,即表示为十六进制的“0”到“F”。

b)输出:七段码输出为七个输出信号,分别用a,b, c,d,e,f,g七个符号来表示。

一般规定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状态。

本实验使用的七段数码为共阴极,其电路图如图1所示。

图1 共阴数码管及其电路c)输入与输出关系用思维二进制代码组成十六进制代码,将其用代码显示,表2-1 七段字符显示真值表数码A3 A2 A1 A0 A B C D E F G 对应码(h)0 0 0 0 0 1 1 1 1 1 1 0 7E1 0 0 0 1 0 1 1 0 0 0 0 302 0 0 1 0 1 1 0 1 1 0 1 6D3 0 0 1 1 1 1 1 1 0 0 1 794 0 1 0 0 0 1 1 0 0 1 1 335 0 1 0 1 1 0 1 1 0 1 1 5B6 0 1 1 0 1 0 1 1 1 1 1 5F7 0 1 1 1 1 1 1 0 0 0 0 708 1 0 0 0 1 1 1 1 1 1 1 7F9 1 0 0 1 1 1 1 1 0 1 1 7BA 1 0 1 0 1 1 1 0 1 1 1 77上,需要进行引脚分配。

一、实验步骤:(1) 创建工程文件(2) 创建原理图设计文档(3) 利用ESC绘制电路图进行功能设计(4) 执行综合(5) 设计测试平台文件(6) 执行功能仿真(7) 执行实现、添加约束文件(8) 执行时序仿真(9) 生产位流文件,配置目标芯片Verilog HDL程序:`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company:// Engineer://// Create Date: 18:47:07 03/10/2013// Design Name:// Module Name: ssss// Project Name:// Target Devices:// Tool versions:// Description://// Dependencies://// Revision:// Revision 0.01 - File Created// Additional Comments:////////////////////////////////////////////////////////////////////////////////////module decode_7(a, b, c, d, en, sega, segb, segc, segd,sege,segf,segg );input a, b, c, d, en;output reg sega, segb, segc, segd,sege,segf,segg;reg [1:7] segs;always @(a or b or c or d or en) beginif (en)case ({d, c, b, a})0:segs = 7'b1111110; //01:segs = 7'b0110000;2:segs = 7'b1101101;3:segs = 7'b1111001;4:segs = 7'b0110011;5:segs = 7'b1011011;6:segs = 7'b0011111;7:segs = 7'b1110000;8:segs = 7'b1111111;9:segs = 7'b1110011; //910:segs = 7'b1110111;//1011:segs = 7'b0011111;12:segs = 7'b1001110;13:segs = 7'b0111101;4:segs = 7'b10011111;15:segs = 7'b1000111;15default segs = 7'bx;endcaseelsesegs = 7'b0;{sega, segb, segc, segd,sege,segf,segg} = segs; endEndmodule实验过程中得到的图片:实验体会:本次实验通过对FPGA实验平台的使用,Verilog HDL语言有了一定的理解与认识,但在很多地方没有很好的熟练度,在以后的学习中还要好好的熟悉之。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称:十六进制7段数码显示译码器设计实验目的:1.设计七段显示译码器2.学习Verilog HDL文本文件进行逻辑设计输入;3.学习设计仿真工具的使用方法;工作原理:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

例如6-18作为7段译码器,输出信号LED7S 的7位分别接图6-17数码管的7个段,高位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。

注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例6-18中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为…(7 DOWNTO 0)。

实验内容1:将设计好的VHDL译码器程序在Quartus II上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

实验步骤:步骤1:新建一个文件夹击打开vhdl文件;步骤2:编写源程序并保存步骤3:新建一个工程及进行工程设置步骤4:调试程序至无误;步骤5:接着新建一个VECTOR WAVEFOM文件及展出仿真波形设置步骤6:输入数据并输出结果(时序仿真图)步骤7:设置好这个模式步骤8:生成RTL原理图步骤9:引脚锁定及源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT(A :IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;ARCHITECTURE one OF DECL7S ISBEGINPROCESS(A)BEGINCASE A ISWHEN"0000"=> LED7S<="0111111";WHEN"0001"=> LED7S<="0000110";WHEN"0010"=> LED7S<="1011011";WHEN"0011"=> LED7S<="1001111";WHEN"0100"=> LED7S<="1100110";WHEN"0101"=> LED7S<="1101101";WHEN"0110"=> LED7S<="1111101";WHEN"0111"=> LED7S<="0000111";WHEN"1000"=> LED7S<="1111111";WHEN"1001"=> LED7S<="1101111";WHEN"1010"=> LED7S<="1110111";WHEN"1011"=> LED7S<="1111100";WHEN"1100"=> LED7S<="0111001";WHEN"1101"=> LED7S<="1011110";WHEN"1110"=> LED7S<="1111001";WHEN"1111"=> LED7S<="1110001";WHEN OTHERS =>NULL;END CASE;END PROCESS;END;实验内容二:1、硬件测试。

程序不一样,其他步骤相同操作LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B ISPORT (CLK,RST,ENA:IN STD_LOGIC;OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC);END CNT4B;ARCHITECTURE behav OF CNT4B ISBEGINPROCESS(CLK,RST,ENA)VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST='0' THEN Q:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENQ:=Q+1;END IF;END IF;IF Q="1111" THEN COUT<='1';ELSE COUT<='0';END IF;OUTY<=Q;END PROCESS;END behav;2、时序仿真波形:3、RTL原理图:实验内容三:1、源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY adder ISPORT (clock0,rst0,ena0:IN STD_LOGIC;led:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); cout0:OUT STD_LOGIC);END ENTITY adder;ARCHITECTURE ad1 OF adder ISCOMPONENT CNT4BPORT (CLK,RST,ENA:IN STD_LOGIC;OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END COMPONENT;COMPONENT DECL7SPORT (A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END COMPONENT;SIGNAL tmp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINu1:CNT4B PORT MAP(CLK=>clock0, RST=>rst0, ENA=>ena0, OUTY=>tmp, COUT=>cout0);u2:DECL7S PORT MAP(A=>tmp, q=>led);END ARCHITECTURE ad1;2、时序仿真波形:3、RTL原理图:(计数器和译码器连接电路的顶层文件原理图)注意:运用实验三,调用实验一和实验二的RTl原理图得计数器和译码器连接电路的顶层文件原理图在引脚锁定及硬件测试。

建议选GW48系统的实验电路模式6(参考附录图F-6),用数码8显示译码输出(PIO46~PIO40),键8、键7、键6和键5四位控制输入,硬件验证译码器的工作性能。

提示1:目标器件选择MAX7000S系列的EPM7128SLC84-15。

提示2:引脚锁定除了参考第5章第2节内容外,具体引脚编号选定应参考“实验附注资料附注3:万能接插口与结构图信号/与芯片引脚对照表”的“EPM7128S-PL84”栏目。

提示3:选实验电路模式6,参考“实验附注资料附注2:实验电路结构图”的“附图2-8 实验电路结构图NO.6”栏目。

实验心得及个人心得:通过本次实验,对Quartus II有了进一步的学习和认识,对Verilog也有了深入了解。

学会了7段数码显示译码器的Verilog硬件设计,学习了VHDL的CASE语句应用及多层次设计方法。

在设计顶层文件时,最有深刻体会,自己在不知道弄错了多少次和请教过别人多次,在终于知道顶层文件怎样生成的所以我们应该学会认真分析程序,弄清实验原理,做实验时耐心、认真,遇到问题争取自己解决。

认真总结实验,分析波形,完成实验报告。

特别经过一个学期的学习,我并不说我完全懂得EDA技术,我知道在程序方面还有很多要学习的,对于EDA,我都还懂得一些必要的语法和程序。

这门课程锻炼了我读程序的能力和分析语法用法的能力,为我将来学更高级的语言打下了基础,很多语言都是有相通的地方,只是有些用法不太一样而已。

但我学到了运用Quartus II 这个软件,并靠自己慢慢去摸索,慢慢研究。

能多学一些软件就多学一些,毕竟不知道将来的路怎样发展。

虽然老师说EDA这门课程出来后用处不大,但我觉得锻炼了自我学能力和分析问题、解决问题的能力。

相关文档
最新文档