版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、复习、Verilog行为描述的模块结构、Assign连续代入语句、描述、Verilog HDL对模块的行为描述以流程摇滾乐为基本构成单元,在一个行为描述模块中可以在云同步中包含多个流程摇滾乐和多个连续代入语句, 每个并行独立执行的行描述模块可以只包含过程摇滾乐,也可以只包含assign连续赋值语句。 塔斯克和函数的使用也必须在过程摇滾乐中调用。 的双曲馀弦值。 每个过程摇滾乐由过程语句(initial或always )和语句子摇滾乐组成,而子摇滾乐语句主要由过程赋值语句和高级过程语句(包括条件分支语句和循环控制语句)组成,而过程摇滾乐的过程语句由initial或上通告控制敏感表仅出现在alwa
2、ys过程语句中,用于激活过程语句执行的子摇滾乐语句标识符分为两类: begin-end (顺序子摇滾乐)和fork-join (残奥级摇滾乐)。 封摇滾乐名和封摇滾乐内局部变量的说明都是可选的。 进程摇滾乐的特征(1)在一个模块的行为描述中有多个initial和always语句,以表示存在多个进程摇滾乐,它们之间相互独立,在进行并行执行(2)模拟时,所有的initial进程摇滾乐和always 但是,initial过程语句后面的子洛克斯语句只沿时光轴执行一次,always重复执行后续的子洛克斯语句。 (3)因为3)initial过程语句没有触发条件,所以必须从模拟的0时刻执行此后的子摇滾乐语句
3、的always过程语句通常具有触发(激活)条件,仅在满足触发条件的情况下,才执行此后的子程序语句触发条件为差动奥尔特时,触发条件始终被视为满足。 (4)每个过程子摇滾乐内的多个语句的执行方式,可以被依次执行(如果块定义语句为begin-end的情况)或并行执行(如果块定义语句为fork-join的情况)。 (5 always进程摇滾乐和initial进程摇滾乐不能嵌套。)1 initial进程语句通常用于描述测试模块的初始化、监视、波形生成等功能行为。 硬件功能模块的操作说明描述了根据需要仅执行一次的过程。 例如,可用于为暂存器变量指派初始值。 主要是面向模拟的过程语句,通常不被逻辑集成工具接
4、受。 intial过程摇滾乐的形式initial过程摇滾乐由过程语句“initial”和语句子摇滾乐组成,时间控制1行为语句1小时控制n行为语句n; 的双曲馀弦值。 在上述格式中,(1)过程语句牛鼻子字initial表示过程摇滾乐是initial过程摇滾乐。 (2)子摇滾乐定义语句1和子摇滾乐定义语句2构成子摇滾乐定义语句,它们可以是“begin,end”语句组或者是“fork,join”语句组。 这些个的两个子摇滾乐定义语句将它们之间的多个动作语句组合起来构成一个子摇滾乐语句,在格式上为一个语句。 如果布摇滾乐语句只包含一个行为语句,并且不需要定义布摇滾乐名称和布摇滾乐中的局部变量,则可以对
5、这两个布摇滾乐定义语句进行差分奥尔特定。 (3)可选,封摇滾乐名称可以创建封摇滾乐语句的局部作用域。 定义了布尔摇滾乐名的过程摇滾乐称为“有名布尔摇滾乐”,可以在著名布尔摇滾乐中定义局部变量,并且可以用disable语句中断著名布尔摇滾乐内部语句的执行。 (4)块内局部变量说明也是可选的,只能在有名的块内定义局部变量,而且块内局部变量只有暂存器类数据类型。 (5)时间控制用于控制进程摇滾乐内各语句的执行时间。 可以是任意的时间控制方式。 关于时间控制,将在今后的课程中讨论。(6)行为语句可以是过程代入语句(块类型或非块摇滾乐类型的过程代入语句)的任意一个。 if条件分支语句。 case条件分支
6、语句。 循环控制语句(forever、repeat、while、for循环控制语句)。 等待语句。 禁用中断语句。 事件触发文件(event_trigger )。 塔斯克调用语句(用户定义的塔斯克或系统塔斯克)可以将上述行为语句分为三类:过程赋值语句、地址面包车附加计程仪语句和时间控制语句。 其中,过程赋值语句和高级程序语句是过程摇滾乐的基本组件。 请注意,上述行为语句只能为信号发送器类中的数据变量赋予值,在模拟过程中,initial进程子摇滾乐将从模拟的0点开始执行,在模拟过程中仅执行一次,一旦执行,则为该initial类型如果一个模块中有多个initial过程摇滾乐,则每个initial过
7、程摇滾乐在云同步中从0点开始并行执行。 initial过程摇滾乐中的多个行为语句可以是顺序执行(如果begin-end串行摇滾乐)或残奥级执行(如果fork-join残奥级摇滾乐)。 2 always进程摇滾乐。 在测试模块中通常用于时钟的说明,但在硬件功能模块的动作说明中使用得更多。 功能模块的动作描述由过程摇滾乐构成,因为各过程摇滾乐由过程语句导出,所以在各功能模块的动作描述中,至少存在一个always过程语句,always过程摇滾乐的形式always过程摇滾乐是always (1)码字always指示该进程摇滾乐是“always进程摇滾乐”。 (2) (机密上通告列表)是可选的,具有机密
8、上通告列表的子摇滾乐语句称为“由上通告控制的子摇滾乐语句”,其执行由机密上通告控制。 (机密上通告列表)的形式是,(event-expressionorevent-expression * )机密上通告列表用一个以上的上通告形式构成,在存在多个上通告形式的情况下,“或”是机密上通告列表中所列的多个上通告的任一个机密上通告列表实际上表示上通告控制类型的时间控制。 继续执行时间控制、上通告控制和敏感上通告列表。 (3)有关3) always过程摇滾乐的规定与initial过程摇滾乐的情况同样,是“begin-end”语句组或者“fork-join”语句组,将由这些个的两个语句组构成的语句子摇滾乐分
9、别与串行摇滾乐和残奥级摇滾乐和如果过程摇滾乐仅包含一条语句,并且不需要定义子摇滾乐名称和子摇滾乐中的局部变量,则子摇滾乐定义语句可用于差动奥尔特。 (4)是可选的,其规定与initial进程摇滾乐时相同。 定义块名称的进程块摇滾乐称为有名块摇滾乐。 (5)子摇滾乐内局部变量是可选的,并且其规定与initial过程摇滾乐的情况相同。 只能在著名的bub摇滾乐中定义局部变量,bub摇滾乐中的局部变量只是信号发送器类的数据类型(6)时间控制用于控制进程摇滾乐中每个语句的执行时间。 它的作用与initial进程摇滾乐的“时间控制”(timecontrol )部分中的作用相同。 (7)“行为文”的规定与
10、initial过程摇滾乐的情况相同。 从以上格式定义可以看出,always过程摇滾乐和initial过程摇滾乐的格式上的差异在于,在always过程语句之后有一个机密上通告列表,该列表激活了always过程语句的执行在模拟中,像初始进程摇滾乐一样,always进程摇滾乐从模拟0开始执行。 但是,always语句在模拟过程中会重复执行,如果在initial过程摇滾乐中执行一次,则会锁定,不会再次执行。此外,always过程摇滾乐中每个语句的实际执行必须由敏感上通告列表中列出的上通告开始。 如果always过程摇滾乐中敏感上通告的列表为缺省奥尔特,则认为始终满足触发条件,并且always过程摇滾乐
11、会无条件重复,直到检测到$finish或$stop系统塔斯克。 的双曲馀弦值。 敏感上通告列表由一个或多个事件表达式(event-expression )组成,这些表达式指示开始执行子摇滾乐中的语句时的触发条件。 在存在多个上通告式的情况下,用牛鼻子字or组合多个触发条件。 Verilog规定只要这些个的上通告公式所表示的多个触发条件中的一个成立,则开始子摇滾乐内语句的执行。 always进程子摇滾乐的使用主要描述硬件功能模块的行为,也可以用于在测试模块中描述时钟。 可以使用always进程封摇滾乐来实现锁存和触发器。 它还可以用于实现组合逻辑。 在always进程子摇滾乐中实现组合逻辑时,请
12、注意将所有输入信号放在敏感上通告列表中。 在always进程子摇滾乐中实施时间节点逻辑时,将所有输入信号放入机密上通告列表中机密上通告列表中不包含所有输入信号的情况称为“不完全上通告说明”。 不完全上通告说明的情况下,模拟时可能会招致模拟的误解。 可以用以下两个例子说明这个问题。【例1】机密上通告列表中未包括全部的输入信号的情况。 模块化输入和(f、a、b、c ); 输出f; 输入a、b、c; reg f; always (或b ) begin f=a文件2。 语句n; end或begin:布摇滾乐名在布摇滾乐内声明语句1句2.语句n; 结束。 其中,bub摇滾乐名是该bub摇滾乐的名称,是识
13、别名。 其作用将在后面详细说明。 封摇滾乐内宣言语句可以是残奥元宣言语句、reg型变量宣言语句、integer型变量宣言语句、real型变量宣言语句。2并行分支fork-join是并行分支摇滾乐中的每个语句并行云同步执行。 特征:1.并行子摇滾乐内的每个句子被云同步并行执行,即当计程仪流控制进入并行子摇滾乐时,子摇滾乐内的每个句子分别独立地开始在云同步上执行。 每个语句的开始执行时间等于计程仪柱流控制进入该并行子摇滾乐的时间。 2 .在候补室内的每一句中指定的延迟控制是相对于节目流控制部分进入并行候补室的时间的延迟,即相对于并行候补室摇滾乐开始执行的时间的延迟。 3 .在已执行了并行子摇滾乐中
14、的所有语句之后,即在执行时间最长的子摇滾乐中的语句完成执行之后,从并行子摇滾乐中跳出计程仪流程控制项来完成并行子摇滾乐的执行。 并行块整体的执行时间等于执行时间最长的句子所需的执行时间4 .并行块的动作描述可以被视为当硬件电路接通时各电路模块开始向云同步动作的过程。 并行封摇滾乐格式,fork语句1句2.语句n; join或fork:布摇滾乐名在布摇滾乐内声明语句1句2.语句n; join、bub摇滾乐名是识别该bub摇滾乐的名称,相当于标识符。 块内说明文可以是残奥表说明文、reg型变量宣言文、integer型变量宣言文、real型变量宣言文、time型变量宣言文、上通告(event )说明
15、文,三个串行摇滾乐和残奥电平摇滾乐的混合分别说明串行总线摇滾乐和残奥电平块后(1)如果串行子摇滾乐和残奥水平摇滾乐属于不同的处理摇滾乐(即,initial或always处理摇滾乐),则并行执行串行子摇滾乐和残奥水平摇滾乐。 (2)如果在同一过程摇滾乐中嵌套使用串行总线摇滾乐和残奥级摇滾乐,则可以将内层语句块摇滾乐视为外层语句块摇滾乐中的普通语句,而内层语句块的执行开始后,其内部的每个步骤由外层语句块摇滾乐的规则决定,何时执行内层语句块摇滾乐在子摇滾乐名称和VerilgHDL语言中,可以为每个子摇滾乐命名。 只需在牛鼻子字begin或fork后面加上名字即可。 这样做的理由有以下几点。 1这使您
16、可以定义局部变量,即仅在子摇滾乐中使用的变量。 2这允许其他语句调用封摇滾乐,例如,disable语句3在Verilog语言中所有变量都是静态的。 也就是说,由于所有变量只有唯一的存储地址,所以即使进入块或跳出块摇滾乐,也不会影响变量中存储的值,基于以上理由,块名提供在任意的模拟时刻确认变量值的方法,开始时间和结束时间对并行块摇滾乐和序列子摇滾乐都提供开始时间和对于顺序封摇滾乐,开始时间是第一条语句开始执行的时间,结束时间是最后一条语句执行的时间。 对于并行封摇滾乐,开始时间对封摇滾乐中的所有语句都相同。 也就是说,普通堆计程仪流控制进入子摇滾乐的时间,其结束时间是最后一条语句执行结束的时间。
17、 如果一个子摇滾乐嵌入到另一个子摇滾乐中,则子摇滾乐的开始时间和结束时间很重要。 只有到了该布摇滾乐的结束时间,才能执行布摇滾乐后面的语句。 也就是说,只有完全执行了该封摇滾乐后,才能执行后续语句。 在fork_join块中,不需要按顺序给出每个语句,因此在并行块摇滾乐中,每个语句的前后不重要,并且赋值语句、Assign连续赋值语句以块形式摇滾乐赋值语句,连续赋值的营销对象类型在实际使用中,连续赋值语句的赋值营销对象如下:例如,wire a,b; 指定a=b; (2)矢量线性变量。 例如wire 7:0 a、b; 指定a=b; (3)矢量结线性变量的任意一个二进制位。 例如wire 7:0 a、b; 分配a3=b 3; (4)向量线性变量的几个人。 例如: wire 7:0 a、b; 分配a :2=b :2; (5)上述几种类型的任意史迪奇运算结果。 例如wire a、c; wire 2:1 b; 指定a、c=b; (6)在需要对多个连接型变量进行连续代入的情况下,也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肉牛冬季暖棚养殖管理技术规范
- 小麦条锈病药剂防治实施方案
- 传统中医推拿手法操作规范
- 产后修复营养食谱指导手册
- 员工上岗前职业健康体检
- 从业人员仪容仪表服务规范标准
- 门店服务满意度调查与分析报告
- 废水废气排放监测规范
- 计量经济学时间序列试题及解析
- 采摘园游客安全管理制度
- 2026中广核白鹭综合服务(深圳)有限公司招远分公司招聘1人笔试历年典型考点题库附带答案详解
- 2026届天津市东丽区重点中学中考押题历史预测卷含解析
- 2026广东惠州惠城区桥东街道招聘党建联络员和村(社区)“两委”班子储备人选11人笔试参考题库及答案详解
- 2026年医师考核笔检测卷(重点)附答案详解
- 2025年全国金属非金属矿山企业主要负责人考试练习题有答案
- 2026年北京各区高三语文一模作文题汇编(高考趋势题附标杆文)
- 储能电站电池热失控火灾应急演练脚本
- 简阳市中小企业融资担保有限公司2026年招聘金融科技部工作人员等岗位笔试参考题库及答案解析
- 2026上海市闵行区区管国企招聘42人备考题库含答案详解(精练)
- 保洁12小时工作制度
- 输变电工程可行性研究内容深度规定(2025版)
评论
0/150
提交评论