版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026/3/241硬件描述语言2026/3/242学习要求:了解VHDL语言的基本特性,与一般程序语言的不同之处学习VHDL的三种编程风格初步学会使用VHDL第5章硬件描述语言2026/3/2435.1基于HDL的数字设计
数字设计方法变迁
人工画原理图与电路板图;计算机辅助画图(CAD);使用简单HDL描述逻辑表达式,以便使用PLD器件;使用“汇编”式HDL,具有像“if-then-else”和“case”一类较复杂的语句;使用VHDL和Verilog描述与模拟复杂的数字电路或系统;使用VHDL和Verilog描述、模拟与综合复杂数字电路或系统。为什么要用HDL?系统规模越来越大系统功能越来越复杂2026/3/2445.1基于HDL的数字设计(续)
设计流程
前端步骤:在方框图层次上描述基本方法和构件块,无“电路”意味分层,画方框图:系统规划编码:系统功能描述编译:检查语法错误模拟:功能验证2026/3/2455.1基于HDL的数字设计(续)
设计流程
后端步骤:基本方法和构件块物理实现的描述,与目标技术相关联
综合:生成目标技术中(如PLD)使用的基本元素和部件的集合拟合:基本元素和部件的物理描述,包括位置、尺寸大小。定时验证:时间特性验证2026/3/2465.3.1程序结构
电路描述
实体:描述电路的外部特性,即输入与输出,以便与其它模块联系;
结构:描述模块内部的结构或模块的行为;
VHDL允许一个实体对应多种结构。mode(信号方向):in—输入,out—输出,inout—输入/输出,buffer—缓冲输出2026/3/2475.3.1程序结构(续)2026/3/2485.3.2类型、常量和数组
类型
VHDL程序中的所有信号、变量和常量都必须有相关的“类型”;
VHDL是一种“强类型”语言,不支持类型的自动转换。
bit:a1-bitvaluerepresentingawire('0'or'1')
bit_vector:anarrayofbits
std_logic:representsadigitallogicvalue('U',
'X','0','1','Z',‘W',‘L',‘H',‘-')
std_logic_vector:anarrayofstd_logic(bus)
physical:time,voltage,etc.
access:similartopointersinC
file:forreadingandwritingdiscfiles
severitylevel(严格、严厉、激烈)real
integer
enumerated
(列举的)
array
record2026/3/2495.3.3函数和过程
函数与过程与其它高级程序语言的函数一样,VHDL函数接收一些参数,返回一个结果,每个参数和结果都有一个预定义类型。函数名形参说明返回值类型2026/3/24105.3.3函数和过程(续)
并发语句componentconcurrentsignalassignmentconcurrentconditionalsignalassignmentselectivesignalassignmentprocessstatement
互相连接的元件都在同时互相影响,并不按特定的、顺序的时间步骤进行。在VHDL结构体中,若最后的语句更新了由第一个语句使用的信号,那么模拟器将回到第一个语句,并根据刚刚改变的信号更新其结果,直到被模拟的电路稳定下来为止。设X的初值为1,则顺序语句X<=0;Y<=X将导致Y=0而Y<=X;X<=0将导致Y=1若为并发语句,则两种结果相同,且Y=0.2026/3/24115.3.5结构形式的设计元素
结构化电路设计方法使用组件(component)语句的VHDL结构体通常称为结构描述(structuraldescription)或结构设计(structuraldesign),它定义了实现实体的信号与实体的精确互连结构。2026/3/24125.3.5结构形式的设计元素(续)2026/3/24135.3.6数据流形式的设计元素
数据流式电路设计方法
利用数据流及其在电路中的操作来描述一个电路,称为数据流描述(dataflowdescription)或数据流设计(dataflowdesign)。数据流描述描述了数据流的运动方向、运动路径和运动结果。可使用各种赋值语句来进行电路的数据流式设计。2026/3/24145.3.7行为形式的设计元素
行为式电路设计方法
对系统数学模型,即输入与输出之间的数学关系的描述称为行为描述。它是一种高层次的抽象,不涉及具体的电路元件,没有电路意味。
用进程(process)语句或并发语句来描述一个电路行为,可以描述电路各部分之间的复杂关系或相互作用。灵敏度列表
进程要么在执行,要么被挂起。2026/3/24155.3.7行为形式的设计元素(续)2026/3/24165.3.7行为形式的设计元素(续)2026/3/24175.3.7行为形式的设计元素(续)2026/3/24185.3.8时间尺度2026/3/24195.3.9模拟
模拟用来检查所设计的电路是否满足要求
模拟从零模拟时刻开始,将信号初始化为默认值或指定值;利用基于时间的“事件列表”和基于进程信号的“信号灵敏度数组”进行“假装”的同时模拟;信号所赋的新值被放在一个事件列表中,在预定某一时刻生效。这个时刻可能是当前模拟时刻加上一个无穷小的“增量延迟”(实际上没有考虑电路的实际延迟)或某一模拟时刻;一个模拟周期结束后(所有的进程及其它并发语句都执行一遍),扫描事件列表中下一个最早改变的信号。它可能在一个增量延迟之后,或一个实际电路延迟之后发生变化,此时模拟时间前进到该时刻;当事件列表为空时模拟结束。2026/3/24202026/3/24215.3.10
测试平台
由模拟器将一组指定的输入序列应用到一个设计(UUT)
没有输入和输出;UUT作为一个组件;不带有灵敏度列表2026/3/24225.3.12综合
生成目标技术中使用的基本元素和部件的集合
语言的许多特性和结构是不能被综合的。设计者所编写的代码对所得到的综合电路的质量有很大的影响。有些特性和结构依不同的EDA软件可能是或者不是可综合的。
必须研究文档资料,以明确对于一个特定的EDA工具,什么是不允许的,什么是允许的,什么是推荐的。为了得到好的模拟结果,使用综合工具的数字设计者将需要特别注意编码风格。“可提高设计性能的HDL编程风格与技巧”/ART_8800411252_480101.HTM
“好的编码风格”多少依赖于综合工具和目标技术。2026/3/2423一个例子:1位全加器AiBiCi-1Si
Ci
0000000110010100110110010101011100111111ai
bi
ci-1Full_adderci
sisi=ai
bi
ci-1ci=aibi+aici-1+bici-1
电路模型行为级模型(电路功能的描述)逻辑表达式真值表1位全加器的行为描述2026/3/2424一个例子:1位全加器(续)1位全加器的VHDL行为级模型entityfull_adderisport{a,b,cin:inbit;s,cout:outbit}endfull_adder;architecturebehavioroffull_adderisbeginprocess(a,b,cin)variableai,bi,ci,si:integer;begin--convertbittypestointegersifa=‘0’thenai:=0;elseai:=1;endif;ifb=‘0’thenbi:=0;elsebi:=1;endif;ifcin=‘0’thenci:=0;elseci:=1;endif;--computetheintegersumoftheinputs
si:=ai+bi+ci;--converttheresulttoseparatesumandcarrybitscasesiiswhen0=>s<=‘0’;cout<=‘0’;when1=>s<=‘1’;cout<=‘0’;when2=>s<=‘0’;cout<=‘1’;when3=>s<=‘1’;cout<=‘1’;endswitch;endprocess;endfull_adder;2026/3/2425一个例子:1位全加器(续)
结构级模型(电路构成的描述)电路图网表1位全加器的结构描述2026/3/2426一个例子:1位全加器(续)1位全加器的VHDL结构级模型entityfull_adderisport{a,b,cin:inbit;s,cout:outbit}endfull_adder;architecturestructureoffull_adderiscomponentXOR2--declareXORgateport{z:outbit;x,y:inbit};endcomponent;componentAND2--declareANDgateport{z:outbit;x,y:inbit};endcomponent;componentOR3--declareORgateport{z:outbit;w,x,y:inbit};endcomponent;Signalx1,a1,a2,a3:bit;--internal--signalwirebegin--definetheschematicby--connecting
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院内感染预防的感染控制创新
- 2026中医护理实践报告撰写课件
- 江西省宜春市宜丰县宜丰中学2023-2024学年高三上学期开学地理试题(解析版)
- 内科护理学评估与干预(副高)
- 压疮护理与职业健康安全管理
- 新疆乌鲁木齐仟叶学校2025-2026学年八校联考中考数学试题模拟试卷含解析
- 浙江省台州椒江区2025-2026学年第二学期9月月度调研测试初三英语试题含解析
- 江苏省盐城市解放路实验校2025-2026学年初三英语试题期末练习试卷含解析
- 介入护理操作规范与流程
- 福建省宁德2026届初三中考线上模拟测试语文试题含解析
- 2026年及未来5年中国光谱仪市场运行态势及行业发展前景预测报告
- 采购合规培训课件
- INS复兴乐园方案 BRAND INTRO
- 2026春招:农业银行题库及答案
- 2026广州环投集团校招面笔试题及答案
- 供电公司安全生产培训会课件
- 中班多肉种植方案
- 颜氏家训教学课件
- 中电建商业保理有限公司校园招聘考试题库附答案
- 执法用语课件
- 2026年湖州职业技术学院单招职业适应性测试题库及完整答案详解1套
评论
0/150
提交评论