专栏中心

EEPW首页 > 专栏 > Inout的使用和仿真

Inout的使用和仿真

发布人:shangwfa 时间:2013-08-31 来源:工程师 发布文章

 Inout类型在使用和仿真时需要将其理解为2个端口,每个时刻有且只有一个在使用状态。我们在处理时可以将其手动分为2个端口,一个输入,另一个是输出。当用作输入端口时,输出端口处于“高阻”状态,用作输出口时保证时输入处于无效状态。如下图中,将inout类型的sdram_data分解成了输入端口DataFromSDR和输出端口DataToSDR(图1中的绿色方框部分).。分解完成后,就可以正常使用输入和输出端口了(图1中的红色方框部分)。以下题材选自于我的SDR_SDRAM控制器设计。


 


一,Inout的定义和使用


    具体的做法是先定义两个wire型的量DataFromSDR和DataToSDR,然后使用assign语句进行分解。在下图中,可以这样理解:


(1):当bus_wr为1时,意味着要向SDRAM中写入数据,此时的inout要当做输出口使用,把需要输出的数据赋值给DataToSDR,然后通过总线来传递。


(2)当bus_wr为0时,需要从SDRAM中读取数据,inout作为输入口使用此时,输出口已经成为“高阻”,数据通过DataFromSDR传递到系统中。


3e762e78-2737-44b9-9923-94b7e34f88bc.jpg



二,inout的仿真


Inout类型的变量在仿真时同样需要分解,但仿真时对端口的使用刚好和建模时“相反”。图2是仿真和建模之间的关系,在建模中的输出口,仿真里面是要建立对应的输入口,反之亦然。建模设计的是一个SDRAM的控制器,那么仿真系统则模拟了一个SDRAM的工作特性。




b931b93a-1201-4212-8b8c-2b10a7877801.jpg




在编写testbench时,inout的变量要定义成wire型,这点很重要。定义一个reg型的变量,用来充当“输出口”,由于有reg型的变量data_in已经充当了“输入口”,所以不需要再分解出新的“输入口”了。


在testbench中:


   out_con=0;

bus_wr=1;


这样描述, inout已经作为输入口了,输出口此时处于“高阻”状态,数据通过data_in来传递。这也和建模中对应,在建模中,当bus_wr=1时,需要向SDRAM中写入数据,测试系统正是模拟的SDRAM,所以此时就是输入口(在建模中此时inout是输出口)。

在接着的描述中:


DataOut=16'h1401;   


 
out_con=1;   


 
bus_rd=1;


inout作为输出口来使用了,此时需要输出的数据通过DataOut来传递。out_con=1说明在建模中,inout此时是当做输入口使用了,和这里刚好又是对应的。




c6b2199d-34a6-49e6-a790-d80998489e74.jpg



图4是Modelsim中的截图,从截图中可以看到,系统的输入和输出已经被正确仿真出来了。




d105fbc0-d6ae-4d6a-a133-bb10330b9ec1.jpg




图5是在QuartusII中的仿真。注意:在 data _in上有数据时,要将inout类型的sdram_data赋值为高阻“z”,这里的做法其实是和写testbench一样的,此时的bus_wr为1,sdram_data是作为输入口,输出口被置成“高阻”了。sdram_data作为输出口时,bus_wr为0,数据通过data_out传输。




73e9c11c-473e-482d-add8-b993d35fb924.jpg

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

Stella:Self-Balancing Robot Powered by Nucleus RTOS on TI Stellaris

视频 2012-03-30

研发了八年基础软件,57 岁的我在 AI 时代迎来了千亿机会

具可编程基准的同步降压型稳压器

IEEE 1588 精密网络同步协议

视频 2012-03-30

iDEAL半导体与Mouser电子签署全球分销协议

VHDL语言的层次化设计

大嘴业话:直面国内测试仪器的差距

Molex简化户外安装的Quasar OptiX现场安装连接器在贸泽开售

vlsi系统设计--何时和如何设计超大规模集成电路

vrtxcourse(vrtx培训教材)

如何在RK3576开发板上运行TinyMaix :超轻量级推理框架

佳能集团发布2025年第二季度财报,影像业务领域持续增长

联芯通欧标新能源车EVCC PLC芯片累计出货突破100万套

德州仪器预测性电池管理技术:使电池供电电子设备续航提升高达30%

Other World Computing宣布推出多种4K显示器适配器

VHDL硬件描述语言基础

InterDigital最新研究:流媒体成为体育观赛新主场

面向工业应用、基于ARM Cortex-M4的32位单片机家族XMC4000

视频 2012-04-09

西门子Veloce CS助力Arm Neoverse计算子系统验证与确认

更多 培训课堂
更多 焦点
更多 视频

技术专区