VHDL数字系统设计复习材料

合集下载

EDA与VHDL复习参考题 (1)

EDA与VHDL复习参考题 (1)

选择题1. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,()是错误的。

A. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。

2. IP核在EDA技术和开发中具有十分重要的地位,IP分软IP、固IP、硬IP,下列所描述的IP核中,对于硬IP的正确描述为__________。

A.提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路;B.提供设计的最总产品----掩膜;C.以网表文件的形式提交用户,完成了综合的功能块;D.都不是。

3提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__________。

A .软IP B.固IP C.硬IP D.都不是4 在VHDL程序存盘过程当中,文件名应该是()A. 结构体名B. 程序包名C. 任意D. 实体名5. 大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是____。

A.FPGA是基于乘积项结构的可编程逻辑器件;B. FPGA是全称为复杂可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。

6. 规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过_______实现其逻辑功能。

A. 可编程乘积项逻辑B. 查找表(LUT)C. 输入缓冲D. 输出缓冲7.大规模可编程器件主要有CPLD和FPGA两类,下面对FPGA结构与工作原理描述中,正确的是()A FPGA全称为复杂可编程逻辑器件B FPGA是基于乘积项结构的可编程逻辑器件。

最新VHDL课程设计题目资料

最新VHDL课程设计题目资料

08级VHDL课程设计题目选题说明:1、每人选做一题。

2、详细设计要求待选定题目后所发的任务书而定。

3、如有别的题目想做的同学,可向老师提出申请。

课程设计目录1、设计任务与要求2、总体框图3、功能模块(包括代码)4、总体设计电路图(包括仿真输入及仿真波形,并附上仿真说明)5、学习VHDL的心得体会(1000字左右)1、洗衣机洗涤控制器的FPGA实现要求采用VHDL语言设计一个洗衣机洗涤控制器,要求能根据洗涤模式控制洗涤步骤的开关,并显示洗涤状态进行和结束。

同时,能设置洗涤模式,并显示洗涤所剩时间(假设系统某一洗涤模式下最长的洗涤时间为59分59秒);编写洗衣机洗涤控制器程序,实现控制功能,进行软件仿真,得出仿真波形。

(书上有相关的内容可做参考,但要注意区别)2、同步FIFO控制器设计要求采用VHDL语言设计一个同步FIFO控制器,设计要求:端口要求(时钟:clk,复位:reset,写使能信号wr_en,输入数据din,读使能信号rd_en,输出数据dout,输出数据有效信号valid),输入数据和输出数据类型大小一致,同一个时钟控制,输出数据时有数据有效信号valid表示。

实现同步fifo控制功能,进行软件仿真,得出仿真波形。

3、出租车计费系统的VHDL实现设计并制作一台出租车计费系统。

基本要求:1、里程显示,显示方式为XXX.X,单位为km精确到0.1km2、里程单价显示,显示方式为X.XX,单位为元/km,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.40元/km,其他时间段单价为1.80元/km;3、费用的计算及显示,出租车的起价为5.00元,当里程小于2km时,按起价计算费用;当里程大于2km时,按下式计算费用:费用=里程×里程单价+等候时间×等候单价费用显示方式为XXX:XX,单位为元;4、当出租车在正常运行状态下,应能显示当前的时间;在熄火的情况下,时钟必须正常运行,但是可以不显示时钟;4、电梯控制器的FPGA实现采用VHDL语言设计一个电梯控制器,要求能控制电梯完成4个楼层的载客服务,而且遵循方向优先的原则,提前关电梯门和延迟关电梯门,对电梯的运行(上升和下降)、停止、等待等状态进行控制。

VHDL学习资料4

VHDL学习资料4

