[信息与通信]VerilogHDL设计基础.pptVIP

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[信息与通信]VerilogHDL设计基础

设计复杂的系统 传统的设计方法: - 查用器件手册; - 选用合适的微处理器和电路芯片; - 设计面包板和线路板; - 调试; - 定型; - 设计复杂的系统(几十万门以上)极其困难。 设计复杂的系统 现代的设计方法: - 选用合适的 EDA仿真工具; - 选用合适电路图输入和HDL编辑工具; - 逐个编写可综合HDL模块; - 逐个编写HDL测试模块; - 逐个做Verilog HDL 电路逻辑访真; - 编写Verilog HDL总测试模块; - 做系统电路逻辑总仿真; 设计复杂的系统 现代的设计方法(续前): - 选用合适的基本逻辑元件库和宏库 - 租用或购买必要的IP核; - 选用合适的综合器; - 进行综合得到门级电路结构; - 布局布线,得到时延文件; - 后仿真; - 定型, FPGA编码或ASIC投片 Top-Down 设计思想 用EDA设计数字系统的流程 有关Verilog HDL的 几个重要基本概念 综合: 通过工具把用Verilog HDL描述的模块自动转换为用门级电路网表表示的模块的过程。 寄存器传输级Verilog HDL模块:也可称为RTL (Verilog) HDL模块。它是符合特定标准和风格的描述状态转移和变化的 Verilog HDL模块。能用综合器把它转换为门级逻辑。 有关Verilog HDL的 几个重要基本概念 Verilog HDL测试模块: 用Verilog HDL描述的模块,可以用来产生测试信号序列并可以接收被测试模块的信号。用于验证所设计的模块是否能正常运行,往往不可综合成具体门级电路。 Verilog HDL顶层(测试)模块: 同上。 有关Verilog HDL的 几个重要基本概念 布局布线: 把用综合器自动生成的门级网表(EDIF)通过运行一个自动操作的布局布线工具,使其与具体的某种FPGA或某种ASIC工艺库器件对应起来,并加以连接的过程。 Verilog HDL后仿真测试模块: 同3)、4),但被测试的模块至少是一个门级描述的或用具体FPGA(ASIC)库器件(带时间延迟信息)描述的结构型Verilog HDL 模块。 ? module能够表示: 物理块,如IC或ASIC单元 逻辑块,如一个CPU设计的ALU部分 整个系统 ? 每一个模块的描述从关键词module开始,有一个名称(如SN74LS74,DFF,ALU等等),由关键词endmodule结束。 net (线网) : 表示器件之间的物理连接 register (寄存器) :表示抽象存储元件 parameters(参数) : 运行时的常数(run-time constants) net(线网) 寄存器类 (register) 寄存器类型在赋新值以前保持原值 寄存器类型大量应用于行为模型描述及激励描述。在下面的例子中,reg_a、reg_b、reg_sel用于施加激励给2:1多路器。 用行为描述结构给寄存器类型赋值。给reg类型赋值是在过程块中。 寄存器类的类型 寄存器类有四种数据类型 选择正确的数据类型 module top; wire y; reg a, b; DUT u1 (y, a, b) ; initial begin a = 0; b = 0; #5 a = 1; end endmodule 块语句 块语句是用块标志符begin-end或fork-join来界定的一组语句,类似于C语言中的{},通常用来将两条或多条语句组合在一起。 串行块begin-end中的所有语句是按串行方式顺序执行的。定义结构: begin 语句1; 语句2; ………. 语句n; end 并行块fork-join中的所有语句是并行执行的。 过程语句 一般过程模块都从属于以下两种结构的说明语句。initial说明语句和always说明语句。 initial说明语句 格式:initial begin 语句1; 语句2; 语句n; end initial语句不带触发条件,initial过程中的块语句只执行一次。通常用于仿真模块。 过程语句 一般过程模块都从属于以下两种结构的说明语句。initial说

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档