VHDL设计:逻辑综合的原则以及可综合的代码设计风格

上传者: 38571603 | 上传时间: 2026-05-03 14:12:57 | 文件大小: 86KB | 文件类型: PDF
VHDL设计:逻辑综合的原则以及可综合的代码设计风格 本文主要介绍的是always块语言指导原则时序,可综合风格的Verilog HDL模块实例,组合逻辑电路设计实例。always块是VHDL设计中非常重要的一部分,它可以用来描述时序逻辑或者组合逻辑。然而,在使用always块时需要注意以下几个问题。 每个always块只能有一个事件控制“@(event-expression)”,而且要紧跟在always关键字后面。always块可以表示时序逻辑或者组合逻辑,也可以用always块既表示电平敏感的透明锁存器又同时表示组合逻辑。但是不推荐使用这种描述方法,因为这容易产生错误和多余的电平敏感的透明锁存器。 此外,在always块中还需要注意以下几个问题:带有posedge或negedge关键字的事件表达式表示沿触发的时序逻辑;没有posedge或negedge关键字的表示组合逻辑或电平敏感的锁存器,或者两种都表示。在表示时序和组合逻辑的事件控制表达式中如有多个沿和多个电平,其间必须用关键字“or”连接。 每个表示时序逻辑的always块只能由一个时钟跳变沿触发,置位或复位最好也由该时钟跳变沿触发。每个在always块中赋值的信号都必需定义成reg型或整型。整型变量缺省为32bit,使用Verilog操作符可对其进行二进制求补的算术运算。综合器还支持整型量的范围说明,这样就允许产生不是32位的整型量。 在always块中应该避免组合反馈回路。每次执行always块时,在生成组合逻辑的always块中赋值的所有信号必需都有明确的值;否则需要设计者在设计中加入电平敏感的锁存器来保持赋值前的最后一个值。只有这样,综合器才能正常生成电路。如果不这样做,综合器会发出警告,提示设计中插入了锁存器。 在设计纯组合逻辑电路时,在生成组合逻辑的always块中,参与赋值的所有信号都必须有明确的值,即在赋值表达式右端参与赋值的信号都必需在always @(敏感电平列表)中列出。如果在赋值表达式右端引用了敏感电平列表中没有列出的信号,那么在综合时,将会为该信号产生一个隐含的透明锁存器。 对一个寄存器型(reg)或整型(integer)变量的赋值只允许在一个always块内进行,如果在另一always块也对其赋值,这是非法的。把某一信号值赋为'bx,综合器就把它解释成无关状态,因而综合器为其生成的硬件电路最简洁。 此外,本文还提供了一些可综合风格的Verilog HDL模块实例,例如组合逻辑电路设计实例和指令译码电路的设计实例。这些实例展示了always块在VHDL设计中的应用和重要性。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明