第四章_VHDL设计初步简_第1页
第四章_VHDL设计初步简_第2页
第四章_VHDL设计初步简_第3页
第四章_VHDL设计初步简_第4页
第四章_VHDL设计初步简_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

1、EDA技术实用教程技术实用教程n原理图输入与原理图输入与 VHDL文本输入设计的区别文本输入设计的区别qGraphic is what you draw is what you getn“ tell me what hardware you want and I will give it to you”qVHDL is what you write is what functional you getn“ tell me how your circuit should behave and the VHDL compiler will give you the hardware that do

2、es the job”n but the designer can not control how the circuit implement什么是什么是VHDL? Very high speed integrated Hardware Description Language (VHDL)q是是IEEE、工业标准硬件描述语言工业标准硬件描述语言q用语言的方式而非图形等方式描述硬件电路用语言的方式而非图形等方式描述硬件电路n容易修改容易修改n容易保存容易保存q特别适合于设计的电路有:特别适合于设计的电路有:n复杂组合逻辑电路,如:复杂组合逻辑电路,如: q译码器、编码器、加减法器、多路选择器、

3、地址译码器译码器、编码器、加减法器、多路选择器、地址译码器.n状态机状态机n等等等等.VHDL的功能和标准的功能和标准:n VHDL 描述描述q输入端口输入端口q输出端口输出端口q电路的行为和功能电路的行为和功能nVHDL有过两个标准:有过两个标准:qIEEE Std 1076-1987 (called VHDL 1987)qIEEE Std 1076-1993 (called VHDL 1993)VHDL Synthesis vs. other HDLs SynthesisnVHDL: “tell me how your circuit should behave and I will gi

4、ve you hardware that does the job”nABEL, PALASM, AHDL: “tell me what hardware you want and I will give it to you”Why using VHDL instead of GraphicnEasy to ModifynIt is more powerful than GraphicnVHDL is a portable language becauseqis device independentqthe same code can be applied to Device manufact

