VHDL考试复习资料

合集下载

VHDL复习

VHDL复习

百度题库VHDL复习资料1.一个完整的VHDL程序,一般有哪几部分组成,它们分别描述的是什么?答:、VHDL程序的基本结构由(库)、(程序包)、(实体)、(结构体)和(配置)组成。

2.IF THEN语句、case when语句、with select语句各是什么类型语句,顺序语句必须放在什么地方?答:IF THEN语句与case when语句是顺序语句,with select语句是并行语句,顺序语句必须放在进程中。

3.结构体中常用的功能描述方式有几种?答:1)行为描述方式 2)数据流描述方式 3)结构化描述方式4.QuartusⅡ是CPLD/FPGA集成开发软件,基于QuartusⅡ软件进行设计开发,包括几个步骤,分别是什么?答:步骤分别是:1)新建项目 2)设计输入 3)分析综合及设计编译4)时序仿真 5)引脚分配及下载配置5.1987VHDL标准中规定标识符由什么组成,有什么具体要求?答:标识符可以由英文字母,数字,下划线“-”等组成选择填空1.在VHDL语言中,下列对时钟边沿检测描述中,错误的是( D )。

A.if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD.if clk’stable and not clk = ‘1’ then2.一个项目的输入输出端口是定义在( A )。

A.实体中B.结构体中C.任何位置D.进程体3. 下列语句中,不属于并行语句的是( B )。

A.进程语句B.CASE语句C.元件例化语句D.WHEN…ELSE…语句4.描述项目具有逻辑功能的是( B )。

A.实体B.结构体C.配置D.进程5.关键字ARCHITECTURE定义的是( A)。

A.结构体B.进程C.实体D.配置6.关键字ARCHITECTURE定义的是( A )。

A.结构体B.进程C.实体D.配置7.QUARTESII中编译VHDL源程序时要求( A )。

VHDL复习资料

VHDL复习资料

VHDL复习资料1、名词解释1、ASIC 专用集成电路2、SOC 单片电子系统3、EDA 电子设计自动化4、FPGA 现场可编程自动化5、CPLD 复杂可编程逻辑器件6、VHDL 非常高速的硬件描述语言7、IP 知识产权核或知识产权模块2、VHDL优点:1、语法比较严谨2、有很好的行为级描述能力和一定的系统级描述能力缺点:1、VHDL代码比较冗长2、对数据类型匹配要求过于严格,初学不方便,编程耗时较多3、对版图级、管子级等底层的描述级别几乎不支持,无法直接用于集成电路的建模3、EDA设计流程1、设计输入1)图形输入:原理图输入、状态图输入和波形图输入2)HDL文本输入:最基本、最有效、最通用的输入方法2、综合综合就是将电路的高级语言转换成低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序3、适配适配器也称结构综合器;将由综合器产生的网标文件配置成最终的下载文件。

