R
rickman
Guest
ALuPin wrote:
assign a value to DQS. But there is a difference between the two clock
edge descriptions. I don't recall how "rising_edge()" is defined, but
it is not the same as "Clk'event and Clk='1'". Even so, I would not
expect a difference in how the two operate unless CLK has values other
than '1' and '0'.
I belive "Clk'event and Clk='1'" will detect a transistion from *any*
value to '1' as a valid clock edge, while "rising_edge(Clk)" requires
the previous state to be '0' or possibly 'L'. Does you simulation allow
Clk to be undefined with a 'Z', 'U' or 'X'?
--
Rick "rickman" Collins
rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.
Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design URL http://www.arius.com
4 King Ave 301-682-7772 Voice
Frederick, MD 21701-3110 301-682-7666 FAX
I can't say that the INOUT port would make a difference since you neverHi,
I have a question concerning the following phenomenon:
I have a signal which is registered by the following way:
entity xy is
port (...
DQS : inout std_logic_vector(15 downto 0);
);
end xy;
architecture zy of xy is
signal l_input_cell : std_logic_vector(15 downto 0);
begin
process(Reset, Clk)
begin
if Reset='1' then
l_input_cell <= (others => '0');
elsif rising_edge(Clk) then
l_input_cell <= DQS;
end if;
end process;
end zy;
When I simulated the design (I had changed a different design to my
own
VHDL style) I got different simulation results (functional simulation
Modelsim) with respect to the signal "l_input_cell".
Then I changed "rising_edge(Clk)" back to "Clk'event and Clk='1'" and
I got the same result as in the original design.
So why is there a difference at all?
Does the use of an INOUT port play any role ?
assign a value to DQS. But there is a difference between the two clock
edge descriptions. I don't recall how "rising_edge()" is defined, but
it is not the same as "Clk'event and Clk='1'". Even so, I would not
expect a difference in how the two operate unless CLK has values other
than '1' and '0'.
I belive "Clk'event and Clk='1'" will detect a transistion from *any*
value to '1' as a valid clock edge, while "rising_edge(Clk)" requires
the previous state to be '0' or possibly 'L'. Does you simulation allow
Clk to be undefined with a 'Z', 'U' or 'X'?
--
Rick "rickman" Collins
rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.
Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design URL http://www.arius.com
4 King Ave 301-682-7772 Voice
Frederick, MD 21701-3110 301-682-7666 FAX