在时序逻辑中使用了阻塞赋值的代码,综合后的电路是怎样的呢?
下面用vivado进行综合实现看看效果:
可以看出这里中间变量b被优化掉了,直接由寄存器c进行输出。但是还是要遵循代码规范,在时序逻辑建模中使用非阻塞赋值!
而modelsim进行功能仿真结果是怎样的呢?
下面进行一个简单的测试:
简单的tb代码
波形图如下:
可以看出b在上升沿更新了,而c与b的结果一样,而modelsim中的电路图也是非常有意思:
可以看出直接是把b端的输出悬空了,a直接赋值给c
这里需要在modelsim中查看视图的话,可以从View的shcematic中查看。同时在命令行中输入 vsim -debugdb work.<程序名>
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/270278.html