如JEDEC、JAM、SOF、POF格式4、时序仿真和功能仿真5、编程下载6、硬件测试4、CPLD和FPGA1、CPLD 基于乘积项的可编程结构不丢失容量小2、FPGA 基于可编程的查找表(RAM)结构丢失容量大3、FPGA典型公司:Xilinx(赛灵思)Altera(阿尔特拉)5、组合电路的VHDL描述基本结构实体(外部可见):描述外部特性结构体:描述内部特性1、实体表达实体描述的是电路器件的:端口构成、端口类型和端口上流动的信号的属性ENTITY [NAME] ISPORT(Q1:IN STD_LOGIC;Q2:OUT STD_LOGIC_VECTOR (N DOWNTO 0));END;2、实体名3、端口语句和端口信号名4、端口模式5、数据类型:INTEGER类型、BOOLEAN类型、STD_LOGIC类型和BIT类型等6、结构体表达:ARCHITECTURE XX OF [NAME] IS[说明语句]BEGIN[功能描述语句]END;7、复制符号和数据比较符号8、WHEN_ELSE条件信号赋值语句9、关键字10、标识符11、规范的程序书写格式12、文件取名和存盘6、STD_LOGIC数据类型定义语句:‘0’表示强逻辑0,’1’表示强逻辑1,’Z’表示高阻态7、设计库和标准程序包WORK 工作区库:IEEE.包:STD_LOGIC.1164STD_LOGIC_UNSIGNED8、数据对象有三类:信号(SIGNAL)、变量(VARIABLE)和常量(CONSTANT)变量:VARIABLE 变量名:数据类型:= 初始值信号目标信号名<= 表达式AFTER时间量;--AFTER是关键词9、进程语句和顺序语句顺序语句IF_THEN_ELSE_END IF是放在由PROCESS_END PROCESS引导的语句中的进程顺序描述语句:包括IF语句、CASE语句、LOOP语句等结构组成进程跳出语句:包括NEXT语句、EXIT语句,用于控制进程的运行方向进程要点:PROCESS为一无限循环语句十、VHDL文字规则P 322十一、填空题(多数是元件例化)元件例化:八位乘法器library ieee;use ieee.std_logic_1164.all;entity add8 isport(a, b :in std_logic_vector(7 downto 0);sum :out std_logic_vector(8 downto 0));end;architecture xx of add8 iscomponent banjia isport(a,b: in std_logic;c,s :out std_logic);end component;component quanjia isport(a,b,c_1: in std_logic;c,s :out std_logic);end component;signal oc:std_logic_vector(6 downto 0);beginu0: banjia port map(a=>a(0), b=>b(0), c=>oc(0), s=>sum(0));u1: quanjia port map(a=>a(1),b=>b(1),c_1=>oc(0),c=>oc(1),s=>sum(1));u2: quanjia port map(a=>a(2),b=>b(2),c_1=>oc(1),c=>oc(2),s=>sum(2));u3: quanjia port map(a=>a(3),b=>b(3),c_1=>oc(2),c=>oc(3),s=>sum(3));u4: quanjia port map(a=>a(4),b=>b(4),c_1=>oc(3),c=>oc(4),s=>sum(4));u5: quanjia port map(a=>a(5),b=>b(5),c_1=>oc(4),c=>oc(5),s=>sum(5));u6: quanjia port map(a=>a(6),b=>b(6),c_1=>oc(5),c=>oc(6),s=>sum(6));u7: quanjia port map(a=>a(7),b=>b(7),c_1=>oc(6),c=>sum(8),s=>sum(7));end;---*************************--半加器library ieee;use ieee.std_logic_1164.all;entity banjia isport(a,b: in std_logic;c,s :out std_logic);end;architecture xx of banjia isbegins <= a xor b;c <= a and b;end;--********************************--全加器library ieee;use ieee.std_logic_1164.all;entity quanjia isport(a,b,c_1: in std_logic;c,s :out std_logic);end;architecture xx of quanjia isbegins <= a xor b xor c_1;c <= (a and b) or (a and c_1) or (b and c_1);end;十二、编程题1、计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JSQ4 ISPORT(CLK:IN STD_LOGIC;Q :OUT STD_LOGIC_VECTOR(1 DOWNTO 0));END;ARCHITECTURE XX OF JSQ4 ISSIGNAL TQ:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CLK'EVENT AND CLK='1' THENTQ<= TQ+1;END IF;END PROCESS;Q<=TQ;END2、译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY YIMAQI ISPORT(ADDR:IN STD_LOGIC_VECTOR(1 DOWNTO 0)Y :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;ARCHITECTURE XX OF IS YIMAQI ISBEGINY<="1110"WHEN ADDR="00"ELSE"1101"WHEN ADDR="01"ELSE"1011"WHEN ADDR="10"ELSE"0111";END;3、选择器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XZQ ISPORT(D0,D1,D2,D3:IN STD_LOGIC_VECTOR(7 DOWNTO 0) ADDR :IN STD_LOGIC_VECTOR(1 DOWNTO 0)DATA :OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END;ARCHITECTURE XX OF XZQ ISBEGINDATA<=DO WHEN ADDR="00" ELSED1 WHEN ADDR="01" ELSEDO WHEN ADDR="10" ELSED3;END;。

VHDL考试复习资料

VHDL考试复习资料

• 例: SUBTYPE natural IS integer RANGE 0 TO +2147483647; SUBTYPE positive IS integer RANGE 1 TO +2147483647; SUBTYPE data_type IS integer RANGE 0 TO 255; 第3个子类型定义的数据类型data_type只会消耗8位数据线的资源。 如果没有RANGE 0 TO 255这一范围限制,就会消耗32位数据线资源。
必须的两个部分:
• 实体说明(entity declaration) • 结构体(architecture body)
architecturn
configuration
VHDL语言程序的结构组成
实体说明(entity)
• 描述一个数字电路的接口。如:
一个存储器,需要数据线、地址线、时钟线、读写使 能控制线、片选控制线。代码: library ieee;
ห้องสมุดไป่ตู้
数据类型
数据类型: • VHDL标准数据类型有10种,与电路中的逻辑电平直接对应
的是“bit”和“bit_vector”两种类型。除此之外还有: integer real boolean character string time severity level natural、positive
TYPE byte IS array(7 downto 0) of std_logic; TYPE char IS array(7 downto 0) of std_logic; 已有的数据类型: std_logic_vector
用类型byte和类型char定义产生的对象之间不能直接赋值,它们属于完 全不同的类型。

