- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
双向总仿真
HYPERLINK /dezochen/blog/item/cb75441f8e77c369f624e4d9.html /dezochen/blog/item/cb75441f8e77c369f624e4d9.html
?
查看文章
?
Verilog inout 双向口使用和仿真
2009-11-12 17:54
转贴,学习贴
芯片外部引脚很多都使用inout类型的,为的是节省管腿。一般信号线用做总线等双向数据传输的时候就要用到INOUT类型了。就是一个端口同时做输入和输出。 inout在具体实现上一般用三态门来实现。三态门的第三个状态就是高阻Z。当inout端口不输出时,将三态门置高阻。这样信号就不会因为两端同时输出而出错了,更详细的内容可以搜索一下三态门tri-state的资料.1 使用inout类型数据,可以用如下写法:inout data_inout;input data_in;reg data_reg;//data_inout的映象寄存器reg link_data;assign data_inout=link_data?data_reg:1’bz;//link_data控制三态门//对于data_reg,可以通过组合逻辑或者时序逻辑根据data_in对其赋值.通过控制link_data的高低电平,从而设置data_inout是输出数据还是处于高阻态,如果处于高阻态,则此时当作输入端口使用.link_data可以通过相关电路来控制.
2 编写测试模块时,对于inout类型的端口,需要定义成wire类型变量,而其它输入端口都定义成reg类型,这两者是有区别的.当上面例子中的data_inout用作输入时,需要赋值给data_inout,其余情况可以断开.此时可以用assign语句实现:assign data_inout=link?data_in_t:1’bz;其中的link ,data_in_t是reg类型变量,在测试模块中赋值.另外,可以设置一个输出端口观察data_inout用作输出的情况:Wire data_out_t;Assign data_out_t=(!link)?data_inout:1’bz;
?
3 else,in RTLinout use in top module(PAD)dont use inout(tri) in sub module也就是说,在内部模块最好不要出现inout,如果确实需要,那么用两个port实现,到顶层的时候再用三态实现。理由是:在非顶层模块用双向口的话,该 双向口必然有它的上层跟它相连。既然是双向口,则上层至少有一个输入口和一个输出口联到该双向口上,则发生两个内部输出单元连接到一起的情况出现,这样在 综合时往往会出错。
对双向口,我们可以将其理解为2个分量:一个输入分量,一个输出分量。另外还需要一个控制信号控制输出分量何时输出。此时,我们就可以很容易地对双向端口建模。
例子:CODE:module dual_port (....inout_pin,....);
inout inout_pin;
wire inout_pin;
wire input_of_inout;wire output_of_inout;wire out_en;
assign input_of_inout = inout_pin;
assign inout_pin = out_en ? output_of_inout : 高阻;//问题,如果out_en为假的话,inout_pin为高
?????????????????????????????????????????????????? //阻,那input_of_inout呢?
?????????????????????????????????????????????????? //如果out_en为真,那么input_of_inout岂不
???????????????????????????????????????????????????//是也等于inout_pin?怎么体现是输入呢?
endmodule
可见,此时input_of_inout和output_of_inout就可以当作普通信号使用了。
?
4.仿真(o(∩_∩)o...哈哈,这才是我想要看的)
在仿真的时候,需要注意双向口的处理。如果是直接与另外一个模块的双向口连接,那么只要保证一个模块在输出的时候,另外一个模块没有输出(处于高阻态)就可以了。如果是在ModelSim中作为单独的模块仿真,那么在模块输出的时候,不能使用force命令将其设为高阻态,而是使用release命令将总线释放掉
很多初学者在写testbench进行仿真和验
您可能关注的文档
- 单面焊面成形在低碳钢中的技术应用.doc
- 南京工大学VB实验指导知识点与课前练习答案.doc
- 南京工大学食品B卷.doc
- 南京的街小巷.ppt
- 南医大学检索习题.doc
- 南京建节能成效显著 20项新型墙材得推广.doc
- 南北香(腊肠)配方及制作方法(图解、视频).doc
- 南方大.ppt
- 单样本参数检验.doc
- 南方平易2.ppt
- 特种作业煤矿安全作业试题及完整答案详解【夺冠】.docx
- 2025特种作业煤矿安全作业考试黑钻押题(原创题)附答案详解.docx
- 特种作业煤矿安全作业考前冲刺练习(考点提分)附答案详解.docx
- 特种作业煤矿安全作业通关考试题库及参考答案详解【完整版】.docx
- 2025特种作业煤矿安全作业考前冲刺练习试题及1套参考答案详解.docx
- 特种作业煤矿安全作业检测卷及答案详解【名校卷】.docx
- 特种作业煤矿安全作业全真模拟模拟题含完整答案详解【全优】.docx
- 2025特种作业煤矿安全作业考前冲刺练习试题附完整答案详解(典优).docx
- 2025特种作业煤矿安全作业试题带答案详解(达标题).docx
- 特种作业煤矿安全作业真题及答案详解【全优】.docx
最近下载
- 配电箱采购合同协议书范本详细(2025年).docx VIP
- 部编版语文写字表六年级上册字帖.pdf VIP
- (高清版)B/T 24421.1-2023 服务业组织标准化工作指南 第1部分:总则.pdf VIP
- 2022年洛阳理工学院教师招聘笔试试题及答案解析.docx VIP
- 城市停车设施规划导则.docx VIP
- 天然气发电厂-燃气-蒸汽联合循环发电机组PPT课件.pptx VIP
- 《《中文核心期刊目录(2017年版)》》.doc VIP
- 基孔肯雅热防控技术指南(2025年版)测试题及参考答案.docx VIP
- 工程测量技术 电子水准仪 电子水准仪.ppt VIP
- 党支部贯彻落实八项规定扎实推进作风建设工作专题党课ppt课件.pptx VIP
文档评论(0)