5、ured by Company A or Company B 【例例4-1】ENTITY mux21a IS PORT ( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ;END ENTITY mux21a ;ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ;实体实体结构体结构体4.1 多路选择器多路选择器VHDL描述描述图图4-1 mux21a实体实体图图4-2 mux21a结构体结构体4.1.1 2选选1多路选择器的多路选择器的VHDL描

6、述描述实体描述的是电路器件的实体描述的是电路器件的端口构成和信号属性。端口构成和信号属性。结构体描述的是电路器件的结构体描述的是电路器件的内部逻辑功能或电路结构。内部逻辑功能或电路结构。WHEN_ELSE 并行语句并行语句对照对照1对照对照2【例例4-2】ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d = a AND (NOT S) ; e = b AND s ; y

7、 = d OR e ;END ARCHITECTURE one ;【例【例4-3】 . . .ARCHITECTURE one OF mux21a IS BEGIN y = (a AND (NOT s) OR (b AND s) ;END ARCHITECTURE one;AND、OR、NOT等布尔方程表达式等布尔方程表达式 并行语句并行语句对照对照4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述【例【例4-4】ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE

8、one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF; END PROCESS;END ARCHITECTURE one ;IF_THEN_ELSE 顺序语句顺序语句对照对照4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述图图4-3 mux21a功能时序波形功能时序波形4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述4.1.2 VHDL相关语法说明相关语法说明1. 实体表达实体表达【例【例4-5】ENTITY e_name IS PORT ( p_na

9、me : port_m data_type; . p_namei : port_mi data_type );END ENTITY e_name;或:或:【例【例4-5】ENTITY 实体名实体名 IS PORT ( 端口名端口名 : 端口模式端口模式 数据类型数据类型; . 端口名端口名 : 端口模式端口模式 数据类型数据类型 );END 实体名实体名; 关键词关键词 不分大小写不分大小写2. 实体名实体名(不能用中文或全用数字,不能以数字开头,不能用中文或全用数字,不能以数字开头,不能应用与不能应用与EDA工具库中已定义好的元件名工具库中已定义好的元件名)3. PORT语句和端口信号名语句

10、和端口信号名4. 端口模式端口模式INOUTINOUTBUFFER5. 数据类型数据类型BIT4.1.2 VHDL相关语法说明相关语法说明6. 结构体表达结构体表达【例【例4-6】ARCHITECTURE arch_name OF e_name IS (说明语句说明语句)BEGIN (功能描述语句功能描述语句)END ARCHITECTURE arch_name ;或:或:【例【例4-6】ARCHITECTURE 结构体名结构体名 OF 实体名实体名 IS (说明语句说明语句)BEGIN (功能描述语句功能描述语句)END 结构体名结构体名 ;7. 信号传输信号传输(赋值赋值)符号和数据比较符

11、号符号和数据比较符号对照对照14.1.2 VHDL相关语法说明相关语法说明8. 逻辑操作符逻辑操作符AND、OR、NOT (BIT/BOOLEAN/STD_LOGIC)9. IF_THEN条件语句条件语句(顺序语句)(顺序语句)10. WHEN_ELSE条件信号赋值语句条件信号赋值语句(并行语句)(并行语句)赋值目标赋值目标 = 表达式表达式 WHEN 赋值条件赋值条件 ELSE 表达式表达式 WHEN 赋值条件赋值条件 ELSE . 表达式表达式 ;11. PROCESS进进程语句和顺序语句程语句和顺序语句12. 文文件取名和存盘件取名和存盘(文件名最好与文件实体名相同)(文件名最好与文件实

12、体名相同)对照对照对照对照对照对照2对照对照4.1.2 VHDL相关语法说明相关语法说明4.1.3 VHDL设计的基本概念和语句小节设计的基本概念和语句小节(p76)数据类型数据类型信号赋值符信号赋值符条件比较符条件比较符 延时延时实体实体结构体结构体端口定义端口定义端口模式端口模式逻辑操作符逻辑操作符IFIF条件语句条件语句并行条件语句并行条件语句进程语句进程语句顺序语句顺序语句并行语句并行语句文件取名文件取名文件存盘文件存盘4.2 寄存器描述及其寄存器描述及其VHDL语言现语言现象象4.2.1 D触发器的触发器的VHDL描述描述【例【例4-7】LIBRARY IEEE ;USE IEEE.

13、STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC );END ;ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -类似于在芯片内部定义一个数据的暂存节点类似于在芯片内部定义一个数据的暂存节点 BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; Q = Q1 ; -将内部的暂存数据向端口输出将内部的暂存

14、数据向端口输出 END PROCESS ;END bhv;D触发器触发器对照对照1 对照对照2 对照对照34.2.2 D触发器触发器VHDL描述的语言现象说明描述的语言现象说明1. 1. 标准逻辑位数据类型标准逻辑位数据类型STD_LOGICBIT数据类型定义:数据类型定义: TYPE BIT IS(0,1);STD_LOGIC数据类型定义:数据类型定义:TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-);STD_LOGIC所定义的所定义的9种数据的含义是种数据的含义是:U表示未初始化的;表示未初始化的; X表示强未知的;表示强未知的; 0表示强逻辑表示强逻辑0; 1表

15、示强逻辑表示强逻辑1; Z表示高阻态;表示高阻态; W 表示弱表示弱未知的;未知的; L表示弱逻辑表示弱逻辑0; H表示弱逻辑表示弱逻辑1; -表示表示忽略。忽略。对照对照12. 设计库和标准程序包设计库和标准程序包3. SIGNAL信号定义和数据对象信号定义和数据对象ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; Q = Q1 ; END PROCESS ;END bhv;使用库和程序包的一般定

