Xilinx Spartan 6 FPGA의 코어 생성 블록 RAM을 양방향 데이터 버스에 연결하는 방법을 알아 내려고합니다. 내가 찾을 수있는 모든 예제는 데이터 포트를 개별적으로 사용한다고 가정하지만, 제 경우에는 양방향 데이터 버스로 사용해야합니다.양방향 버스의 블록 RAM
VHDL을 사용하고 있습니다. 로 인스턴스화
COMPONENT ram
PORT (
clka : IN STD_LOGIC;
wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
addra : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
dina : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
douta : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END COMPONENT;
은 다음과 같습니다 :
생성 된 구성 요소는 다음과 같이 정의되어있다
ram1 : ram
PORT MAP (
clka => clk,
wea => r_w,
addra => addr,
dina => din,
douta => dout
);
누군가가 나에게라는 inout
포트에 dina
및 douta
를 연결하는 처리 블록을 표시 할 수 있습니다 data
?
나는 0 % 성공, 다음을 시도 :
process(clk)
begin
if rising_edge(clk) then
if r_w = "1" then
-- Write
din <= data;
dout <= temp;
else
-- Read
din <= (others => 'Z');
data <= dout;
end if;
end if;
end process;
당신의 도움을 주셔서 감사합니다!
여기에'din'과'dout'은 무엇입니까? 신호? – detly
아, 거기 포트 매핑에서 그들을 보지 못했습니다. 신경 쓰지 마. – detly