下标名及下标段名使用: SIGNAL A,B,C:BIT_VECTOR(0 TO 7); SIGNAL D:BIT_VECTOR(0 TO 5); SIGNAL M:INTEGER RANGE 0 TO 3; SIGNAL Y,Z :BIT; Y<=A(M); --M是不可计算型下标表示 Z<=B(5); --3是可计算型下标表示 C(0)<=Y; --下标名用来对数组中某一个元素赋值 C<=D; --下段名用来对数组中某一段元素赋值 C (2 TO 7)<=D (0 TO 5); C (0 TO 3)<=“1001”;
3、定义区域
信号:实体、结构体、程序包 变量:进程、子程序 常数:实体、结构体、程序包、块、进程、子程序
4、适用范围
信号:视其定义的位置而定 变量:定义了变量的进程、子程序的顺序语句中 常数:视其定义的位置而定 若定义在程序包中,适用范围是调用此程序包的设计实 体。 若定义在实体中,适用范围是实体所对应的所有结构体。 若定义在结构体中,适用范围就是本结构体。 若定义在结构体的某一子结构(例如函数)中,适用范 围就是这个结构体的子结构。
预定义数据类型和用户自定义数据类型
1.VHDL的预定义数据类型
VHDL的预定义数据类型都是在VHDL标准程 序包STANDARD中定义的。
1). 2). 3). 4). 5). 6). 7). 8). 9). 布尔(BOOLEAN)数据类型 位(BIT)数据类型 位矢量(BIT_VECTOR)数据类型 字符(CHARACTER)数据类型 整数(INTEGER)数据类型 实数(REAL)数据类型 字符串(STRING)数据类型 时间(TIME)数据类型 错误等级(SEVERITY_LEVEL)

最新VHDL必须掌握的知识点和相关例题整理

最新VHDL必须掌握的知识点和相关例题整理

VHDL总复习之必须要掌握的知识点和相关例题目录VHDL总复习之必须要掌握的知识点和相关例题 (1)1.VHDL语言的基本设计实体和完整的VHDL语言程序的结构 (2)2.进程(PROCESS)语句的结构 (2)3.VHDL语言子程序的结构 (2)(1).过程(Procedure) (2)(2).函数(Function) (2)4.过程与函数的主要区别 (3)5.进程和子程序中使用的语句 (3)6.VHDL语言中客体的概念及使用范围 (3)7.信号和变量的区别及作用范围 (3)8.VHDL语言的数据类型和运算操作 (4)9.VHDL语言构造体的三种描述方式 (4)PONENT(元件)语句和COMPONENT—INSTANT(元件例示)语句的功能和书写格式 (5)11.VHDL语言的主要描述语句的功能、使用场合和语法格式 (5)12.VHDL语言的命名规则 (6)13.VHDL语言的数值类属性描述 (6)14.VHDL语言的信号属性函数 (7)15.数值系统的定义方法,各种状态的含义 (7)16.采用有限状态机进行电路设计的基本方法 (7)17.仿真Δ延时引入的原因和对并发语句仿真结果的影响 (8)18.逻辑综合的概念与主要步骤 (8)19.运用VHDL语言和FPGA进行电路设计的主要步骤 (8)VHDL的全称以及利用VHDL设计硬件电路所具有的特点Very High Speed Integrated Circuit Hardware Description Language (超高速集成电路硬件描述语言)(1)设计文件齐全、方法灵活、支持广泛(2)系统硬件描述能力强(3)VHDL语言可以与工艺无关编程(4) VHDL语言标准、规范、易于共享和复用1.VHDL语言的基本设计实体和完整的VHDL语言程序的结构一个VHDL语言的基本设计实体由实体说明和构造体两个部分构成;一个完整的VHDL 语言程序包含5个部分:实体、构造体、配置、包集合(程序包)和库。

数字系统设计-VHDL基础

数字系统设计-VHDL基础

第5章 VHDL基础Ø1983年VHDL 语言正式提出;Ø1987年IEEE 将VHDL 采纳为标准,即“IEEE Std 1076-1987”,从而使VHDL 成为硬件描述语言的业界标准之一,各EDA 公司相继推出自己的VHDL 设计环境,或宣布自己的设计工具支持VHDL ;Ø1993年,IEEE 对VHDL 做了修订,从更高的抽象层次和系统描述能力上扩展了VHDL 的功能,公布了新版本的VHDL 标准,即“IEEE Std 1076-1993”版本;Ø1997年,VHDL 综合程序包“IEEE Std 1076.3-1997”发布;Ø2002年IEEE 公布了新的VHDL 标准版本,即“IEEE Std 1076-2002”。

VHDL 名字的全称是超高速集成电路硬件描述语言(Very High Speed Integration Circuit HDL ,VHDL ),VHDL 语言的发展经历了下面几个重要节点:Ø语法严谨,结构规范,移植性强。

VHDL具备强大的电路行为描述能力,尤其擅长于复杂的多层次结构的数字系统设计。