16、义表达式是:使用库和程序包的一般定义表达式是: LIBRARY ; USE .ALL ; 4.2.2 D触发器触发器VHDL描述的语言现象说明描述的语言现象说明对照对照2数据对象有三类:信号、变量、常数数据对象有三类:信号、变量、常数VHDL中,被定义的标识符必须确定为某类数据中,被定义的标识符必须确定为某类数据对象,同时还必须定义为某种数据类型。对象,同时还必须定义为某种数据类型。4. 上升沿检测表达式和信号属性函数上升沿检测表达式和信号属性函数EVENT 关键词关键词EVENT是信号属性,是信号属性,VHDL通过以下表达式来通过以下表达式来测定某信号的跳变边沿:测定某信号的跳变边沿: EV

17、ENT【例【例4-8】ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q b1 THEN q1 = 1 ; ELSIF a1 b1 THEN q1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; END PROCESS ; END 图图4-6 例例4-10的电路图的电路图不完整条件语句的不完整条件语句的出现是引入时序电出现是引入时序电路结构的必要条件路结构的必要条件和关键所在。和关键所在。4.2.3 实现时序电路的实现时序电路的VHDL不同表达方式

18、不同表达方式【例【例4-11】.PROCESS (CLK) BEGIN IF CLKEVENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; -确保确保CLK的变化是一次上升沿的跳变的变化是一次上升沿的跳变 END IF; END PROCESS ;【例【例4-12】.PROCESS (CLK) BEGIN IF CLK=1 AND CLKLAST_VALUE=0 -同例同例4-11 THEN Q = D ; END IF; END PROCESS ;【例【例4-13】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.A

19、LL ;ENTITY DFF3 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1 : STD_LOGIC; BEGIN PROCESS (CLK) BEGIN IF rising_edge(CLK) - CLK的数据类型必须是的数据类型必须是STD_LOGIC THEN Q1 = D ; END IF; Q = Q1 ; END PROCESS ; END ;4.2.3 实现时序电路的实现时序电路的VHDL不同表达方式

20、不同表达方式【例【例4-14】 . PROCESS BEGIN wait until CLK = 1 ; -利用利用wait语句语句 Q = D ; END PROCESS;【例【例4-15】. PROCESS (CLK) BEGIN IF CLK = 1 THEN Q = D ; -利用进程的启动特性产生对利用进程的启动特性产生对CLK的边沿检测的边沿检测 END IF; END PROCESS ;【例【例4-16】. PROCESS (CLK,D) BEGIN IF CLK = 1 -电平触发型寄存器电平触发型寄存器 THEN Q = D ; END IF; END PROCESS ;4.

21、2.3 实现时序电路的实现时序电路的VHDL不同表达方式不同表达方式图图4-7 边沿型触发器时序波形边沿型触发器时序波形图图4-8 电平触发型寄存器的时序波形电平触发型寄存器的时序波形4.2.3 实现时序电路的实现时序电路的VHDL不同表达方式不同表达方式 4.2.4 异步时序电路设计异步时序电路设计 【例例4-17】 . ARCHITECTURE bhv OF MULTI_DFF IS SIGNAL Q1,Q2 : STD_LOGIC; BEGINPRO1: PROCESS (CLK) BEGIN IF CLKEVENT AND CLK=1 THEN Q1 = NOT (Q2 OR A);