(完整版)VHDL复习

(完整版)VHDL复习

百度题库VHDL复习资料1.一个完整的VHDL程序,一般有哪几部分组成,它们分别描述的是什么?答:、VHDL程序的基本结构由(库)、(程序包)、(实体)、(结构体)和(配置)组成。

2.IF THEN语句、case when语句、with select语句各是什么类型语句,顺序语句必须放在什么地方?答:IF THEN语句与case when语句是顺序语句,with select语句是并行语句,顺序语句必须放在进程中。

3.结构体中常用的功能描述方式有几种?答:1)行为描述方式 2)数据流描述方式 3)结构化描述方式4.QuartusⅡ是CPLD/FPGA集成开发软件,基于QuartusⅡ软件进行设计开发,包括几个步骤,分别是什么?答:步骤分别是:1)新建项目 2)设计输入 3)分析综合及设计编译4)时序仿真 5)引脚分配及下载配置5.1987VHDL标准中规定标识符由什么组成,有什么具体要求?答:标识符可以由英文字母,数字,下划线“-”等组成选择填空1.在VHDL语言中,下列对时钟边沿检测描述中,错误的是( D )。

A.if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD.if clk’stable and not clk = ‘1’ then2.一个项目的输入输出端口是定义在( A )。

A.实体中B.结构体中C.任何位置D.进程体3. 下列语句中,不属于并行语句的是( B )。

A.进程语句B.CASE语句C.元件例化语句D.WHEN…ELSE…语句4.描述项目具有逻辑功能的是( B )。

A.实体B.结构体C.配置D.进程5.关键字ARCHITECTURE定义的是( A)。

A.结构体B.进程C.实体D.配置6.关键字ARCHITECTURE定义的是( A )。

A.结构体B.进程C.实体D.配置7.QUARTESII中编译VHDL源程序时要求( A )。

vhdl期末考试复习题大全

vhdl期末考试复习题大全

VHDL 复习一.问答题一.问答题1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别?赋值符号分别是什么?两种赋值符号有什么区别?l 信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。

信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。

语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。

l 信号赋值符号为“<=”变量赋值用变量赋值用““:=”。

信号赋值符号用于信号赋值动作,信号赋值符号用于信号赋值动作,不立不立即生效。

变量,赋值符号用于变量赋值动作,立即生效。

即生效。

变量,赋值符号用于变量赋值动作,立即生效。

2进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?l 进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号间以“,”号分隔。

当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。

件发生,进程再次被激活,如此循环往复。

3什么是库、程序包、子程序、过程调用和函数调用?什么是库、程序包、子程序、过程调用和函数调用?l 库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、调用。

子程序由过程和函数组成。

在子程序调用过程中,过程能返回多个变量,多个变量,函数只能返回一个变量。

函数只能返回一个变量。

函数只能返回一个变量。

若子程序调用的是一个过程,若子程序调用的是一个过程,若子程序调用的是一个过程,就称为过程调用,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。

过程调用、函数调用都是子程序调用。

VHDL复习题要点

VHDL复习题要点

一、选择题( A )1.一个项目的输入输出端口是定义在:A。

实体中 B. 结构体中C. 任何位置D。

进程体( B)2.描述项目具有逻辑功能的是:A。

实体B。

结构体C。

配置 D. 进程( A )3.关键字ARCHITECTURE定义的是:A。

结构体 B. 进程C. 实体D。

配置( D )4.VHDL语言中变量定义的位置是:A。

实体中中任何位置B。

实体中特定位置C. 结构体中任何位置D. 结构体中特定位置( D )5.VHDL语言中信号定义的位置是:A. 实体中任何位置B。

实体中特定位置C. 结构体中任何位置D. 结构体中特定位置( B )6.变量是局部量可以写在:A。

实体中B。

进程中C. 线粒体D. 种子体中( A )7.变量和信号的描述正确的是:A. 变量赋值号是:=B. 信号赋值号是:=C。

变量赋值号是<= D。

二者没有区别( B )8。

变量和信号的描述正确的是:A。

变量可以带出进程 B. 信号可以带出进程C. 信号不能带出进程D. 二者没有区别()9.对于信号和变量的说法,哪一个是不正确的:A. 信号用于作为进程中局部数据存储单元B. 变量的赋值是立即完成的C。