Ø数据类型丰富:VHDL有整型、布尔型、字符型、位型(Bit)、时间型(Time)等数据类型,这些数据类型具有鲜明的物理意义,VHDL 也允许设计者自己定义数据类型。

Ø支持层次结构设计:VHDL适于采用Top-down的设计方法,对系统进行分模块、分层次描述,同样也适于Bottom-up的设计思路;支持结构描述和行为描述,设计者可根据需要灵活地运用不同的设计风格。

Ø便于设计复用:VHDL提供了丰富的库、程序包,便于设计复用,还提供了配置、子程序、函数、过程等结构便于设计者构建自己的设计库。

ENTITY vote IS --实体部分 PORT( a, b, c: IN BIT;f: OUT BIT);END ENTITY vote;ARCHITECTURE one OF vote IS --结构体部分BEGINf<=(a AND b) OR (a AND c) OR (b AND c);END ARCHITECTURE one;(1)VHDL每个语句的最后一般用分号(;)结束;(2)VHDL程序书写格式自由,可通过增加空格、转行等提高程序的可读性;(3)以“--”开始的语句为注释语句,用来增强程序的可读性和可维护性,注释语句不参与编译;(4)VHDL关键字(或称为保留字)对大小写不敏感(大写、小写均可)。

vhdl期末考试复习题大全

vhdl期末考试复习题大全

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

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

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

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

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

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

即生效。

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

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

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

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

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

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

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

函数只能返回一个变量。

函数只能返回一个变量。

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

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

本科VHDL与复杂数字系统设计第8章


第八章 测试技术与物理仿真
a b c d e
f g
h x
图 8-3 桥接故障示意图
第八章 测试技术与物理仿真 (3) 开路故障。开路故障指连线中某处发生如图8-4所示的断开现象。
a b c d e
f g
h x
图 8-4 开路故障示意图
第八章 测试技术与物理仿真 在类似如图8-5所示的CMOS电路中二输入或非门, 当Q4 管输入开路,x、 y为“10”时,输出z呈高阻状态,并由于输出 电容关系而保持前一个输出值。这时该电路成为一个动态的 锁存器,这样的故障一般只能用开关级模型进行处理。
第八章 测试技术与物理仿真 1. 故障 所谓故障,指的是集成电路不能正常工作。使数字系统产 生故障的原因有两类:一类是设计原因,如设计中存在竞争冒 险,在某些情况下,电路可以正常工作,而在另一些条件下电 路则不能正常工作;另一类是物理原因, 如制造过程中局部缺 陷造成的元件开路、短路、器件延时过大等。测试主要检测物 理原因造成的故障,对测试目的来讲, 重要的不是引起故障的 物理原因, 而是故障在数字系统中所表现出来的特征。 故障可以分为逻辑故障和参数故障。所谓逻辑故障,就是 导致一个电路单元或输入信号的逻辑函数变为某些其它函数的 故障;而参数故障则是改变了电路参数值的大小,引起诸如电 路速度、电流、电压等参数的变化。参数故障中,影响电路元 件工作速度的故障称为延迟故障。一般来说,延迟故障只影响 电路的定时操作, 它可能引起冒险或竞争现象。
第八章 测试技术与物理仿真
a b Stuck-at-0 c d e
f g
h S-A-0 x
a b Stuck-at-1 c d e
f g
h S-A-1 x
图 8-2 固定故障示意图

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主要用于描述数字系统的结构,行为, 功能和接口. VHDL具有强大的行为描述能力,是系统设 计领域最佳的硬件描述语言.强大的行为 描述能力是避开具体的器件结构,从逻辑 行为上描述和设计大规模电子系统的重要 保证.
VHDL简单介绍
VHDL丰富的仿真语句和库函数,使得在任 何大系统的设计早期就能查验设计系统的 功能可行性,随时可对设计进行仿真模拟. VHDL对设计的描述具有相对独立性,设计 者可以不懂硬件的结构,也不必管理最终 设计实现的目标器件是什么,而进行独立 的设计.
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
实体
实体定义设计的全部输入输出信号. 格式如下:
ENTITY 实体名 IS PORT (输入输出信号列表); END 实体名;
实体
一个计数器的实体部分
ENTITY count_m16 --实体名必须与设计文件同名 PORT( reset :IN std_logic; clk :IN std_logic; co :OUT std_logic; count :BUFFER std_logic_vector(3 DOWNTO 0));
END count_m16;
VHDL学习提示
了解HDL的可综合性问题:
HDL有两种用途:系统仿真和硬件实现.如果程序 只用于仿真,那么几乎所有的语法都可以使用.但 如果程序是用于硬件实现(例如:用于FPGA设 计),那么我们就必须保证程序“可综合”(程 序的功能可以用硬件电路实现). 不可综合的HDL语句在软件综合时将被忽略或者 报错. 应当牢记:“所有的HDL描述都可以用于仿真,但 不是所有的HDL描述都能用硬件实现.”

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中定义–设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。

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