22、END IF; END PROCESS ;PRO2:PROCESS (Q1) BEGIN IF Q1EVENT AND Q1=1 THEN Q2 = D; END IF; QQ = Q2 ; END PROCESS ; 图图4-9 例例4-17综合的电路综合的电路一个时钟进程只一个时钟进程只能构成对应单一能构成对应单一时钟信号的时序时钟信号的时序电路。故异步逻电路。故异步逻辑需多个时钟进辑需多个时钟进程来构成。程来构成。n复习复习 qp70-86n预习预习qp86_92, q下次实验课内容:下次实验课内容:2位十进制数字频率计设计(已位十进制数字频率计设计(已经做完的同学可以考虑经做完的同学可

23、以考虑p167_实验与设计中的实验与设计中的6_2)n设计设计(两人一组任选两人一组任选1题,上缴题,上缴gdf和和scf等文件等文件)qP166_6-16-13n下次课上课地点下次课上课地点q本楼机房本楼机房205(影像)、(影像)、206(电子)(电子)4.3 1位二进制全加器的位二进制全加器的VHDL设计设计图图4-10 半加器半加器h_adder电路图电路图图图4-11 全加器全加器f_adder电路图电路图【例【例4-18】 LIBRARY IEEE ;-或门逻辑描述或门逻辑描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a,

24、 b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ARCHITECTURE one OF or2a IS BEGIN c = a OR b ; END ARCHITECTURE one;【例【例4-19】LIBRARY IEEE; -半加器描述半加器描述(1)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF

25、h_adder is BEGIN so = NOT(a XOR (NOT b) ; co = a AND b ; END ARCHITECTURE fh1; 4.3.1 半加器描述和半加器描述和CASE语句语句4.3.1 半加器描述和半加器描述和CASE语句语句absoco0000011010101101表表4-1 半加器半加器h_adder逻辑功能真值表逻辑功能真值表1. CASECASE语句语句CASE语句的一般表达式是:语句的一般表达式是:CASE ISWhen = ; . ; ;When = ; . ; ;.END CASE ;顺序顺序语句语句【例【例4-20】LIBRARY IEEE

26、; -半加器描述半加器描述(2)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ;BEGIN abc so=0; co so=1; co so=1; co so=0; co NULL ; END CASE; END PROCESS;END ARCHITECTURE

27、 fh1 ;对照对照说明说明:1)选择值或标识符所代表的值必须在表达式的)选择值或标识符所代表的值必须在表达式的取值范围内,且选择值取值范围内,且选择值只能出现只能出现1次次,不允许有相,不允许有相同选择值的条件语句出现;同选择值的条件语句出现;2)如果选择值不能覆盖表达式的所有取值,必)如果选择值不能覆盖表达式的所有取值,必须在最末一个条件句中用须在最末一个条件句中用OTHERS,以免综合器插,以免综合器插入不必要的锁存器。入不必要的锁存器。OTHERS只能出现一次,且必只能出现一次,且必须作为最后一种条件取值须作为最后一种条件取值。3)CASE语句执行过程中语句执行过程中必须选中,且只能选

28、中必须选中,且只能选中所列条件语句中的一条。所列条件语句中的一条。4)与)与whenelse 语句比较:语句比较: whenelse语句是语句是并行语句,但内部按顺序执行,故允许相同条件,并行语句,但内部按顺序执行,故允许相同条件,但前面的优先。但前面的优先。2. 标准逻辑矢量数据类型标准逻辑矢量数据类型STD_LOGIC_VECTORSTD_LOGIC_VECTOR3. 并置操作符并置操作符 以下是一些并置操作示例:以下是一些并置操作示例:SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (1 DOWN

29、TO 0) ; .a = 1 0 d(1) 1 ; - 元素与元素并置,并置后的数组长度为元素与元素并置,并置后的数组长度为4 .IF a d = 101011 THEN . - 在在IF条件句中可以使用并置符条件句中可以使用并置符 在使用在使用STD_LOGIC_VECTOR中,必须注明其数组宽度,即位宽,如:中,必须注明其数组宽度,即位宽,如: B : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; 或或 SIGNAL A :STD_LOGIC_VECTOR(1 TO 4)4.3.1 半加器描述和半加器描述和CASE语句语句对照对照【例【例4-21】 . -半加器描述