信号在整个结构体内的任何地方都能适用D. 变量和信号的赋值符号不一样( A )10.下列关于变量的说法正确的是:A.变量是一个局部量,它只能在进程和子程序中使用B.B. 变量的赋值不是立即发生的,它需要有一个δ延时×××××试卷第1页(共××页)C. 在进程的敏感信号表中,既可以使用信号,也可以使用变量D. 变量赋值的一般表达式为:目标变量名〈= 表达式( C )11.可以不必声明而直接引用的数据类型是:A。

STD_LOGIC B。

STD_LOGIC_VECTORC. BIT D。

前面三个答案都是错误的( C )12.STD_LOGIG_1164中定义高阻的字符是:A. X B。

vhdl期末考试复习提纲(考点大全)

vhdl期末考试复习提纲(考点大全)

Vhdl复习考试题型:单项选择题:(10*2=20分)简答题:(5*4=20分,每小题5分)判断改错题:(2*5=20分)综合题:(共50分)VHDL 大小写不敏感实体(Entity)描述此设计功能输入输出端口(Port)在层次化设计时,Port为模块之间的接口在芯片级,则代表具体芯片的管脚Entity eqcomp4 isport(a, b: in std_logic_vector(3 downto 0);equal:out std_logic);end eqcomp4;实体--端口的模式输入(Input)输出(Output)双向(Inout):可代替所有其他模式,但降低了程序的可读性,一般用于与CPU的数据总线接口缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号结构体(Architecture)描述实体的行为结构体有三种描述方式-行为描述(behavioral)-数据流描述(dataflow)-结构化描述(structural)结构体--行为描述结构体--数据流描述描述输入信号经过怎样的变换得到输出信号结构体--结构化描述三种描述方式的比较VHDL标识符(Identifiers)•基本标识符由字母、数字和下划线组成•第一个字符必须是字母•最后一个字符不能是下划线•不允许连续2个下划线•保留字(关键字)不能用于标识符•大小写是等效的VHDL数据对象(Data Objects)•常数(Constant)–固定值,不能在程序中被改变–增强程序的可读性,便于修改程序–在综合后,连接到电源和地–可在Library、Entity、Architecture、Process中进行定义,其有效范围也相应限定Constant data_bus_width: integer := 8;•信号(Signals)–代表连线,Port也是一种信号–没有方向性,可给它赋值,也可当作输入–在Entity中和Architecture中定义–设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。

eda与vhdl复习资料完整

eda与vhdl复习资料完整

eda与vhdl复习资料选择题练习一、VHDL基本结构1. 一个项目的输入输出端口是定义在A. 实体中B. 结构体中C. 任何位置D. 进程中2. 描述项目逻辑功能的是A. 实体B. 结构体C. 配置D. 进程3. 关键字ARCHITECTURE定义的是A. 结构体B. 进程C. 实体D. 配置4.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL 设计现行工作库:A.IEEE库B.VITAL库C.STD库D.WORK工作库5. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述是A.器件外部特性;B.器件的内部功能;C.器件的综合约束;D.器件外部特性与内部功能。

6. 在VHDL中,库可以包含一个或多个A. 程序包B. 结构体C. 输入D. 输出7. 一个能为VHDL综合器接受,并能作为一个独立的设计单元的完整的VHDL程序成为A.设计输入B. 设计输出C. 设计实体D. 设计结构8. Q为输出信号,但内部设计会用到其反馈信号,其正确的端口说明是:A. Q:IN BIT;B. Q:OUT BIT;C. Q:INOUT BIT;D. Q:BUFFER BIT;9.VHDL语言程序结构的特点是把一个设计实体分成A.外部和内部B.实体和实体说明C.结构体和结构体说明D.图形部分和文本部分10. VHDL设计文件的实体说明部分描述的是A.电路系统的内部结构B.电路系统的逻辑功能C.电路系统的主要参数D.电路系统的外部端口11.VHDL语言程序结构中必不可少的部分是:A.库B.程序包C.配置D.实体和结构体12. 下列选项中,哪些项在VHDL程序设计文件中属于可选部分A.库和实体B.实体和结构体C.结构体和配置D. 库、程序包和配置13. 关于VHDL中实体说明的格式,以下叙述不正确的是A.实体说明以“ENTITY 实体名IS”开头,以“END 实体名”结束B.实体说明中包含类属表和端口说明两部分C.端口说明中只需要规定端口的模式即可D.实体名一定要与设计文件同名14. 在VHDL的实体说明中,端口名表的作用是A.列出所有输入端口的名称B.列出所有输出端口的名称C.说明实体输入、输出端口的信号类型及端口模式D.只定义输入、输出端口的数目15. 在VHDL中,为了使已声明的数据类型、子程序、元件能被其他设计实体调用或共享,可以把它们汇集在中。

VHDL期末复习资料

