微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助关于顶层文件

求助关于顶层文件

时间:10-02 整理:3721RD 点击:
写了一个顶层文件,如下
entity top is
    Port ( CLK : in  STD_LOGIC;
           RX : in  STD_LOGIC;
           rst : in  STD_LOGIC;
           GPIO : inout  STD_LOGIC_VECTOR (0 downto 0);
           TX : out  STD_LOGIC;
     INT : out STD_LOGIC_VECTOR (0 downto 0));
end top;
architecture Behavioral of top is
signal S_gpio :std_logic_vector(0 downto 0);
COMPONENT system
PORT(
fpga_0_RS232_RX_pin : IN std_logic;
fpga_0_clk_1_sys_clk_pin : IN std_logic;
fpga_0_rst_1_sys_rst_pin : IN std_logic;   
fpga_0_Generic_GPIO_GPIO_IO_pin : INOUT std_logic_vector(0 to 0);      
fpga_0_RS232_TX_pin : OUT std_logic
);
END COMPONENT;
COMPONENT test21
PORT(
clk : IN std_logic;         
INT1 : OUT std_logic_vector(0 to 0);
INT2 : OUT std_logic_vector(0 to 0)
);
END COMPONENT;

begin
Inst_system: system PORT MAP(
  fpga_0_RS232_RX_pin => RX,
  fpga_0_RS232_TX_pin => TX,
  fpga_0_Generic_GPIO_GPIO_IO_pin => S_gpio,
  fpga_0_clk_1_sys_clk_pin => clk,
  fpga_0_rst_1_sys_rst_pin => rst
);
Inst_test21: test21 PORT MAP(
  clk => clk,
  INT1 => INT,
  INT2 => S_gpio
);
end Behavioral;

综合时发现错误
ERROR:Xst:528 - Multi-source in Unit <top> on signal <S_gpio>; this signal is connected to multiple drivers.

另外用edk搭建的系统能够用原理图么?
还是觉得原理图方便许多,呵呵

inout和out的不能这么连接,要做一些处理,否则会被当作对这个连接信号进行多驱动的。

谢谢楼上的回答!
那请问我将两个都改成inout的行么?
或者怎样处理?能给说明一下么?
我其中一个模块是调用的是edk。

你只能把out的信号和inout的信号的in部分进行匹配,至于inout的信号的out部分,你也要做一个处理,根据你自己的设计来安排。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top