죄송합니다.이 웹 사이트를 처음 사용하지만 거의 2 일 동안 답변을 검색했습니다.테스트 벤치 다중 아키텍처
저는 VHDL을 처음 사용하고 있으며, 간단한 16 비트 ALU를 지정하도록 과제가 지정되었습니다. 이 ALU에는 RTL 디자인뿐 아니라 행동 적 아키텍처도 2 가지 아키텍처가 필요합니다. 내가 원하는만큼 완전한 코드를 가지고있다.
내가 알 수없는 것은 내가 ModelSim의 두 아키텍처에서 시뮬레이션을 실행할 수있는 테스트 벤치를 작성하는 방법이다. 두 파일 (테스트 벤치 및 ALU) 잘 컴파일, 그러나 "초기화되지 않은 inout 포트에 드라이버가 없습니다"라는 오류 메시지가 발생합니다.
이 문제에 대해 어떤 코드를 표시해야할지 모르겠습니다. 내 결핵의 시작을 보여줄뿐입니다.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY tb IS
END tb;
ARCHITECTURE behavior OF tb IS
signal Clk,Res : std_logic := '0';
signal A,B : signed(15 downto 0) := (others => '0');
signal R1, R2 : signed(31 downto 0) := (others => '0');
signal Op : unsigned(2 downto 0) := (others => '0');
constant Clk_period : time := 10 ns;
component ALU_16_First
port(A, B: signed(15 downto 0):=(others => '0'); R: inout signed(31 downto 0):= (others => '0'); Op: in unsigned(2 downto 0) := (others => '0'); Clk, Res: Std_logic);
end component ALU_16_First;
component ALU_16_RTL
port(A, B: in signed(15 downto 0):= (others => '0');
R: inout signed(31 downto 0):= (others => '0'); Op: in unsigned(2 downto 0) := (others => '0'); Clk, Res: Std_logic);
end component ALU_16_RTL;
for ALU_Behaviorial: ALU_16_First use entity work.simple_alu(Behavioral);
for ALU_RTL: ALU_16_RTL use entity work.simple_alu(RTL);
BEGIN
-- Instantiate the Unit Under Test (UUT)
ALU_Behaviorial : ALU_16_First PORT MAP (
A,
B,
R1,
Op,
Clk,
Res
);
ALU_RTL: ALU_16_RTL PORT MAP (
A,
B,
R2,
Op,
Clk,
Res
);
저는이 작업을 제 시간에 끝내기 위해 절박합니다.
감사합니다.
신난다, 나는 항구를 단지 바꿨다. 그런 다음 비 tb 코드를 확인하고 R이 데이터를 가져 오는 방식을 변경했습니다. 나는 거기에서 많은 것을 알아 냈다. 고마워! – addd45