VerilogHDL如何在测试文件tb中给inout类型的变量赋值并设置时延

更新时间:2023-05-07 13:13:41 阅读: 评论:0

VerilogHDL如何在测试⽂件tb中给inout类型的变量赋值并设置时延Verilog HDL如何在测试⽂件tb中给inout类型的变量赋值并设置时延
⾸先要明⽩的⼀点,双向端⼝inout类型只能是线⽹型wire数据,那么就只能⽤连续赋值语句assign进⾏赋值。就是⼀个端⼝同时做输⼊和输出。 inout 在具体实现上⼀般⽤三态门来实现。三态门的第三个状态就是⾼阻’Z’。当 inout 端⼝不输出时,将三态门置⾼阻。
在我测试⽂件中data为inout类型的数据,我希望从data输⼊的数据保持⼀段时间再变化,共有4个不同数据。但是当我⽤⼀般的时延语句进⾏赋值的时候,仿真波形并不是预想的结果。错误⽰范如下:
wr为写信号,低电平有效。
可以看到后三位的数据由于发⽣了变化所以是未知的,⽤x表⽰。
修改之后
modulesim仿真波形如下:
做法:
设置reg型变量data_in,这种类型的变量可以正常设置时延
采⽤条件赋值语句,实现对data的控制。
思想:相当于⽤data_in做⼀个中转。我也不知道为什么,但是就是在⽹上看到⼀句话,对wire型数据的assign赋值是⽴即实现的。

本文发布于:2023-05-07 13:13:41,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/548452.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:赋值   数据   变量   三态   实现   类型   时延
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图