作业帮 > 综合 > 作业

verilog 关于Always @()的问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/21 13:38:47
verilog 关于Always @()的问题
我在一个模块中用到了两个always @ ,第一个always给i赋值0,作为第二个always里i的开始,但是同时在两个always中对i赋值会出错,我应该怎么设置
always @(outf)
begin
i
你的定义是三位宽的吗?其实,你合并到一起就可以了呀.使用同步复位或者异步都行.另个进程里面对同一变量进行都要赋值的话,一定要保证不会发生冲突,冲突了会打架的.
你这就冲突了.对于执行来说,在0时刻时,两个进程同时执行.不找到取那边的值了.有事可联系我.
再问: 应该怎么做?给你说说我的情况 每隔5秒并行8位数据outf变化一次,每变化一次都串行输出这8位数据,也好保持串行输出之间保持5秒的间隔
再答: 啥子意思哦。不太明白。“每隔5秒并行8位数据outf变化一次,每变化一次都串行输出这8位数据,也好保持串行输出之间保持5秒的间隔”怎么会呢?并行的5秒变一次,串行输出这些数据。串行数据之间最少也要5/8秒,不然有些数据就会有问题哦。可以加QQ,慢慢聊274075751
再问: 并转串的时钟快的话,才8位,几十个ns就搞定了吧,加了
再答: 呵呵。就是一个并转串嘛!每5秒输入一个数据。如果,你是固定每5秒就要变化一次的话。可以先用分频,将outf分频到5秒,然后使用这个outf来锁存并行数据。再利用时钟将这些数据依次输出到串行数据线上就可以了。