|
Message
From: cvs at opencores.org<cvs@o...>
Date: Thu Jan 25 01:19:41 CET 2007
Subject: [cvs-checkins] MODIFIED: rise ...
Date: 00/07/01 25:01:19 Modified: rise/vhdl if_stage.vhd Log: Added second test program for testing uart. Revision Changes Path 1.14 rise/vhdl/if_stage.vhd http://www.opencores.org/cvsweb.shtml/rise/vhdl/if_stage.vhd.diff?r1=1.13&r2=1.14 (In the diff below, changes in quantity of whitespace are not shown.) Index: if_stage.vhd =================================================================== RCS file: /cvsroot/jlechner/rise/vhdl/if_stage.vhd,v retrieving revision 1.13 retrieving revision 1.14 diff -u -b -r1.13 -r1.14 --- if_stage.vhd 24 Jan 2007 22:21:16 -0000 1.13 +++ if_stage.vhd 25 Jan 2007 00:19:40 -0000 1.14 @@ -206,45 +206,80 @@ --- UART sample +-- UART sample 1 + +-- process (cur_pc) +-- begin +-- case cur_pc is +-- when x"0000" => if_id_register_next.ir <= x"8800"; -- ld R8,#0x0 +-- when x"0002" => if_id_register_next.ir <= x"9880"; -- ldhb R8,#0x80 +-- when x"0004" => if_id_register_next.ir <= x"8901"; -- ld R9,#0x1 +-- when x"0006" => if_id_register_next.ir <= x"9980"; -- ldhb R9,#0x80 +-- when x"0008" => if_id_register_next.ir <= x"8b10"; -- ld R11,#0x10 + +-- when x"000A" => if_id_register_next.ir <= x"9b00"; -- ldhb R11,#0x0 +-- when x"000C" => if_id_register_next.ir <= x"8c1c"; -- ld R12,#0x1c +-- when x"000E" => if_id_register_next.ir <= x"9c00"; -- ldhb R12,#0x0 +-- when x"0010" => if_id_register_next.ir <= x"70c0"; -- jmp R12 (test) + +-- when x"0012" => if_id_register_next.ir <= x"8302"; -- ld R3,#0x2 +-- when x"0014" => if_id_register_next.ir <= x"4823"; -- and R2,R3 +-- when x"0016" => if_id_register_next.ir <= x"72b0"; -- jmpz R11 +-- when x"0018" => if_id_register_next.ir <= x"a049"; -- ld R4,[R9] + +-- when x"001A" => if_id_register_next.ir <= x"1841"; -- add R4,#0x1 +-- when x"001C" => if_id_register_next.ir <= x"a028"; -- ld R2,[R8] +-- when x"001E" => if_id_register_next.ir <= x"8301"; -- ld R3,#0x1 +-- when x"0020" => if_id_register_next.ir <= x"4823"; -- and R2,R3 + +-- when x"0022" => if_id_register_next.ir <= x"72c0"; -- jmpz R12 + +-- when x"0024" => if_id_register_next.ir <= x"8441"; --ld R4,#0x41 (test) + +-- when x"0028" => if_id_register_next.ir <= x"e049"; -- st R4,[R9] + +-- when x"002A" => if_id_register_next.ir <= x"70c0"; -- jmp R12 (test) +-- when others => if_id_register_next.ir <= x"0000"; -- nop +-- end case; +-- end process; process (cur_pc) begin case cur_pc is + -- initialisation when x"0000" => if_id_register_next.ir <= x"8800"; -- ld R8,#0x0 when x"0002" => if_id_register_next.ir <= x"9880"; -- ldhb R8,#0x80 when x"0004" => if_id_register_next.ir <= x"8901"; -- ld R9,#0x1 when x"0006" => if_id_register_next.ir <= x"9980"; -- ldhb R9,#0x80 when x"0008" => if_id_register_next.ir <= x"8b10"; -- ld R11,#0x10 - when x"000A" => if_id_register_next.ir <= x"9b00"; -- ldhb R11,#0x0 when x"000C" => if_id_register_next.ir <= x"8c1c"; -- ld R12,#0x1c when x"000E" => if_id_register_next.ir <= x"9c00"; -- ldhb R12,#0x0 - when x"0010" => if_id_register_next.ir <= x"70c0"; -- jmp R12 (test) - - -- when x"0010" => if_id_register_next.ir <= x"a028"; -- ld R2,[R8] + -- check uart data available + when x"0010" => if_id_register_next.ir <= x"a028"; -- ld R2,[R8] when x"0012" => if_id_register_next.ir <= x"8302"; -- ld R3,#0x2 when x"0014" => if_id_register_next.ir <= x"4823"; -- and R2,R3 when x"0016" => if_id_register_next.ir <= x"72b0"; -- jmpz R11 - when x"0018" => if_id_register_next.ir <= x"a049"; -- ld R4,[R9] + -- get add from uart, inc. by one + when x"0018" => if_id_register_next.ir <= x"a049"; -- ld R4,[R9] when x"001A" => if_id_register_next.ir <= x"1841"; -- add R4,#0x1 + + -- wait for uarts transmitter register empty when x"001C" => if_id_register_next.ir <= x"a028"; -- ld R2,[R8] when x"001E" => if_id_register_next.ir <= x"8301"; -- ld R3,#0x1 when x"0020" => if_id_register_next.ir <= x"4823"; -- and R2,R3 - when x"0022" => if_id_register_next.ir <= x"72c0"; -- jmpz R12 - when x"0024" => if_id_register_next.ir <= x"8441"; --ld R4,#0x41 (test) - - when x"0028" => if_id_register_next.ir <= x"e049"; -- st R4,[R9] + -- send data
+ when x"0024" => if_id_register_next.ir <= x"e049"; -- st R4,[R9]
+ when x"0026" => if_id_register_next.ir <= x"70b0"; -- jmp R11
when others => if_id_register_next.ir <= x"0000"; -- nop
end case;
end process;
-
end if_state_behavioral;
|
 |