综合和仿真

1、综合

  • Verilog 是硬件描述语言, 顾名思义, 就是用代码的形式描述硬件的功能, 最终在硬件电路上实 现该功能。 在 Verilog描述出硬件功能后需要使用综合器对 Verilog 代码进行解释并将代码转化成实际的电路来表示, 最终产生实际的电路, 也被称为网表。这种将 Verilog 代码转成网表的工具就是综合器。
    在这里插入图片描述
    2、仿真

  • 在综合前, 设计师可以在电脑里通过仿 真软件对代码进行仿真测试, 检测出 BUG 并将其解决, 最后再将程序烧写进 FPGA。
    在这里插入图片描述

  • 为了模拟真实的情况, 需要编写测试文件。 该文件也是用 Verilog 编写的, 其描述了仿真对象的 输入激励情况。 该激励力求模仿最真实的情况, 产生最接近的激励信号, 将该信号的波形输入给仿真 对象, 查看仿真对象的输出是否与预期一致。 需要注意的是:在仿真过程中没有将代码转成电路, 仿 真器只是对代码进行仿真验证。 至于该代码是否可转成电路, 仿真器并不关心。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • Verilog 是描述硬件电路的, 其建立在硬件电路的基础之上。而有些语法结构只是以仿真测试为目的,是不能与实际硬件电路对应起来的。也就是说在使用这些语法时,将一个语言描述的程序映射成实际硬件电路中的结构是不能实现的, 也称为不可综合语法。
  • 综合就是把编写的 rtl代码转换成对应的实际电路。 比如编写代码 assign a=b&c;EDA 综合工 具就会去元件库里调用一个二输入与门, 将输入端分别接上 b 和 c,输出端接上 a。当然, 工具会对必要的地方做一些优化, 比如编写一个电路 assing a=b&~b, 工具就会将 a 恒接为 0, 而不会去调用一个与门来搭这个电路。
  • 综述所述, “综合” 要做的事情有: 编译 rtl 代码, 从库里选择用到的门器件, 把这些器件按照“逻辑” 搭建成“门” 电路。
  • 不可综合, 是指找不到对应的“门” 器件来实现相应的代码。 比如“#100” 之类的延时功能,
    简单的门器件是无法实现延时 100 个单元的, 还有打印语句等, 也是门器件无法实现的。 在设计的时候要确保所写的代码是可以综合的, 这就依赖于设计者的能力。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值