30、半加器描述(3) SIGNAL abc,cso : STD_LOGIC_VECTOR(1 DOWNTO 0 ); BEGIN abc = a & b ; co = cso(1) ; so cso cso cso csoain,b=bin,co=d,so=e); u2 : h_adder PORT MAP(a=e, b=cin, co=f,so=sum); u3 : or2a PORT MAP(a=d, b=f, c=cout); END ARCHITECTURE fd1;对照对照4.3.2 全加器描述和例化语句全加器描述和例化语句 由两部分组成,由两部分组成,第一部分是第一部分是将一个现成的设

31、计实体定将一个现成的设计实体定义为一个元件,语句的功能是对待调用的元件作出义为一个元件,语句的功能是对待调用的元件作出调用声调用声明明,它的最简表达式如下所示:,它的最简表达式如下所示: COMPONENT 元件名元件名 PORT (端口名表端口名表) ; END COMPONENT 文件名文件名 ; 第二部分是第二部分是待用元件与当前设计实体待用元件与当前设计实体(顶层文件顶层文件)中元件中元件间及端口的间及端口的连接说明连接说明。语句的表达式如下:。语句的表达式如下: 例化名例化名 : 元件名元件名 PORT MAP( 端口名端口名 = 连接端口名连接端口名,.);指待调用指待调用元件的元

32、件的指顶层指顶层元件的元件的对照对照必须有必须有/似插座名似插座名待调用待调用元件名元件名4.3.3 VHDL设计基本概念和语言现象小节设计基本概念和语言现象小节(p92)数据类型数据类型数据对象数据对象信号属性信号属性时钟检测时钟检测VHDLVHDL库库程序包程序包时序电路时序电路异步时序异步时序 真值表表达真值表表达 标准逻辑矢量标准逻辑矢量 并置操作符并置操作符 元件例化元件例化VHDL 设计流程设计流程 : V-S-F-PHDLEntryUse any Text Editor to input your designynthesisUse any VHDL Compiler to co

33、nvertyour language designto Gate level withoptimization in termof Speed / AreaittingArchitecture SynthesisTo map the logicto Altera Device Architecturee.g. LUT, Carry/Cascade Chain,EAB.(further logic optimization)rogra. Down LoadConfigure/Programming the Altera Deviceand do on board debugging,protot

34、yping or productionSTEP1STEP1:建立建立工作库文件夹工作库文件夹STEP2STEP2:输入设计项目输入设计项目原理图原理图/ /VHDLVHDL文本代码文本代码STEP3STEP3:存盘,注意存盘,注意 原理图原理图/ /文本取名文本取名STEP4STEP4:将设计项将设计项目设置成目设置成ProjectProjectSTEP5STEP5:选选择目标器件择目标器件 STEP11STEP11: 硬件测试硬件测试STEP9STEP9:引脚引脚锁定并编译锁定并编译STEP8STEP8:仿真测仿真测 试和波形分析试和波形分析STEP7STEP7:建立仿建立仿真波形文件真波形

35、文件STEP6STEP6:启动编译启动编译STEP10STEP10:编程编程 下载下载/ /配置配置VHDL文本输入设计流程文本输入设计流程 4.4 VHDL文本输入设计方法初步文本输入设计方法初步为设计为设计MUX新建一个文新建一个文件夹作工作库件夹作工作库文件夹名取为文件夹名取为My_prjct注意,不可注意,不可用中文!用中文!4.4.1 编辑输入并保存编辑输入并保存VHDL源文件源文件新建一个设新建一个设计文件计文件使用文本输入方使用文本输入方法设计,必须选择法设计,必须选择打开文本编辑器打开文本编辑器图图4-12 建立文本编辑器对话框建立文本编辑器对话框图图4-13 在文本编辑窗中输

