完整word版EDA7段数码显示译码器设计精
EDA实验七段数码管

1.实验名称 :十六进制7 段数码显示译码器设计2.实验目的:学习 7 段数码显示译码器的Verilog硬件设计。
3.实验原理:7 段数码是纯组合电路,往常的小规模专用IC,如 74 或 4000 系列的器件只好作十进制BCD 码译码,但是数字系统中的数据办理和运算都是二进制的,因此输出表达都是十六进制的,为了知足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
比如6-18作为7 段译码器,输出信号LED7S7 位分别接图6-17数码管的7 个段,高位在左,低的位在右。
比如当LED7S输出为“”时,数码管的7 个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。
这里没有考虑表示小数点的发光管,假如要考虑,需要增添段h,而后将LED7S改为 8 位输出。
4.实验内容: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 目标芯片——选择配置器件的工作方式——选择配置器件和编程方式——选择目标器件引脚端口状态——选择Verilog 语言版本4、全程综合与编译Processing—— Start Compilation 启动全程编译5、仿真测试时序剖析 :延时剖析及结果:生成RTL 原理图:该实验的配置模式:适配板布局图及实验仪IO 脚与芯片的管脚对应关系和其详尽放大图片:十六进制逻辑剖析:计数器和译码器连结电路的顶层文件原理图:6.总结与领会本次实验让我学会了好多知识。
EDA技术项目5BCD7段显示译码器

按次描写语句: 履行按次与书写按次一致,与传统软件设计
措辞的特点近似。按次语句只能用在历程与子程 序中。
可描写组合逻辑、时序逻辑。 常常使用的按次描写语句:
赋值语句; if语句;case语句;loop语句; next语句;exit语句;子法式;return语句; wait语句;null语句。
旗子 暗号
[标志:] process [( 敏感旗子暗号 表)]
{ 历程申明项}
begin { 按次描写语句}
end process [标志]; 敏感旗子暗号表:历程内要读取的所有敏感旗 子暗号
〔包孕端口〕的列表。每一个敏感
旗子暗号旗的子改暗变号,名都称将{,启旗动子历暗程。 格局: 号名称 }
敏感旗子暗号表的特点: 1、同步历程的敏感旗子暗号表中只有时钟旗子 暗号。
仿真波形以下列图所示
1位半减器VHDL设计
LIBRARY ieee;
ENTITY half_sub IS
PORT(a : IN std_logic;
b : IN std_logic;
diff : OUT std_logic;
--difference
cout : OUT std_logic);
--carry out
一 对象与赋值语句 1、VHDL中常常使用的 5 种对象: 1〕简单名称,如 my_var; 2〕索引名称,如 my_array_var(3); 3〕片断名称,如 my_array_var(3 to 6); 4〕纪录域名,如 my_record.a_field; 5〕纠合,如(my_var1, my_var2)。 所有对象均分为:变量和旗子暗号 对象 := 表达式; -- 变量赋值 对象 < = 表达式; -- 旗子暗号赋值 要求:表达式的值必需与对象的类型、宽
七段数码显示译码器设计

