您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术FPGA中inout端口使用方法总结 正文
FPGA中inout端口使用方法总结

FPGA中inout端口使用方法总结

点击数:7848 次   录入时间:03-04 11:52:16   整理:http://www.55dianzi.com   DSP/FPGA技术

    INOUT引脚:

    1.FPGA IO在做输入时,可以用作高阻态,这就是所说的高阻输入;

    2.FPGA IO在做输出时,则可以直接用来输入输出。

    芯片外部引脚很多都使用inout类型的,为的是节省管腿。就是一个端口同时做输入和输出。 inout在具体实现上一般用三态门来实现。三态门的第三个状态就是高阻'Z'。当inout端口不输出时,将三态门置高阻。这样信号就不会因为两端同时输出而出错了,更详细的内容可以搜索一下三态门tri-state的资料.

    1 使用inout类型数据,可以用如下写法:

    inout data;

    reg data_in;

    reg data_out;

    //data为输出时

    reg en_output;

    assign data_inout=en_output?data_out:1'bz;//en_output控制三态门

    //对于data_out,可以通过组合逻辑或者时序逻辑根据data对其赋值.通过控制en_output的高低电平,从而设置data是输出数据还是处于高阻态,如果处于高阻态,则此时当作输入端口使用.en_output可以通过相关电路来控制.

    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;

    Assign data_out_t=(!link)?data_inout:1'bz;




本文关键字:暂无联系方式DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术