Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

4bit siso shift register

Altera_Forum
명예로운 기여자 II
2,961 조회수

I used the following code for 4bit siso shift register. 

 

 

Signal temp : std_logic_vector( 3downtown 0); 

begin 

process 

begin 

if(rising_edge(clk)) then 

temp(3 downtown 1)<=temp(2 downto 0); 

temp(0)<=si; 

end if; 

end process; 

so<=temp(3); 

end behavioural; 

 

 

I used the following testbench code. 

clk<= '0'; 

si<='1'; 

wait for 100ns; 

 

clk<= '1'; 

si<='1'; 

wait for 100ns; 

 

But after stimulation its shows that so is undefined i.e 

a red bar is shown.... 

Pls help......
0 포인트
6 응답
Altera_Forum
명예로운 기여자 II
1,759 조회수

You only show a single clock in the testbench code. It will take 4 clocks for si to propogate to so.

0 포인트
Altera_Forum
명예로운 기여자 II
1,759 조회수

clk<= '0'; 

si<='1'; 

wait for 100ns; 

 

clk<= '1'; 

si<='1'; 

wait for 100ns; 

clk<= '0'; 

si<='1'; 

wait for 100ns; 

 

clk<= '1'; 

si<='1'; 

wait for 100ns; 

clk<= '0'; 

si<='1'; 

wait for 100ns; 

 

clk<= '1'; 

si<='1'; 

wait for 100ns; 

clk<= '0'; 

si<='1'; 

wait for 100ns; 

 

clk<= '1'; 

si<='1'; 

wait for 100ns; 

I have used the above coding..... 

Even if I use 4 clocks its still shows the red bar
0 포인트
Altera_Forum
명예로운 기여자 II
1,759 조회수

Pls help.....

0 포인트
Altera_Forum
명예로운 기여자 II
1,759 조회수

Please post all of your code, not just an extract.

0 포인트
Altera_Forum
명예로운 기여자 II
1,759 조회수

did you try to initialize temp(3 downto 0) to an initial value? If not you need at least 4 clock edges to get "so" "green" 

if "red" it would be that you never put anything on it...
0 포인트
Altera_Forum
명예로운 기여자 II
1,759 조회수

AND , you have to put "clock" in the process sensitivity list....

0 포인트
응답