VHDL期末复习资料

一、填空题(根据题意,将下列各题的正确答案填写在对应小题内的“”处,每空1.5分,)1.基于EDA技术的电子系统设计采用的是的方法。

2. 时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为。

3. 图形文件设计结束后一定要通过,检查设计文件是否正确。

4. 一个实用的vhdl程序一般由、和组成。

5.实体的端口定义包括、和。

6. VHDL的操作符包括、、和四类。

7. 在VHDL中,标准逻辑类型数据有种逻辑值。

8.在一个实体的端口方向说明时,输入使用in表示,那么结构体内部不能再使用的输出是用表示;双向端口是用表示;结构体内部可再次使用的输出是用表示。

9.VHDL的短标识符名必须以,后跟若干字母、数字或单个下划线构成,但最后不能为。

10. vhdl的数据对象包括、、、和它们用来存放各种类型数据。

11.在VHDL的端口声明语句中,端口方向包括、、和。

12. 进程process在仿真运行中,只能处于和两种状态。

13. VHDL的结构体用来描述实体的和,它由VHDL语句构成,是外界看不到的部分。

14.CLK下降沿描述语句为:。

15. VHDL的实体声明部分指定了设计单元的或它是设计实体对外的一个通信界面,是外界可以看到的部分。

16. 在VHDL中最常用的库是标准库,最常用的数据包是数据包。

17. 过程调用的两种方法为和。

18. 一个完整的VHDL语言程序通常包含、、、和。

19. 和是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。

20. VHDL语言的两大基本语句是和。

21. 根据VHDL语法规则,在VHDL程序中使用的文字、数据对象、数据类型都需要。

22. 逻辑综合中,信号赋值符号是,变量的赋值符号。

23. 在VHDL中,的数据传输是立即发生的,不存在任何延时的行为。

24. 进程process后面括号里面的称为。

25. 在std_logic类型中,_ ____、_ ____和_ ____三种值不能够被综合所支持。

VHDL复习题

VHDL复习题

习题3.1比较常用硬件描述语言VHDL、Verilog和ABEL语言的优劣。

1.VHDL:描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高。

有多种EDA工具选择,已成为IEEE标准。

应用VHDL进行工程设计的优点是多方面的,具体如下:(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。

(2) VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。

(3) VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。

(4) 用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表(根据不同的实现芯片)。

(5) VHDL对设计的描述具有相对独立性。

(6) VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。

2. Verilog:设计者需要了解电路的结构细节,对综合器的性能要求较低。

有多种EDA工具选择,已成为IEEE标准。

3.ABEL: 设计者需要了解电路的结构细节,对综合器的性能要求较低。

支持ABEL的综合器只有一家,ABEL正朝国际化标准努力。

3.2 VHDL程序一般包括几个组成部分?每部分的作用是什么?(1)三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。

(2)库、程序包使用说明:用于打开调用本设计实体将用到的库、程序包实体描述:用于描述该设计实体与外界的接口信号说明结构体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体选定某个特定的结构体3.3 VHDL语言中数据对象有几种?各种数据对象的作用范围如何?各种数据对象的实际物理含义是什么?(1)数据对象有三种:变量、常量、信号(2)常量的作用范围取决于其所定义的位置。

VHDL复习题总结

VHDL复习题总结

VHDL复习题1.什么是 VHDL?简述 VHDL的发展史。

答: VHDL 是美国国防部为电子项目设计承包商供给的,签订合同使用的,电子系统硬件描绘语言。

1983 年建立 VHDL语言开发组, 1987 年推行实行, 1993 年扩大改版。

VHDL是 IEEE 标准语言,宽泛用于数字集成电路逻辑设计。

2.简述 VHDL设计实体的结构。

答:实体由实体名、种类表、端口表、实体说明部分和实体语句部分构成。

依据IEEE 标准,实体组织的一般格式为:ENTITY实体名IS[GENERIC( 种类表 ) ; ] --可选项[PORT( 端口表 ) ; ]--必要项实体说明部分;--可选项[BEGIN实体语句部分;]END [ENTITY] [实体名];3.设计一个 4 位计数器。

答:用行为描绘方法设计一个 4 位计数器以下,其余描绘方法,读者可自行设计。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY countA ISPORT (clk,clr,en:IN STD_LOGIC;Qa,qb,qc,qd:OUT STD_LOGIC);END countA;ARCHITECTURE example OF countA ISSIGNAL count_4:STD_LOGIC_vector (3 DOWNTO 0);BEGINQa <= count_4(0);Qb <= count_4(1);Qc <= count_4(2);Qd <= count_4(3);PROCESS (clk,clr)BEGINIF (clr = '1' ) THENCount_4 <= "0000";ELSIF (clk'EVENT AND clk = '1' ) THENIF (en = '1' ) THENIF (count_4 = "1111") THENcount_4 <= "0000";ELSEcount_4 <= count_4+ '1';END IF;END IF;END IF;END PROCESS;END example;4.什么叫对象?对象有哪几个种类?答:在 VHDL语言中,凡是能够赋于一个值的客体叫对象(object)。

(完整版)VHDL复习

(完整版)VHDL复习

(完整版)VHDL复习百度题库VHDL复习资料1.⼀个完整的VHDL程序,⼀般有哪⼏部分组成,它们分别描述的是什么?答:、VHDL程序的基本结构由(库)、(程序包)、(实体)、(结构体)和(配置)组成。

2.IF THEN语句、case when语句、with select语句各是什么类型语句,顺序语句必须放在什么地⽅?答:IF THEN语句与case when语句是顺序语句,with select语句是并⾏语句,顺序语句必须放在进程中。

3.结构体中常⽤的功能描述⽅式有⼏种?答:1)⾏为描述⽅式 2)数据流描述⽅式 3)结构化描述⽅式4.QuartusⅡ是CPLD/FPGA集成开发软件,基于QuartusⅡ软件进⾏设计开发,包括⼏个步骤,分别是什么?答:步骤分别是:1)新建项⽬ 2)设计输⼊ 3)分析综合及设计编译4)时序仿真 5)引脚分配及下载配置5.1987VHDL标准中规定标识符由什么组成,有什么具体要求?答:标识符可以由英⽂字母,数字,下划线“-”等组成选择填空1.在VHDL语⾔中,下列对时钟边沿检测描述中,错误的是( D )。