36、入在文本编辑窗中输入VHDL文件并存盘文件并存盘文本编辑窗文本编辑窗用键盘输入设计用键盘输入设计文件:多路选择器文件:多路选择器存盘文件名必须存盘文件名必须取为:取为:mux21a.vhd注意,要存在注意,要存在自己建立的自己建立的文件夹中文件夹中文件存盘后,文件存盘后,关键词将改变关键词将改变颜色!否则文颜色!否则文件名一定有错!件名一定有错!4.4.2 将当前设计设定为工程和选定目标器件将当前设计设定为工程和选定目标器件图图4-14 设定当前文件为工程设定当前文件为工程首先点击这里首先点击这里然后选择此项,然后选择此项,将当前的文本将当前的文本设计文件设置成设计文件设置成工程工程最后注意此

37、路最后注意此路径指向的改变径指向的改变注意,此路径指注意,此路径指向当前的工程!向当前的工程!首先选择这里首先选择这里器件系列选择窗,器件系列选择窗,选择选择ACEX1K系列系列根据实验板上的根据实验板上的目标器件型号选目标器件型号选择,如选择,如选EP1K100注意,首先消去这注意,首先消去这里的勾,以便使所里的勾,以便使所有速度级别的器件有速度级别的器件都能显示出来都能显示出来选择编译器选择编译器编译窗编译窗4.4.3 选择选择VHDL文本编译版本号和排错文本编译版本号和排错图图4-15 设定设定VHDL编译版本号编译版本号选择此项选择此项选择选择VHDL1993项项选择此项选择此项消去这

38、里的勾消去这里的勾编译出错!编译出错!4.4.3 选择选择VHDL文本编译版本号和排错文本编译版本号和排错图图4-16 确定设计文件中的错误确定设计文件中的错误打开错误提示窗打开错误提示窗错误所在错误所在错误所在错误所在改正错误改正错误完成编译!完成编译!首先选择此项,首先选择此项,为仿真测试新为仿真测试新建一个文件建一个文件4.4.4 时序仿真时序仿真选择波形选择波形编辑器文件编辑器文件从从SNF文件中文件中输入设计文件输入设计文件的信号节点的信号节点点击点击“LIST”SNF文件中文件中的信号节点的信号节点用此键选择左用此键选择左窗窗中需要的信中需要的信号进入右窗号进入右窗最后点击最后点击

39、“OK” 消去这里的勾,消去这里的勾,以便方便设置以便方便设置输入电平输入电平在在Options菜单中消去网格对齐菜单中消去网格对齐Snap to Grid的选择的选择(消去对勾消去对勾) 选择选择End Time调整仿真时间调整仿真时间区域。区域。选择选择65微秒微秒比较合适比较合适用此键改变仿真用此键改变仿真区域坐标到合适区域坐标到合适位置。位置。先点击先点击b,将将其点为黑色其点为黑色然后先点击此处然后先点击此处将弹出时钟周期将弹出时钟周期设置窗设置窗设置输入信号设置输入信号b的周期为的周期为800ns设置输入信号设置输入信号a的周期为的周期为2us仿真波形仿真波形文件存盘文件存盘!选择

40、仿真器选择仿真器运行仿真器运行仿真器4.4.4 时序仿真时序仿真图图4-17 mux21a仿真波形仿真波形引脚锁定引脚锁定可选择键可选择键8作为多作为多路选择器的输入路选择器的输入“s”选择实验电路结构图选择实验电路结构图6可选择输出可选择输出“y”的信号从扬的信号从扬声器输出声器输出信号信号a和和b输入输入两个不同频率两个不同频率的时钟信号的时钟信号键键8的引脚名的引脚名作为作为“s”信号信号键键8的引脚名的引脚名对应的引脚号对应的引脚号选择实验板上选择实验板上插有的目标器件插有的目标器件扬声器引脚号扬声器引脚号为:为:99信号信号b由由“clock0”输入输入时钟信号,时钟信号,引脚号为:

