Forum Discussion
SSenn
New Contributor
6 years agoHow to describe a process with asynchronous reset in VHDL for the ARRIA 10 FPGA
Hello, i have some trouble with the reset signal. I use VHDL to describe my logic. The target FPGA is an ARRIA 10. I have realized that the reset signal is connected as a global enable signal (ENA)...
- 6 years ago
Hi,
If you put s_data <= data; in the if-else condition, the data will be controlled by arst_n = '0'.
Thanks.
SSenn
New Contributor
6 years agoHello YY
Thank you for your quick answer. We already use synchronized asynchronous resets. The <arst_n> signal is generated with the following logic:
p_rst: process(pll_lock_n, s_clk)
begin
if pll_lock_n = '0' then
s_arst_n <= (others => '0');
elsif rising_edge(s_clk) then
s_arst_n <= s_arst_n(s_arst_n'high-1 downto 0) & '1';
end if;
end process p_rst;
arst_n <= s_arst_n(s_arst_n'high);I can describe the logic in two processes, but in my opinion this makes the code confusing.
process(arst_n, clk)
begin
if arst_n = '0' then
s_valid <= '0';
elsif rising_edge(clk) then
s_valid <= valid;
end if;
end process:
process(clk)
begin
if rising_edge(clk) then
s_data <= data;
end if;
end process:Is there a way to describe the logic in one process without the disadvantage of the Global Enables?