cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
608 Views
Registered: ‎02-08-2018

Code development problem

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.

0 Kudos
Reply
1 Reply
Scholar
Scholar
576 Views
Registered: ‎03-28-2016

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)

Ted Booth | Tech. Lead FPGA Design Engineer | DesignLinx Solutions
https://www.designlinxhs.com