一、七段数码显示译码器设计(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:引脚锁定及硬件测试。
EDA实验_七段译码显示

河北科技大学实验报告2012级电信专业122班学号38 15年6月3日姓名郑振兴同组人指导教师于国庆实验名称实验三七段译码显示成绩实验类型设计型批阅教师一、实验目的(1)掌握VHDL语言的行为描述设计时序电路。
(2)掌握FPGA动态扫描显示电路设计方法。
(3)熟悉进程(process)和顺序语句的应用。
二、实验原理:用4个开关作为加法器的一组输入变量,共4组输入变量;对每组变量进行译码,变换成0~F标准段码,段码中“1”表示段亮,“0”表示段灭。
一位时钟输入作为扫描显示位扫时钟,四位位扫输出,依次输出高电平。
8位段码输出,根据位选状态选择输出四组输入变量的相应译码结果。
四组输入采用试验箱K1~K16,时钟输入选择试验箱CP1或CP2;试验箱LED显示选择动态显示方式(CZ1开关ST选择 OFF),段码、位码分别扫描输出,某个管的位码有效期间,将其对应的段码输出,各位码依次有效,实现循环扫描显示,将输入的16位二进制数,每4位一组,分别显示到4个数码管上(0 ~ F)。
三、实验内容及步骤1.打开MUXPLUS II VHDL编辑器,完成七段译码显示的设计。
包括VHDL程序输入、编译、综合。
实验程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.All;ENTITY qiduanyima ISPORT ( CLK: IN STD_LOGIC;A: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ;B: IN STD_LOGIC_VECTOR(15 DOWNTO 0) ;C: OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; END qiduanyima;ARCHITECTURE simple OF qiduanyima ISBEGINPROCESS (CLK)VARIABLE Q : INTEGER RANGE 0 TO 5;VARIABLE COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF CLK'EVENT AND CLK='1' THENQ:=Q+1;CASE Q ISWHEN 1 => A(3 DOWNTO 0)<= "1000";WHEN 2 => A(3 DOWNTO 0)<= "0100";WHEN 3 => A(3 DOWNTO 0)<= "0010";WHEN 4 => A(3 DOWNTO 0)<= "0001";WHEN OTHERS => NULL;END CASE;CASE Q ISWHEN 1 =>COUNT(3 DOWNTO 0):=B(3 DOWNTO 0);WHEN 2 =>COUNT(3 DOWNTO 0):=B(7 DOWNTO 4);WHEN 3 =>COUNT(3 DOWNTO 0):=B(11 DOWNTO 8);WHEN 4 =>COUNT(3 DOWNTO 0):=B(15 DOWNTO 12);WHEN OTHERS => NULL;END CASE;IF Q = 5 THENQ := 0;END IF;END IF;CASE COUNT ISWHEN "0000" => C(6 DOWNTO 0) <= "0111111" ;WHEN "0001" => C(6 DOWNTO 0) <= "0000110" ;WHEN "0010" => C(6 DOWNTO 0) <= "1011011" ;WHEN "0011" => C(6 DOWNTO 0) <= "1001111" ;WHEN "0100" => C(6 DOWNTO 0) <= "1100110" ;WHEN "0101" => C(6 DOWNTO 0) <= "1101101" ;WHEN "0110" => C(6 DOWNTO 0) <= "1111101" ;WHEN "0111" => C(6 DOWNTO 0) <= "0000111" ;WHEN "1000" => C(6 DOWNTO 0) <= "1111111" ;WHEN "1001" => C(6 DOWNTO 0) <= "1101111" ;WHEN "1010" => C(6 DOWNTO 0) <= "1110111" ;WHEN "1011" => C(6 DOWNTO 0) <= "1111100" ;WHEN "1100" => C(6 DOWNTO 0) <= "0111001" ;WHEN "1101" => C(6 DOWNTO 0) <= "1011110" ;WHEN "1110" => C(6 DOWNTO 0) <= "1111001" ;WHEN "1111" => C(6 DOWNTO 0) <= "1110001" ;WHEN OTHERS => NULL ;END CASE;END PROCESS;END ARCHITECTURE simple;2、建立仿真波形文件,使用 MAXPLUS II Simulator功能进行功能仿真。
实验一7段数码显示译码器设计

实验一. 7段数码显示译码器设计一.实验目的1.学习7段数码显示译码器设计。
2.进一步熟悉VHDL设计技术,掌握CASE语句的使用。
3.掌握文本输入法的顶层设计方法。
二.实验原理7段数码显示器是纯组合电路。
为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。
例1作为7段译码器的VHDL的程序,A[3..0]是二进制码输入端,LED7S是7段输出信号。
输出信号LED7S的位分别接数码管的7个段,高位在左,低为在右。
例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
例1: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 DECL7S;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 ONE;三.实验内容1.说明例1各语句的含义,以及该例的整体功能。
7段数码显示译码器设计

7段数码显示译码器设计数码显示译码器是一种可以将二进制代码转换为数码形式输出的电子装置。
它是数字电路中常见且重要的组成部分,用于将二进制数据转换为人们可以直接阅读和理解的数码显示。
本文将介绍一个基于74LS47芯片的7段数码显示译码器的设计。
一、设计目标设计一个能够接受4位二进制代码输入,并将其转换为对应的七段数码形式输出的译码器电路。
二、74LS47芯片介绍74LS47是一种四位BCD-7段数码译码器/驱动器芯片,它能够将4位BCD代码转换为对应的七段数码输出。
该芯片具有以下特点:1.输入:4位BCD代码(A,B,C和D)2.输出:共阳极(共阳)显示器的七个引脚(a,b,c,d,e,f和g)3.功能:将BCD代码转换为七段数码形式输出,用于显示三、电路设计1.将74LS47芯片的引脚连接至7段数码显示器的a,b,c,d,e,f和g引脚。
这些引脚负责控制七段数码的每个段。
2.A,B,C和D引脚接收4位二进制代码输入。
3. 第一个74LS47芯片的Vcc引脚连接到正电源,GND引脚连接到地。
4. 还需将每个74LS47芯片的GA和GB引脚连接在一起,形成一个输入信号的链。
GA和GB引脚连接到Vcc电源端。
5.在接有显示器的七段段引脚(a,b,c,d,e,f,g)和段选择(a-g`)之间插入电阻。
这些电阻可用于限流,避免过高电流对显示器和芯片造成损坏。
6.确保芯片和显示器之间的信号传输有效,没有短路或脱离接地。
四、工作原理1.输入:通过A、B、C和D四个引脚接收4位BCD代码,一共有16个可能的输入组合。
2.输出:将四位BCD代码转换为相应的七段数码输出,用于显示。
例如,输入“0000”将转换为“0”的数码形式。
3.七段显示器共阳极(共阳):对于共阳极的显示器,七个段引脚(a,b,c,d,e,f和g)的高电平将被激活,且通过公共引脚控制显示的数码部分。
4.区分位和段:每个数码位由七个段组成,通过该段的点亮和熄灭来表示所需显示的数字。
(完整word版)7段数码显示译码器设计

广州大学学生实验报告实验室: 电子信息楼 317EDA 2017 年10 月 16 日一 实验目的a) 学习7段数码显示译码器设计;学习VHDL 的多层次设计方法二 实验原理a) 如图是共阴极数码管。
b) 七段数码管是纯组合电路,通常小规模专用IC ,如74或4000系列的器件只能做十进制BCD 译码。
然而.数字系统中的数据都是2vhdl 译码程序在FPGA 中来实现,4位码为A[3:0],输出控制77位数据为LED7S[6:0]。
输出信号LED7S 的7位7个端,高位在左,低位在右。
例如当LED7S ”时,数码管的7个段g,f,e,d,c,b,a 分别接1,5,如果要考虑小dp ,这里不考虑小数点。
三实验设备a)FPGA实验箱,Cyclone III EP3C40Q24C08四实验内容和结果a)10进制译码器VHDL代码设计根据实验原理,输入7段数码管译码程序,如图所示:b)波形仿真显然,仿真结果和共阴数码管真值表结果相同,说明设计是正确的,能实现正常10进制译码c)引脚锁定和硬件验证如图所示:实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8/7/6/5四位控制输入硬件验证的结果也和仿真的结果一致,通过按键控制4位输入控制10进制数字,从数码管读出译码值。
发现电路是可行的,说明设计没有错误。
d)16进制译码器VHDL设计i.根据实验原理,输入7段数码管译码程序,如图所示,红色方框为添加了的程序代码,将10进制延伸到16进制,新增加了6个数据点。
ii.波形仿真,可以看到,输出可以对16个数据进行译码输出,遂可以知道该VHDL程序能实现16进制的译码,译码输出可以接数码管。
iii.引脚锁定和硬件仿真实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8/7/6/5四位控制输入硬件验证的结果也和仿真的结果一致,通过按键控制4位输入控制16进制数字,从数码管读出译码值。
EDA7段数码显示译码器设计(精)

EDA技术实验报告实验项目名称:7段数码显示译码器设计实验日期:2012.06.04实验成绩:实验评定标准:1)实验程序是否正确2)实验仿真、结果及分析是否合理3)实验报告是否按照规定格式实验目的实验器材学习7段数码显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。
Quartusll7.2 软件三、实验内容(实验过程)1、首先设计一个2选1的数据选择器(1)打开软件,选择菜单file —>new,在弹出的new对话框中选择Device Design Files 的VHDL File项,按OK键后进入VHDL文本编辑方式。
根据7段数码显示译码器的功能编辑相应的源程序。
如下: library ieee;use ieee.std」o gic_1164.all;en tity decl7s isport (a:i n std_logic_vector(3 dow nto 0; led7s:out std」o gic_vector(6 dow nto 0; end decl7s;architecture one of decl7s isbeg inprocess(abeg incase a iswhe n"0000"=>led7s<="0111111";whe n"0001"=>led7s<="0000110";whe n"0010"=>led7s<="1011011";whe n"0011"=>led7s<="1001111";whe n"0100"=>led7s<="1100110";whe n"0101"=>led7s<="1101101";whe n"0110"=>led7s<="1111101";whe n"0111"=>led7s<="0000111";whe n"1000"=>led7s<="1111111";whe n"1001"=>led7s<="1101111";whe n"1010"=>led7s<="1110111";whe n"1011"=>led7s<="1111100";whe n"1100"=>led7s<="0111001";whe n"1101"=>led7s<="1011110";whe n"1110"=>led7s<="1111001";whe n"1111"=>led7s<="1111001";whe n others =>nu II;end case;end process;end one;2、对该VHDL语言进行编辑后,无误后进行仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA 技术实验报告实验项目名称:7段数码显示译码器设计实验日期:2012.06.04 实验成绩:实验评定标准:1)实验程序是否正确A()B()C()2)实验仿真、结果及分析是否合理A()B()C()3)实验报告是否按照规定格式A()B()C()一、实验目的学习7段数码显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。
二、实验器材QuartusII7.2软件三、实验内容(实验过程)(一).1、首先设计一个2选1的数据选择器(1)打开软件,选择菜单file—>new,在弹出的new对话框中选择Device Design Files 的VHDL File项,按OK键后进入VHDL文本编辑方式。
根据7段数码显示译码器的功能编辑相应的源程序。
如下: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 decl7s;architecture one of decl7s isbeginprocess(abegincase a iswhenwhenwhen0=>led7s<=A1011;when1=>led7s<=@1111;when0=>led7s<=H0110;when1=>led7s<=H1101;when0=>led7s<=I1101;when1=>led7s<=when@0=>led7s<=I1111;when@1=>led7s<=H1111;whenA0=>led7s<=I0111;whenA1=>led7s<=I1100;whenH0=>led7s<=1001;whenH1=>led7s<=A1110;whenI0=>led7s<=I1001;whenI1=>led7s<=I1001;when others =>null;end case;end process;end one;2、对该VHDL语言进行编辑后,无误后进行仿真。
点击相应的编辑按钮用来检查源程序的正确性。
3.、编译和仿真仿真前要新建波形文件:filenewother filesvector waveform file 点击OK后在出现的新建波形文件左边空白栏点击鼠标右键,选择insertinsert node or bus.在出现的对话框中直接点击node finder。
之后,在出现的对话框中选择list。
当左边的nodes found栏中出现设计文件的输入输出端口后,点击》加入到右边的selected node 中,点击OK。
在完成7段数码显示译码器源程序的编辑后,执行Processingstart compilation命令,对decl7s.vhd进行编译。
下图是7段数码显示译码器对应的仿真波形:在完成对源文件的编译后,执行Filecreate/updatecreate symbol files for current命令,为VHDL设计文件生成元件符号。
其元件符号如图所示符号如图所示可以供其他电路和系统设计的调用。
4、下载选择电路模式6。
用数码8显示译码输出,键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。
目标芯片选择:实验箱上的目标芯片为ACEX1K系列的EP1K30TC芯片,必须选择正确的芯片才能下载成功。
在菜单栏里选择:assignmentsdevice 在出现的对话框中选择正确的芯片即可。
(1)引脚的选择:通过试验箱左下角的按键选择模式6。
键八、键七、键六、键五分别接a[3]、a[2]、a[1]、a[0];PIO46—PIO40分别接g,f,e,d,c,b,a.(2)引脚绑定:引脚选定之后,可以把输入输出端口绑定在选择好的引脚上。
即a[3]绑定在引脚27上,a[2]绑定在引脚26上,a[1]绑定在引脚23上,a[0]绑定在引脚22上,led7s[6]接在引脚95上,led7s[5]接在引脚92上,led7s[4]接在引脚91上,led7s[3]接在引脚90上,led7s[2]接在引脚89上,led7s[1]接在引脚88上led7s[0]接在引脚87上。
如图:(3)下载和硬件测试:把实验箱连接好电源和计算机接口,把程序下载到目标芯片上,就可以在实验箱上通过按键和发光二级管来检验实验的正确性。
5.设计加法计数器(1)打开软件,选择菜单file—>new,在弹出的new对话框中选择Device Design Files 的VHDL File项,按OK键后进入VHDL文本编辑方式。
根据加法计数器的功能编辑相应的源程序。
如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk,rst,en :in std_logic;cq :out std_logic_vector(3 downto 0;cout :out std_logic;end cnt10;architecture behav of cnt10 isbeginprocess(clk,rst,envariable cqi :std_logic_vector(3 downto 0;beginif rst ='1' then cqi :=(others=>'0';elsif clk'event and clk='1' thenif en='1' thenif cqi<9 then cqi:=cqi+1;else cqi:=(others=>'0';end if;end if;end if;if cqi =9 then cout<='1';else cout<='0';end if;cq<=cqi;end process;end behav;6、对该VHDL语言进行编辑后,无误后进行仿真。
点击相应的编辑按钮用来检查源程序的正确性。
7.、编译和仿真仿真前要新建波形文件:filenewother filesvector waveform file 点击OK后在出现的新建波形文件左边空白栏点击鼠标右键,选择insertinsert node or bus.在出现的对话框中直接点击node finder。
之后,在出现的对话框中选择list。
当左边的nodes found栏中出现设计文件的输入输出端口后,点击》加入到右边的selected node 中,点击OK。
在完成加法计数器源程序的编辑后,执行Processingstart compilation命令,对cnt10.vhd进行编译。
下图是加法计数器对应的仿真波形:在完成对源文件的编译后,执行Filecreate/updatecreate symbol files for current命令,为VHDL设计文件生成元件符号。
其元件符号如图所示符号如图所示可以供其他电路和系统设计的调用。
8、利用元件例化语句,按实验书上的图6.3方式连接成顶层设计电路。
源程序如下:library ieee;use ieee.std_logic_1164.all;entity tan isport(clock0:in std_logic;rat0:in std_logic;ena0:in std_logic;led:out std_logic_vector (6 downto 0;cout0:out std_logic;end tan;architecture lang of tan issignal tmp:std_logic_vector (3 downto 0;component cnt10port(clk,rst,en :in std_logic;cq :out std_logic_vector(3 downto 0;cout :out std_logic;end component;component decl7sport (a:in std_logic_vector(3 downto 0;led7s:out std_logic_vector(6 downto 0;end component;begincnt4b:cnt10 port map(clock0,rat0,ena0,tmp,cout0;decl7a:decl7s port map(tmp,led;end lang;、对该语言进行编辑后,无误后进行仿真。
点击相应的编辑按VHDL9钮用来检查源程序的正确性。
、编译和仿真10.仿真前要新建波形文件:点击后在OKfilenewother filesvector waveform file出现的新建波形文件左边空白栏点击鼠标右键,选择insertinsert node or 在出现的对话框中直接点击。
之后,在出现的对话框中选node finderbus.择。
当左边的栏中出现设计文件的输入输出端口后,点nodes foundlist 击》加入到右边的中,点击。
selected nodeOK在完成段数码显示译码器源程序的编辑后,执行Processingstart 7命令,对进行编译。
compilationtan.vhd下图是图对应的仿真波形:6.3、下载11选择电路模式。
用数码显示译码输出,键作为时钟输368入,,或者直接接clock0.目标芯片选择:实验箱上的目标芯片为系列的EP1K30TCACEX1K芯片,必须选择正确的芯片才能下载成功。
在菜单栏里选择:在出现的对话框中选择正确的芯片即可。
assignmentsdevice引脚的选择:通过试验箱左下角的按键选择模式。
接clock0;.6Clock0(1键八接,键七接接;分别接g,f,e,d,c,b,a.—ena0;speakerPIO40cout0PIO46rat0引脚绑定:引脚选定之后,可以把输入输出端口绑定在选择好的引(2脚上。
即绑定在引脚上,绑定在引脚上,绑定在引clock0rat02627ena0脚上,绑定在引脚上,接在引脚上,接在led7s[5]led7s[6]cout01269995引脚上,接在引脚上,接在引脚上,接在led7s[2]led7s[3]9192led7s[4]90引脚上,接在引脚上接在引脚上。