A
ALuPin
Guest
Hi,
I have the following problem:
My functional simulation system is built up like that: (I use Modelsim 5.8c Altera)
VHDL SDRAM Controller
-- Port declaration
DQ inout : std_logic_vector(15 downto 0)
VHDL testbench
-- interconnection declaration
t_dq : std_logic_vector(15 downto 0);
SDRAM VHDL model
-- Port declaration
DQ : inouot std_logic_vector(15 downto 0);
In the testbench I connect the modules in the following manner:
u1: sdram_controller
port map ( ...
DQ => t_dq,
...
);
u2: sdram
port map ( ..
DQ => t_dq,
..
);
In the SDRAM controller I make a concurrent assignment
where l_we_burst is the enable signal to drive data onto
the bus and l_data_to_write is the data I want to write into
the SDRAM:
DQ <= l_data_to_write when (l_we_burst='1') else (others =>'Z');
In the testbench I write data to some locations --> I can see the data
on the bus
Later I want to read data from SDRAM by asserting readaddress etc.
When I have a look at the DQ port of the SDRAM and the interconnection
t_dq I can see the READ DATA.
But when I have a look at the DQ port of the SDRAM Controller I do
not see the READ data but "ZZZ..Z". (during READ the signal l_we_burst
is LOW - the simulation shows)
Can someone explain to me what goes wrong?
Rgds
André
I have the following problem:
My functional simulation system is built up like that: (I use Modelsim 5.8c Altera)
VHDL SDRAM Controller
-- Port declaration
DQ inout : std_logic_vector(15 downto 0)
VHDL testbench
-- interconnection declaration
t_dq : std_logic_vector(15 downto 0);
SDRAM VHDL model
-- Port declaration
DQ : inouot std_logic_vector(15 downto 0);
In the testbench I connect the modules in the following manner:
u1: sdram_controller
port map ( ...
DQ => t_dq,
...
);
u2: sdram
port map ( ..
DQ => t_dq,
..
);
In the SDRAM controller I make a concurrent assignment
where l_we_burst is the enable signal to drive data onto
the bus and l_data_to_write is the data I want to write into
the SDRAM:
DQ <= l_data_to_write when (l_we_burst='1') else (others =>'Z');
In the testbench I write data to some locations --> I can see the data
on the bus
Later I want to read data from SDRAM by asserting readaddress etc.
When I have a look at the DQ port of the SDRAM and the interconnection
t_dq I can see the READ DATA.
But when I have a look at the DQ port of the SDRAM Controller I do
not see the READ data but "ZZZ..Z". (during READ the signal l_we_burst
is LOW - the simulation shows)
Can someone explain to me what goes wrong?
Rgds
André