Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20641 Discussions

Remote System Upgrade-CycloneIII-data_out issue

Altera_Forum
Honored Contributor II
857 Views

Hi all, 

 

I have generated Remote System Upgrade VHDL code using ALTREMOTE_UPDATE mega function,in AS configuration. 

 

I am simulating the design forPARAMETER WRITES (param[]=2,3 & 4 respectively) 

followed by reads. 

 

Data bus widths: data_in(21 downto 0);data_out(28 downto 0). 

 

For writes,I see the writes happening properly on data_out. 

for reads,i always see unknown (u and ?) on the data_out. 

 

Below is the snapshot of my testbench.Greatly appreciate your help. 

 

 

 

-- Init 

reset_timer <= '0';  

read_param <= '0'; 

reconfig <= '0';  

write_param <= '0'; 

read_source <= "11"; 

param <= "010";  

data_in <= "0010101010101010101010";  

 

-- reset 

wait until falling_edge(clock);  

reset <= '1';  

wait until falling_edge(clock);  

wait until falling_edge(clock); 

reset <= '0';  

 

--wait  

for N in 0 to 11 loop 

wait until falling_edge(clock); 

end loop; 

 

write_param <= '1';  

wait until falling_edge(clock); 

write_param <= '0';  

 

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop; 

-- 

param <= "011";  

data_in <= "0000000000000000000001" ; 

 

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop; 

 

write_param <= '1';  

wait until falling_edge(clock); 

write_param <= '0';  

 

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop; 

 

param <= "100";  

data_in <= "0000000000000000011111" ; 

 

 

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop; 

 

write_param <= '1';  

wait until falling_edge(clock); 

write_param <= '0';  

 

for N in 0 to 100 loop 

wait until falling_edge(clock); 

end loop; 

--*********START READ********** 

 

-- read parameters  

data_in <= "0000000000000000000000" ; 

param <= "010";  

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop; 

 

read_param <= '1';  

wait until falling_edge(clock); 

read_param <= '0';  

 

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop;  

 

param <= "011";  

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop; 

 

read_param <= '1';  

wait until falling_edge(clock); 

read_param <= '0'; 

 

for N in 0 to 70 loop 

wait until falling_edge(clock); 

end loop;  

 

 

 

param <= "100"; 

for N in 0 to 11 loop 

wait until falling_edge(clock); 

end loop; 

 

read_param <= '1';  

wait until falling_edge(clock); 

read_param <= '0';  

 

for N in 0 to 50 loop 

wait until falling_edge(clock); 

end loop;  

 

Thanks, 

Brunda
0 Kudos
0 Replies
Reply