Verilog专题(五)细说for与generate-for

 

    Verilog HDL是一种硬件描述语言,如果期望在代码中实现,则需要EDA工具将其翻译成基本的门逻辑,而在硬件电路中并没有循环电路的原型,因此在使用循环语句时要十分小心,必须时刻注意其可综合性。 

    指导原则:虽然基于循环语句的Verilog HDL设计显得相对精简,阅读起来比较容易;但面向硬件的设计和软件设计的关注点是不一样的,硬件设计并不追求代码的短小,而是设计的时序、面积和性能等特征。在设计中应该使用计数器来代替for循环

    上一期专题四根据HDLBits的题目,介绍了for与generate-for的用法以及优劣,最后总结部分的第三点想单独拿出来再细细分析一下,因为verilog是硬件描述语言,只有分析综合出来的电路图才能判断好坏。

    虽然循环语句可以简化代码,易读,但是在实际应用中要谨慎使用循环,因为在FPGA内部并没有循环结构,FPGA能做的就是将循环结构展开,每个变量独立占用寄存器资源,每条执行语句并不能有效地复用硬件逻辑资源,造成巨大的资源浪费。

 

    简单来说就是:循环语句循环几次,就是将相同的电路复制几次,因此循环次数越多,占用面积越大,综合就越慢。因此在实际应用中通常产生一个计数器来代替循环结构,避免资源的浪费。

    从下面的RTL结果可以看出,将for循环写在always块中,for

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值