硬件描述语言8合编.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六讲 verilog的可综合性 逻辑综合 Verilog的逻辑综合 Verilog的可综合风格 6.1 逻辑综合 6.2 Verilog HDL综合 ⑥阻塞或非阻塞 阻塞、非阻塞对比 ⑦函数和任务 任务 ⑧复位 6.3 verilog可综合设计 一、 verilog编码风格 * * 逻辑综合:在标准单元库和特定的设计约束的基础上,把设计的高层次描述转换成优化的门级网表的过程。 标准单元库可以包含简单的单元,例如与门、或门和或非门等基本逻辑门,也可以包含宏单元,例如加法器、多路选择器和特殊的触发器。 计算机辅助逻辑综合工具的出现已经把高层次描述向逻辑门的转化过程自动化了。设计者现在可以把精力集中在体系结构的方案、设计的硬件语言描述上,由综合工具在内部进行几次反复,生成优化的门级描述。 自动化的逻辑综合已经非常有效地减少了高层次设计到门级网表的转化时间。它使设计者可以把更多的时间用于更高层次的描述上,因为把设计转换到门级网表所需的时间大大减少了。 寄存器传输级(RTL)层次用硬件描述语言verilog编写设计。 术语RTL用于表示HDL的一种风格,该风格的描述采用了数据流和行为结构相结合的方式。 逻辑综合工具接受RTL级描述并把它转化为优化的门级网表。 Verilog和VHDL是两种最流行的RTL描述语言 input, inout, output parameter module wire , reg , tri 允许使用向量表示 模块调用和门级原语调用 function, task 不考虑时序结构 always, if, else, case, casex, casez 不支持initial begin, end, named blocks, disable assign 不考虑延迟信息 for , while, forever while和forever循环必 须包括@(posedge clock)或(negedge clock) 端口 参数 模块定义 信号和变量 调用(实例引用) 函数和任务 过程 过程块 数据流 循环 关键字或描述       注释 结构类型 支持综合的Verilog结构类型 逻辑综合工具并不能处理随意编写的verilog结构描述:通常,周期到周期的任何RTL verilog结构描述都能为逻辑综合工具所接受。 一、verilog结构类型 只有周期到周期的任何RTL verilog结构描述都能为逻辑综合工具所接受。例while和forever语句必须由@(posedge clock)或@(negedge clock)终止循环,使其具有强制性的周期到周期的描述。 #delay结构指定的延迟将被忽略 不支持initial语句,必须用复位机制来代替。 要明确指定信号和变量的宽度。否则,综合后的可能会产生大量的门级网表 注意事项: 二、操作符 几乎所有的操作符都可以综合。 ===和!==与x和z有关的操作符不可综合 写表达式时,要用圆括号使逻辑关系明确,最好不要依赖运算的优先级 { } {{}} ! ~ | ^ + - * % = = = = != ^ ~^ | || ?: 连接及复制操作符 一元操作符 算术操作符 逻辑移位操作符 关系操作符 相等操作符 按位操作符 逻辑操作符 条件操作符 符号 操作符类型 三、部分verilog结构的综合 ①赋值语句assign 赋值语句综合为组合逻辑电路 assign out= (a b) | c; 综合为以下门级电路 assign {c_out,sum}=a + b + c_in; assign out= (s) ? d1 : d0; ②if---else语句 module compif (out, d0, d1, s); input d0, d1, s; output out; reg out; always @( s or d0 or d1) if (s) out = d1; else out = d0; endmodule 单条的if---else语句综合为一个二选1数据选择器 module compif (a, b, c, d, e); i

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档