发新话题
打印

求助:有关inout的编译警告

求助:有关inout的编译警告

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity data_reg is
port(datain: in std_logic_vector(15 downto 0);
  dataout: out std_logic_vector(15 downto 0);
  dataoe : in std_logic;
  dd  :inout  std_logic_vector(15 downto 0));
end entity;
architecture structural of data_reg is
begin
  process(dataoe,datain)
   begin
    if(dataoe='1') then
     dd<=datain;
    else
     dd<=(others=>'0');
    end if;
   dataout <=dd;
  end process;
  
end architecture structural;
这是我写的有关双向口的程序,但编译时总出错,请问时什么原因,应该怎么改一下,警告如下
Warning: TRI or OPNDRN buffers permanently enabled
Warning: Following 16 pins have no output enable or a GND or VCC output enable - later changes to this connectivity may change fitting results

TOP

前几天我也弄了inout类型的,不过是verilog的,你这个VHDL我有点看不明白,不过你记住当有写信号时,把总线状态设为高阻,读信号时,用一个寄存器关联这个引脚就行了.

[ 本帖最后由 yangdoing 于 2008-4-29 09:28 编辑 ]

TOP

单从你的警告里看,应该是没有输出吧.

TOP

谢谢你。我又改了一下,还是有毛病,我原来用verilog编的,没毛病

TOP

我也看不出啥毛病来了,偶是新的

TOP

inout端口实现的时候要用到了TRI或叫三态门。
而楼主没有把输出赋为高阻所以出现该警告
建议参考一下规范的inout三态门的写法
over

TOP

对,就是楼上所说的那样

TOP

发新话题