今天记录38译码器。这个跟上一篇一样,属于比较简单的应用,目的还是对语法、操作步骤的熟悉。
过程不再赘述,记录新东西。
首先就是always语句,这个是过程性赋值语句,是在源码文件里面对端口关系描述的语句,其次,在always语句内部使用的端口类型必须是reg类型,否则会报错。其次,在always语句内描述关系时,由于有可能会出现端口对应情况没有描述到,会出现问题,所以为了避免意料之外的情况影响程序,需要在always内部末端加一个保守语句。最后就是,二进制、八进制、十六进制的使用,如3'b,意思就是三位的二进制,首个数字是代表了位数。整体如下:
其次,在vivado里面,按照设定好的关系生成了schematic文件后,可能发现结构并不如设想那样,并不是代码有问题,只是设计的不是基本结构,vivado把这个简化成呈现出来的样子罢了。
设计好的38译码器如图:
仿真效果图如下:
这个只是继续熟悉基本操作,没有太多新东西,继续加油。