FPGA编程注意事项

信号的产生及always块使用注意事项

    1.1 不要不同的always块内为同一个变量赋值。即某个信号出现在<=或=左边时,只能在一个always块内。(详细解释见 Verilog HDL与数字电路设计 P38)

          所以注意,在产生一个信号时,所有产生该信号的条件都应放在一个always块内考虑。

    1.2 不要在同一个always块内同时使用阻塞赋值(=)和非阻塞赋值(<=)。

    1.3 使用always块描述组合逻辑时使用阻塞赋值(=),在使用always块描述时序逻辑时使用非阻塞赋值(<=)。简单理解可以是,在电平敏感的always块内使用阻塞赋值,在边沿敏感的always块内使用非阻塞赋值。

     1.4 任何在always块内被赋值的变量都必须是寄存器型reg)。即<=或=左边的信号,必须是reg型,<=或=右边的信号可以是reg型也可以是wire型。

           另,端口声明中被声明为input或inout型的端口,只能被定义为线网型(wire);被声明为output型的端口,则可以被定义为线网型(wire)或者寄存器型(reg)。如果不定义,则默认为线网型(wire)。

     1.5 always的敏感列表中可以同时包括多个电平敏感事件,也可以同时包括多个边沿敏感事件,但不能同时有电平和边沿敏感事件。另外,敏感列表中,同时包括一个信号的上升沿敏感事件和下降沿敏感事件也是不允许的,因为这两个事件可以合并为一个电平事件。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值