41、引脚号为:126信号信号a由由“clock5”输入输入时钟信号,时钟信号,引脚号为:引脚号为:56注意,对于注意,对于GWAK30+板,板,时钟引脚必须查阅以下时钟引脚必须查阅以下 “时钟了解表时钟了解表1” 引脚对应情况引脚对应情况实验板位置实验板位置 多路选择器信号多路选择器信号 通用目标器件引脚名通用目标器件引脚名 目标器件目标器件EP1K30TC144引脚号引脚号 1、键、键8: s PIO13 272、扬声器、扬声器 y SPEAKER 993、时钟输入信号、时钟输入信号 b CLOCK0 1264、时钟输入信号、时钟输入信号 a CLOCK5 56选择引脚选择引脚锁定选项锁定选项引

42、脚窗引脚窗此处输入此处输入信号名信号名此处输入此处输入引脚名引脚名按键按键“ADD”即可即可注意引脚属性注意引脚属性错误引脚名将错误引脚名将无正确属性!无正确属性!再编译一次,再编译一次,将引脚信息将引脚信息进去进去选择编程器,选择编程器,准备将设计准备将设计好的半加器好的半加器文件下载到目文件下载到目器件中去器件中去编程窗编程窗在编程窗打开在编程窗打开的情况下选择的情况下选择下载方式设置下载方式设置选择此项下选择此项下载方式载方式下载(配置)下载(配置)成功!成功!4.4.5 硬件测试硬件测试选择电路选择电路模式为模式为“6”模式选择键模式选择键“s”为高为高电平电平注意时钟注意时钟频率选择

43、频率选择CLOCK5:a频率选择频率选择1024HzCLOCK0:b频率选择频率选择256Hz实实 验验 实验实验4-1 简单组合电路的设计简单组合电路的设计(1) 实验目的:实验目的:熟悉熟悉Max+plus的的VHDL文本设计流程全过文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。件测试。( 2 ) 实 验 内 容实 验 内 容 1 : 首 先 按 照首 先 按 照 4 . 4 节 给 出 的 步 骤 , 利 用节 给 出 的 步 骤 , 利 用MAX+plus完成完成2选选1多路选择器的文本编辑输入多路选择器

44、的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出图和仿真测试等步骤,给出图4-17所示的仿真波所示的仿真波形。最后在实验系统上进行硬件测试,实际验证本项设计的形。最后在实验系统上进行硬件测试,实际验证本项设计的功能。功能。实实 验验 实验实验4-1 简单组合电路的设计简单组合电路的设计(3 )实验内容实验内容2:将将5.4节的多路选择器看成是一个元件节的多路选择器看成是一个元件mux21a,利用元件例化利用元件例化语句描述图语句描述图5-20,并将此文件放在同一目录,并将此文件放在同一目录E:muxfile中。以下是参考程序:中。以下是参考程序: LIBRARY IEEE; USE

45、 IEEE.STD_LOGIC_1164.ALL; ENTITY MUXK IS PORT (a1,a2,a3,s0,s1 : IN STD_LOGIC; outy : OUT STD_LOGIC ); END ENTITY MUXK; ARCHITECTURE BHV OF MUXK IS COMPONENT MUX21A PORT ( a,b,s : IN STD_LOGIC; y : OUT STD_LOGIC); END COMPONENT ; SIGNAL tmp : STD_LOGIC; BEGIN u1 : MUX21A PORT MAP(a=a2,b=a3,s=s0,y=tmp); u2 : MUX21A PORT MAP(a=a1,b=tmp,s=s1,y=outy); END ARCHITECTURE BHV ;实实 验验 实验实验4-1 简单组合电路的设计简单组合电路的设计 按照按照5.4节的步骤对上例分别进行编译、综合、仿真。并对其仿真波形节的步骤对上例分别进行编译、综合、仿真。并对其仿真波形(图图5-23)作出分析说明。作出分析说明。图图5-23 仿真波形仿真波形实实 验验 实验实验4-1 简单组合电路的设计简单组合电路的

温馨提示

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

评论

0/150

提交评论