FPGA设计与验证之间的思维冲突

图片

      HDL是HardwareDescriptionLanguage(硬件描述语言)。设计FPGA时,就是通过HDL来搭建底层硬件电路,最终实现不同功能的电路。即FPGA设计是设计一个完成某种需求的电路。

图片

      而对FPGA验证时,是对FPGA硬件电路输入各种数据,经过电路处理数据后,得到输出数据与参考数据进行比较。在这里,数据输入、处理、输出、比较的过程一般由PC机的CPU软件模拟来完成。即FPGA验证是通过CPU模拟电路的数据输入、处理、输出、比较的过程,软件模拟器设计的过程。

图片

      我们可以初略理解为:FPGA设计是电路设计,FPGA验证是软件设计。电路设计是基于时钟脉冲的并行设计,软件设计是基于CPU指令集的串行设计。也就有了2种思维的冲突:硬件与软件的思维冲突、并行与串行的思维冲突。

图片

      因为这种思维冲突,在FPGA验证初期编写testbench仿真HDL代码时,就会遇到各种困惑和调试困难,这种初期FPGA验证手写TB验证的方式效率极低,在量级大的代码面前效果也不好,自然需要更好的方案。

图片

      SV的仿真调度机制能很好地解决这种冲突,它利用时间片time slot的思想,将硬件并行运行的各个任务抽象为独立运行的线程,留给用户上层的应用接口来开发验证工作,再随后,有了UVM等验证框架的加入,让验证开发更便利和高效。整个过程的技术发展都被抽象后封装,用户不用关心,但同时带来FPGA设计到验证入门和理解比较困难的问题。

图片

      如果我们能够多一些去理解SV的仿真调度机制到UVM的抽象过程,就自然能够很好的理解FPGA设计和仿真之间思维的冲突。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值