A.if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD.if clk’stable and not clk = ‘1’ then2.⼀个项⽬的输⼊输出端⼝是定义在( A )。

A.实体中B.结构体中C.任何位置D.进程体3. 下列语句中,不属于并⾏语句的是( B )。

A.进程语句B.CASE语句C.元件例化语句D.WHEN…ELSE…语句4.描述项⽬具有逻辑功能的是( B )。

A.实体B.结构体C.配置D.进程B.进程C.实体D.配置6.关键字ARCHITECTURE定义的是( A )。

A.结构体B.进程C.实体D.配置7.QUARTESII中编译VHDL源程序时要求( A )。

VHDL复习提纲

VHDL复习提纲

数字系统设计期末考试复习提纲一、熟悉以下英文简写的全称与中文:(20分)VHDL、CPLD、FPGA、IC、IP、ASIC、SoC、CMOSVHDL: Very High Speed Integrated Circuit Hardware Description Language超高速集成电路硬件描述语言CPLD: Complex Programmable Logic Device复杂可编程逻辑器件EPLD:Erasable Programmable Logic Device可擦除可编程逻辑器件FPGA: Field Programmable Gate Array现场可编程门阵列PAL:Programmable Array Logic可编程阵列逻辑GAL:Generic Array Logic通用阵列逻辑OLMC:Out Logic Macro Cell输出逻辑宏单元IC:Integrated Circuit集成电路IP: Intellectual Property知识产权ASIC: Application Specific Integrated Circuit专用集成电路SoC: System on Chip系统芯片CMOS: Complementary Metal Oxide Semi-conductor Field Effect Transistor互补型金属氧化物半导体场效应管EAB:Embedded Array Block嵌入式阵列块二、了解MOS管的工作原理,熟练掌握CMOS组合逻辑门电路的组合规则;(20分)书上51页3.4的(3),NMOS逻辑块按“串与并成”,PMOS逻辑.....,及图3-17,3-20,3-21,还有73页第三题(答案是与非门)三、掌握VHDL语言最基本的概念(课堂上所讲的);(20分)1、VHDL几种描述方式:实体描述和结构体描述(117页和118页)2、命名规则(119页-124页)四、掌握最基本电路的编程实现方法:(40分)1.简单门电路的设计(与门、与非门等);(书139仅供参考)2.采用结构化描述方法进行电路设计的方法(移位寄存器等);(书134页和214页参考)3.掌握时序电路中同步复位与异步复位的实现方法,并结合计数器的设计;(书212和213页参考)4.稍复杂电路的设计。

VHDL复习资料

VHDL复习资料

一.填空(每空1分,共20分)1.MAX+plusII是ALTERA 公司自己开发的EDA 工具软件。

2. VHDL设计实体的基本结构由库、程序包、实体、结构体、配置等部分构成。

3.在VHDL中最常用的库IEEE 标准库,最常用的包集合是1164。

