07-16-2018 04:03 AM
Hello all,
I am new user for Vivado and ISE.
I am developing a code, as follows but while doing the same I am facing a problem(Observed in behavioral simulation)
I am receiving some values in BRAM_add_b_e_in signal (13 downto 0).
I want to start counter from that received values which will increase for every clock event and as it reached to 11999 it will reset the counter.
Please suggest me solution for the same.
BRAM_add_b_e_in_sgl <= BRAM_add_b_e_in_sgl;
BRAM_add_b_e_out <= BRAM_add_b_e_in_sgl;
process(Operation_Clock)
begin
if substr_en_sgl = '0' then
BRAM_add_b_e_in_sgl <= BRAM_add_b_e_in;
BRAM_add_b_e_out <= BRAM_add_b_e_in;
elsif rising_edge(Operation_Clock) then
if BRAM_add_b_e_out = conv_integer(11999) then
BRAM_add_b_e_out <= "00" & x"000";
else
BRAM_add_b_e_out <= BRAM_add_b_e_out + '1';
end if;
BRAM_add_b_e_in_sgl <= BRAM_add_b_e_out;
end if;
end process;
Thanks in advance.
07-16-2018 06:53 AM
1. A signal can't be used in an assignment statement and assigned a value inside a process. Remove the first two lines:
--BRAM_add_b_e_in_sgl <= BRAM_add_b_e_in_sgl;
--BRAM_add_b_e_out <= BRAM_add_b_e_in_sgl;
2. The sensitivity list of the process is incomplete. Add:
process(Operation_Clock, substr_en_sgl)