● 考试题型 一、填空题(每空1分,共10分) 二、单项选择题(每小题2分,共20分) 三、分析题(3小题,共40分) 四、程序设计题(3题,共30分)

各章主要知识要点

第2章 VHDL简介 1. 进程中的信号与变量赋值 信号与变量赋值语句的比较

注:①信号可以列入进程的敏感列表,而变量不能。 ②赋值后,变量取值立即更新,而信号要延迟Δ。 2、wait语句 1. Wait on 敏感信号参数表 ; 2. Wait for 时间表达式 ; 3. Wait until 布尔表达式 ; 【例】 ... PROCESS (CLK) BEGIN IF CLK = '1' THEN Q <= D ; --利用进程的启动特性 END IF; END PROCESS ;

【例】 ... PROCESS BEGIN wait until CLK = '1' ; --利用wait语句 Q <= D ; END PROCESS; 【例】

信号SIGNAL 变量VARIABLE 基本用法 用于作为电路中的信号连线 用于作为进程中局部数据存储单元 适用范围 在整个结构体内的任何地方都能适用 只能在所定义的进程中使用

行为特性 在进程的最后才对信号赋值 立即赋值 ... PROCESS BEGIN wait on CLK; --利用wait语句 Q <= D ; END PROCESS;

3、惯性延迟和传输延迟的时序图 一、惯性延迟  AFTER语句表示惯性延迟。  理想的惯性延迟T:把输入信号延迟T时间,还对任何宽度小于T的脉冲进行拦截。  格式: 信号名2 <= [reject 延时1] 信号名1 after 延时2 ; B <= A AFTER 20ns ; C <= REJECT 5ns A AFTER 20ns ; 二、传输延迟  传输延迟T:只是把输入信号延迟T时间。  格式:信号名2 <= transport 信号名1 after 延时 ; 【例1】 B <= A AFTER 20 ns; B <= TRANSPORT A AFTER 20 ns;

【例2】图2.23 (P56)上课补充的例子 Z1<=transport x after 10ns; Z2<=x after 10ns; Z3<=reject 4ns xafter 10ns;

[例3]下面的VHDL代码中,信号A、B、C、D均为整数,且初值赋为0。若在10ns时D从0变为1,则A、B、C发生变化的时间和取值分别为 process(D) begin A <= 1 after 5ns ; B <= A + 1 ; C <= B after 10ns ; end process;

A在15ns时变为1,B在(10+△)ns时变为1,C在20ns时变为0 三、仿真延迟  在VHDL语句中,如果没有指明延迟类型和延迟量,VHDL仿真器和综合器将自动为系统中的信号赋值配置一足够小而又能满足逻辑排序的延迟量,这个延迟量就称为仿真延迟( △延迟或延迟)。  仿真延迟的引入由EDA工具自动完成。  一个仿真周期产生一个仿真延迟。  仿真命令: force 信号名 V1 t1, V2 t2, …

【例】force A 0 0, 1 2, 0 3, 1 9, 0 16 当执行下列并发语句时,根据A,试画出描述B、C和D的时序图。 D <= transport A after 5ns ; B <= A after 5ns ; C<= reject 2ns A after 5ns ;

第3章 VHDL语言的高级议题

