--- Quote Start ---
If you use lock as an active-low reset, and it never goes high, then your logic will remain in reset.
Conversely, if you have an active low reset signal, eg., rstN, and it never goes low, the reset condition will never occur. You will see this in simulation, in that a signal will never take on its reset value, but instead will take on the default value for the data type used in the process. In VHDL you can write something like this to set the "power-on" default condition for a signal
signal q : std_logic := '0'; -- power-on condition
signal rstN : std_logic := '1'; -- never asserts low
process(clk, rstN)
begin
if (rstN = '0') then
q <= '0'; -- never occurs
elsif rising_edge(clk) then
q <= d;
end if;
end process;
Verilog will have a similar construct.
Cheers,
Dave
--- Quote End ---
It seems my statement "there is only low voltage level in "lock"" is confusing. "only low voltage" I mean is since after power on the FPGA, we will see the "lock" be low, then goes high later. So we will never see the lock signal has a falling edge if we don't reset the PLL.
I think I should ask the question in another way. In Verilog, when I put the reset signal into the sensitive list, does Verilog really care is the reset edge or reset voltage level?
I think it really cares is reset voltage level. This is because as you mentioned in VHDL, when we put the reset signal into the Process sensitive list, we even don't care whether is rising edge or falling edge.
Thanks very much.