verilog 学习心得

最近倒腾 FPGA, 以下为个人心得 :


硬件电路分三种 ,   纯逻辑电路 , 例如 不带时钟的纯与或门构成的电路 , 比如译码器 , DA 等等 , 

这种电路 在verilog中叫  逻辑电路 , 可以用 assign  或者 always @( clk ) 的方式 来组成 , 注意 , 这里的 clk 是不考虑上下沿的 ,仅仅是电平 , 并且 在电路中只能使用 阻塞 ‘=’ 赋值, 因为你一旦用了 非阻塞‘《=’赋值 , 那么那个寄存器就需要用触发器来锁存了,  虽然这是可以的, 但这就不是 纯逻辑电路了, 已经包含了一些时序 。  在这种电路中, 完全使用阻塞赋值的的寄存器 的值, 在一个时钟周期内 是可以多次赋值的 , 每次赋值 都会改变 寄存器的值, 此时的 寄存器的使用方法和 C语言中的变量一模一样,这个已经验证过了。  但是 用了 非阻塞赋值的寄存器 就不一样的 , 他们的值在当前时钟周期内是固定的, 因为他们是触发器的输出 , 当前周期对此类寄存器的赋值,回到下周期才能读取到, 若是对此值有 多次赋值 , 以最后赋值为准 。

纯时序电路, 这种电路不仅全是 非阻塞赋值, 而且 还考虑了触发条件,  上升沿或者下降沿 , 编写verilog时候要考虑 时间维度 , 与纯逻辑电路完全不一样。 这种条件下的数据在本周起赋值, 在下个周期可获得 。

第三种就是介于二者之间了 。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值