4.在VHDL的端口声明语句中,端口方向包括输入(in)、输出(out)、输入|输出(inout)、缓冲和。

5.VHDL的顺序语句只能出现在进程、函数、过程中,是按程序书写顺序自上而下,一条一条地执行。

6.VHDL的块语句是并行语句结构,它的内部是由并行语句构成的7.VHDL的变量(VARIABLE)是一种局部量,只能在进程、函数和过程中声明和使用。

8.MAX+plusII支持文本、原理图、波形、符号编辑等不同的编辑方式。

9.MAX+plusII工具软件有功能、时序、仿真等功能。

10.MAX—PLUSⅡ的波形编辑文件分波形输入和波形仿真,它们的文件扩展名分别是W D F 和S C F。

11.VHDL的实体声明部分指定了设计单元的输入输出端口,它是设计实体对外的通信界面,是外界可以看到的部分。

12.CPLD和FPGA的含义分别是复杂可编程逻辑器件,现场可编程门阵列。

13.在VHDL中,含WAIT语句的进程Process的括号不能再加敏感量 ,否则是非法的.14.VHDL的Process(进程)语句是由顺序语句组成的,但其本身却是并发语句结构。

15.VHDL的子程序有函数和过程两种类型。

16.在VHDL中,标准逻辑位数据有 0和1种逻辑值。

17.MAX—PLUSⅡ的仿真分功能仿真和时序仿真。

18.VHDL的变量(VARIABLE)是一个功能变量,只能在进程、函数和过程中声明和使用。

19.VHDL的数据对象包括常数、变量、信号和文件。

20. 实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。