1、过程和函数的特点 子程序  VHDL中的子程序有两种类型:过程和函数。  子程序可以在程序包、结构体和进程中定义,只有定义后才能被调用。子程序内部的语句都是顺序语句。  子程序调用时,过程能返回多个变量,而函数只能返回一个变量。  函数的参数都是输入参数,而过程的参数有输入、输出和双向参数。  函数有顺序函数和并行函数,过程有顺序过程和并行过程。其中,顺序函数、顺序过程存在于进程或另一个子程序中;并行函数、并行过程存在于进程或另一个子程序外。 2、属性语句 一、信号属性语句  利用信号的属性来获取信号的行为信息和功能信息。 1、返回单一值的信号属性(P298:表8.2) (1)s’EVENT (2)s’ACTIVE (3)s’LAST_EVENT (4)s’LAST_VALUE (5)s’LAST_ACTIVE 2、生成信号的信号属性(P299:表8.3) (1)s’DELAYED[(time)] (2)s’STABLE [(time)] (3)s’QUIET [(time)] (4)s’TRANSACTION 二、数组属性语句(P300:表8.4) A’LEFT(N) A’RIGHT(N) A’HIGH(N) A’LOW(N) A’RANGE(N) A’REVERSE_RANGE(N) A’LENGTH(N) 三、数据类型属性语句 (1)T’POS(X) 返回输入X的位置序号 (2)T’VAL(X) 返回输入位置序号X的值 (3)T’ SUCC(X) 返回输入X的下一个值 (4)T’PRED(X) 返回输入X的前一个值 (5)T’LEFTOF(X) 返回输入X左边的值 (6)T’RIGHTOF(X) 返回输入X右边的值

3、生成语句的特点  生成语句是一种循环语句,具有复制电路的功能。  当设计一个由多个相同单元模块组成的电路时,可利用生成语句复制一组完全相同的并行组件或设计单元电路结构,避免多段相同结构的重复书写,以简化设计。 一、FOR循环模式 [生成标号:] FOR 循环变量 IN 取值范围 GENERATE [BEGIN] 并行语句 END GENERATE [生成标号]; 【例】 . . . FA0: FullAdder port map (A(0),B(0),c(0),c(1),s(0)); FA1: FullAdder port map (A(1),B(1),c(1),c(2),s(1)); FA2: FullAdder port map (A(2),B(2),c(2),c(3),s(2)); FA3: FullAdder port map (A(3),B(3),c(3),c(4),s(3)); . . . → . . . FullAdd4: for i in 0 to 3 generate Begin FAX: FullAdder port map (A(i),B(i),c(i),c(i+1),s(i)); End generate FullAdd4; . . . 二、IF模式 [生成标号:] IF 条件 GENERATE [BEGIN] 并行语句 END GENERATE [生成标号]; 【例】 . . . genLS: if Lshift generate shifter <= Q(N-1 downto 1) & shiftin; End generate genLS;

genRS: if not Lshift generate shifter <= shiftin & Q(N downto 2); End generate genRS;

. . . 第5章SM图与微程序 1.数字系统的设计:

1, 数据单元包含保存运算数据和运算结果的数据寄存器,也包括完成数据运算的组合逻辑。 2. 控制单元用来产生状态信号序列,以决定何时进行何种数据运算。 3. 几乎所有的大型数字系统都包含某些状态概念,即系统的输出由输入的以前值和当前值决定。

4 同步时序系统有两种通用的模型:Mealy机和Moore机(都称为状态机)。 5. 状态图:用圆圈把各个状态圈起来,在圆圈上用圆弧表示转换条件。

与状态图相比,状态机流程图(SM图或ASM图)具有的优点: (1)观察SM图会比观察等价的状态图更容易理解数字系统的执行过程; (2)SM图可以直接同硬件实现联系起来。 SM图和软件流程图相似,但是它包含隐含的时序信息。 SM图表示物理硬件,因此图内所有的转移必须形成封闭的路径。

控制单元 数据单元 数字入 数字出 控制信号 状态信号 控制信号 时钟信号 组合逻辑 寄存器 次输当前 输 关于SM图的说明: (1)状态框:状态恰好在一个时钟周期内完成。其输出信号列表在时钟周期内保持所示的值,在下一时钟周期复位为默认值。 (2)判断框:必须与一个状态框关联,所以判断在状态的其他动作的同一时钟周期内确定。 (3)条件输出框:必须紧随一个判断框,因此其输出信号与所属的状态框的输出信号在同一时钟周期内被置位。 二、SM图中隐含的时序信息 状态框的输出与条件输出的区别:

(b)的时序图: Z Y(c=1)

Y(c=0) W(c=0)

时钟 W(c=1)

S0/Z c 1 Y

S1/W 0

(a)

(b) S0/Z c 1

S1/W 0 S2/Y

(a)的时序图: Z Y(c=1) Y(c=0) W

时钟

相关文档
最新文档