微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog 写的串口 在一个状态机里面,有一个寄存器无法执行赋值语句

verilog 写的串口 在一个状态机里面,有一个寄存器无法执行赋值语句

时间:10-02 整理:3721RD 点击:



图中红线部分 cnt8始终无法加1是为什么呢?,而cnt16就可以清零

goooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooood

代码有问题 if——else

一上来CNT16=0的话,不满足任何一个分支?

if -- else -- if 结构真的可以吗?

代码明显有问题,cnt16有两个独立的驱动条件

cnt16 同级别两次判断,应该是不行的吧!

when cnt16 ==8 ,she stoped.

nice,收藏了,很好

cnt16==8停止计数了就

要把全部代码贴出来啊。从你描述的现象,应该是其它地方有问题,而不是你截图的这一段

你的设计代码这样写,你自己能看懂 “在什么条件下给什么信号赋什么值”么?

if... else..... if是不行的,else后边不直接跟着if,就证明这个if语句结束了,试试else 后边加上begin,结尾加上end

有没有看综合时的告警
应该多驱动了啊

不对的地方挺多的。导致不执行的直接原因是cnt16记到8就不累加了

第一个if和else已经包含了所有的情况
第二个if就没有执行的条件了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top