2023.7.2 FPGA笔记,半加器

本文记录了作者初次编写Verilog代码的经验,重点讨论了wire和reg的使用场景,输入输出的声明,测试文件的构建,以及赋值语句、条件语句的注意事项。还提到了同步和异步复位的概念,以及时序逻辑和组合逻辑的特点。
摘要由CSDN通过智能技术生成

今天是第一次独立上手完全编写代码,中间还是出现了一些问题需要记录。
1.wire和reg还是没能分清楚,我的目前的理解是,输入如果是信号那就是wire,如果是数字就是reg,这样的理解肯定还是不对的。
工程文件里,input和output都给的是wire,合理怀疑,下一步可以进行扩展,所以就把output写成了wire。然后在编写tb文件的时候,因为要给input连接实体,所以就给input定义成了reg,然后output还是wire。
2.测试文件中,只需要给input初始化1‘b0即可,然后给input一些随机数,让他测试output。
3.工程文件中,assign {cout, sum} = in1 + in2;这一句,高位为左,低位为右,和我们的习惯类似。这里的cout和sum都是wire型,如果是reg型,赋值要用always
4.在写if或者switch语句时记得写default
5.同步复位:听时钟的,时钟到了才检测。异步复位,管你时钟在哪里,直接复位。但是复位信号失效并不会导致复位瞬间失效,还是要看下一个时钟上升沿(下降沿)
6.时序逻辑比组合逻辑有更好的毛刺屏蔽作用,说人话就是,变化只存在于上升下降沿,在处于非上升下降沿的时候,不会产生变化。
7.组合逻辑默认时钟上升沿和信号上升沿对齐,那么用下一时刻的值,时序逻辑用上一时刻的值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值