- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
verilog课件编程
复习 Verilog行为描述的模块结构 说明 Verilog HDL对模块的行为描述以过程块为基 本组成单位,一个行为描述模块中可以同时 包含多个过程块和多个连续赋值语句,这些 组成成分将以并行方式各自独立地执行;行 为描述模块也可以只包含过程块或者只包含 assign连续赋值语句。任务和函数的使用也需要在过程块中进行调用。 过程块 每个过程块是由“过程语句(initial或always)”和 语句块所组成的,而块语句主要是由过程 赋值语句和高级程序语句(包括“条件分支语 句”和“循环控制语句”)这两种行为语句构成的 过程块的形式定义 过程语句 @ (事件控制敏感表) 块语句开始标识符:块名 块内局部变量说明 一条或多条过程赋值或高级程序语句 块语句结束标识符 黄色字体表示的是可缺省的部分; ??过程语句是指initial或always; ??事件控制敏感表只在always过程语句中出现,用于激活过程语句的执行; ??块语句标识符分begin-end(顺序块)与fork-join(并行块)两类; ??块名和块内局部变量说明均为可选项。 1 initial过程语句 ?? 在实际的描述过程中,通常用来描述测试模块的 初始化、监视、波形生成等功能行为。 在对硬件功能模块的行为描述中,仅在必要时对 只需执行一次的进程进行描述,例如它可以用来为寄 存器变量赋初值。?? 是一条主要面向仿真的过程语句,通常不为逻辑 综合工具接受。 2 always过程块 ??在测试模块中一般用于对时钟的描述,但 更多地用于对硬件功能模块的行为描述。 ??功能模块的行为描述是由过程块构成的, 每个过程块都要由过程语句所引导,因而每 个功能模块的行为描述中,一般至少存在一 个always过程语句 顺序块 (begin-end块) 位于串行块中的各条语句按串行方式顺序执行。 ??特点: 1.串行块中的每条语句依据块中的排列次序,先后逐条顺序执行,当前面一条语句执行完毕后下一条语句才能开始执行。块中每条语句给出的延时都是相对于前一条语句执行结束的相对时间。 2.在进行仿真时,当遇到串行块时,块中第一条语句随即就开始执行;当串行块中最后一条语句执行完毕时,程序流程控制就跳出串行块,串行块结束执行。整个串行块的执行时间等于其内部各条语句执行时间的总和。 3.串行块的行为描述可以形象地理解为硬件电路中,数据在时钟及控制信号作用下,沿数据通道的各级寄存器之间的传送过程。 顺序块的格式 begin 语句1; 语句2; ...... 语句n; end 或 begin:块名 块内声明语句 语句1; 语句2; ...... 语句n; end 2 并行块 fork-join 位于并行块中的各条语句按并行方式同时执行。 特点: 1.并行块内各条语句是同时并行地执行的,也就是说当程序流程控制进入并行块后,块内各条语句都各自独立地同时开始执行。各条语句的起始执行时间都等于程序流程控制进入该并行块的时间。 2.块内各条语句中指定的延时控制都是相对于程序流程控制进入并行块的时刻的延时,也就是相对于并行块开始执行时刻的延时。 3.当并行块内所有的语句都已经执行完毕后,也就是当执行时间最长的那一条块内语句结束执行后,程序流程控制才跳出并行块,结束并行块的执行。整个并行块的执行时间等于执行时间最长的那条语句所需的执行时间 4.并行块的行为描述可以形象地理解为硬件电路上电后,各电路模块同时开始工作的过程。 并行块的格式 fork 语句1; 语句2; ....... 语句n; join 或 fork:块名 块内声明语句 语句1; 语句2; ...... 语句n; join 块名 在VerilgHDL语言中,可以给每个块取一个名字,只需 将名字加在关键词begin或fork后面即可。这样做的原 因有以下几点。 1 这样可以在块内定义局部变量,即只在块内使用的变量。 2 这样可以允许块被其它语句调用,如被disable语句 3 在Verilog语言里,所有的变量都是静态的,即所有的变量都只有一个唯一的存储地址,因此进入或跳出块并不影响存储在变量内的值。 基于以上原因,块名就提供了一个在任何仿真时刻确 认变量值的方法 起始时间和结束时间 在并行块和顺序块中都有一个起始时间和结束时间的概念。 对于顺序块,起始时间就是第一条语句开始被执行的时间,结 束时间就是最后一条语句执行完的时间。而对于并行块来说, 起始时间对于块内所有
您可能关注的文档
最近下载
- 初三数学二次根式测试题目一二.doc VIP
- 高考物理公式大全.doc VIP
- 《心肺复苏术》PPT课件ppt.pptx VIP
- 2023-2025高考英语高频词汇汇编(打印背诵版).pdf
- 5.1 社会历史的本质 课件(共34张PPT)(含音频+视频).pptx VIP
- 让蕲艾走向世界详细资料.ppt VIP
- 家政保洁企业发展规划经营计划.pptx VIP
- 局限性脑炎多学科决策模式中国专家共识(2025版).docx VIP
- 中国成人急性呼吸窘迫综合征(ARDS)诊断与非机械通气治疗指南(2023)解读PPT课件.pptx VIP
- 2023中国成人急性呼吸窘迫综合征(ARDS)诊断与非机械通气治疗指南(完整版).pdf VIP
文档评论(0)