20.VHDL语言的字符是以字母的下划线括起来的数字、字母和符号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型: • VHDL标准数据类型有10种,与电路中的逻辑电平直接对应
的是“bit”和“bit_vector”两种类型。除此之外还有: integer real boolean character string time severity level natural、positive
VHDL的数据类型与运算操作符
buffer 用于信号的输出,但和out模式不同,buffer可以回读输 出的数据。如: data:buffer integer; 此时data可以作为输出端口输出数据,也可以读取所输 出的值。 data<=data+1; --回读端口数据再加1送出
端口模式:buffer 数据输出 数据回读
ቤተ መጻሕፍቲ ባይዱ
数据类型
常量 constant 文件(略)file
VHDL语言的对象
四种对象的特点、区别:
• 定义、访问的位置和方式不同 • 常量一旦定义,不可更改,变量、信号以及文件 是可以实时改变的。 • 常量的赋值没有延迟,而信号的赋值有延迟 • 信号一般对应了硬件实体,而常量有可能有实际 的硬件对应,有可能没有实际的硬件对应。这个 软件的综合方式以及VHDL程序本身有关。
锁存器电路
entity T6_5 is port(a,b:in bit; c:out bit); end entity T6_5; architecture one of T6_5 is begin process(a,b) begin if(a='1')then c<=b; end if; end process; end architecture one; 见课本99页 锁存器电路
architecture n
VHDL语言程序的结构组成
• 结构体描述方法: --(暂略)
ARCHITECTURE <结构体名> OF <实体名> IS [结构体说明部分]; BEGIN <并行处理语句>; END [ARCHITECTURE] <结构体名>;
实体说明(entity)
端口方向: • in
状态机的分类
2. 摩尔型状态机
输入X 组合 逻辑 电路 clk 状 态 寄 存 器 组合 逻辑 电路 输出Y
摩尔状态机的输出只和当前的状态有关,次态由当 前状态和当前的输入确定。可见摩尔状态机的输出 不能够立刻响应输入,需要在时钟边沿到来之后才 能够响应。
VHDL语言程序的结构组成
设计的构成
• • • • 库(library) 程序包(package) 实体说明(entity declaration) 结构体(architecture body)
只能够接收信号,用于输入,如 data:in bit_vector(7 downto 0); 此时data只能够被读取,不能写入,即 data<=x”A8”; --试图写数据到data,错误 temp<=data; --从data读取数据,正确
端口模式:in 数据输入
3.1.1 实体说明(entity)
D触发器的VHDL描述
clk D触发器 d
q
二选一电路
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; ENTITY mux2 IS PORT(d0:IN std_logic_vector(3 DOWNTO 0); d1:IN std_logic_vector(3 DOWNTO 0); sel:IN std_logic; q:OUT std_logic_vector(3 DOWNTO 0)); END ENTITY mux2; ARCHITECTURE rtl OF mux2 IS BEGIN PROCESS(d0,d1,sel) BEGIN IF(sel='1')THEN q<=d0; ELSE q<=d1; END IF; END PROCESS; END ARCHITECTURE rtl;
ram addr[15..0] clk rd_n wr_n cs_n inst data[7..0]
VHDL语言程序的结构组成
• 实体描述方法: --(暂略)
ENTITY <实体名> IS [类属参数说明]; [端口说明]; [实体说明部分]; END [ENTITY] <实体名>;
VHDL语言程序的结构组成
数据类型
• 注:不能用array定义新的子类型,array只能定义类型。 例:
SUBTYPE byte IS ARRAY(7 DOWNTO 0)OF std_logic; --错误 希望定义一个8位的std_logic逻辑矢量,应该如下定义: TYPE byte IS ARRAY(7 DOWNTO 0)OF std_logic; --或 SUBTYPE byte IS std_logic_vector(7 DOWNTO 0); • 子类型和原类型之间的赋值: 赋值内容必须是两类型取值范围的交集,否则赋值过程报错。 • 用type定义的类型是一个全新的类型,之间不能够直接进行赋值,如
•课本11行数据枚举类型,12行属于子类型 定义变量时限定数组下标
数据类型
子类型
• 子类型是从其他数据类型中派生出来的,其区别是子类型的取值范 围是原数据类型的子集,采用这种方式可以使程序结果更加精简, 消耗更小的硬件资源。 • 子类型的定义方式:
SUBTYPE 子类型名 IS 基本数据类型名 [范围限制];
VHDL硬件描述语言
题型:
• 基本概念
一、填空 二、选择题
• 应用
三、程序填空 四、改错题 五、编程
基本概念
选择、填空(略)
状态机的分类
1. 米勒型状态机
输入X 组合 逻辑 电路 输出Y 下一个状态 状 态 寄 存 器
clk
当前状态
米勒型状态机的输出值不但与状态寄存器中所保存的 当前状态有关,还与当前的输入数据有关
• out
只能够发送信号,用于输出,如 data:out bit_vector(7 downto 0); 此时data只能够被写入,不能读取,即 data<=x”A8”; --写数据到data,正确 temp<=data; --试图从data读取数据,错误
端口模式:out 数据输出
实体说明(entity)
library package
entity declaration
• 配置(configuration)
architectur0 architectur1
必须的两个部分:
• 实体说明(entity declaration) • 结构体(architecture body)
architecturn
configuration
VHDL语言程序的结构组成
实体说明(entity)
• 描述一个数字电路的接口。如:
一个存储器,需要数据线、地址线、时钟线、读写使 能控制线、片选控制线。代码: library ieee;
use ieee.std_logic_1164.all; entity ram is port(data:inout std_logic_vector(7 downto 0); addr:in std_logic_vector(15 downto 0); clk:in std_logic; rd_n:in std_logic; 对应的电路接口 wr_n:in std_logic; cs_n:in std_logic); end entity ram; architecture one of ram is begin ......... end architecture one;
TYPE byte IS array(7 downto 0) of std_logic; TYPE char IS array(7 downto 0) of std_logic; 已有的数据类型: std_logic_vector
用类型byte和类型char定义产生的对象之间不能直接赋值,它们属于完 全不同的类型。
结构体(architecture)
• 结构体主要用来描述设计的行为和结构,即用来描 述设计实体的具体功能。
architecture 1 architecture 2 entity architecture 3
为一个设计 实体可以编写若 干个结构体,但 是用的时候只能 够为实体指定一 个特定的结构体, 这个指定是通过 配置实现的。
数据类型
• 数组类型 ARRARY
VHDL支持数组类型,但在定义一个数组之前一定要 先定义好数组类型,其格式为:
TYPE 数组类型名IS ARRAY 约束范围 OF 数组元素类型; 例: 定义类型时限定数组下标 TYPE word IS ARRAY(15 DOWNTO 0) OF bit; TYPE data_bus IS ARRAY(7 DOWNTO 0) OF std_logic; TYPE lword IS ARRAY(natural RANGE<>) OF bit; 注:以上3行代码不是在定义数组,而是在定义数组类型。 使用以上的数组类型: variable data:word:=x”ff00”; --被编译器解释为 “1111111100000000” variable data:data_bus:=x”fa”; --被编译器解释为 “11111010” variable data:lword(3 downto 0):=“1010”;
• 例: SUBTYPE natural IS integer RANGE 0 TO +2147483647; SUBTYPE positive IS integer RANGE 1 TO +2147483647; SUBTYPE data_type IS integer RANGE 0 TO 255; 第3个子类型定义的数据类型data_type只会消耗8位数据线的资源。 如果没有RANGE 0 TO 255这一范围限制,就会消耗32位数据线资源。
相关文档
最新文档