OpenCores
URL https://opencores.org/ocsvn/t400/t400/trunk

Subversion Repositories t400

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 124 to Rev 125
    Reverse comparison

Rev 124 → Rev 125

/trunk/bench/vhdl/tb_prod-c.vhd
0,0 → 1,34
-------------------------------------------------------------------------------
--
-- Testbench for the production test.
--
-- $Id: tb_prod-c.vhd,v 1.1 2006-06-10 18:50:51 arniml Exp $
--
-- Copyright (c) 2006, Arnim Laeuger (arniml@opencores.org)
--
-- All rights reserved
--
-------------------------------------------------------------------------------
 
configuration tb_prod_behav_c0 of tb_prod is
 
for behav
 
for t420_b: t420
use configuration work.t420_struct_c0;
end for;
 
for tb_elems_b: tb_elems
use configuration work.tb_elems_behav_c0;
end for;
 
end for;
 
end tb_prod_behav_c0;
 
 
-------------------------------------------------------------------------------
-- File History:
--
-- $Log: not supported by cvs2svn $
-------------------------------------------------------------------------------
/trunk/bench/vhdl/tb_prod.vhd
0,0 → 1,451
-------------------------------------------------------------------------------
--
-- Testbench for the production test as proposed by
-- "Testing of COP400 Familiy Devices"
-- National Semiconductor
-- COP Note 7
-- April 1991
--
-- $Id: tb_prod.vhd,v 1.1 2006-06-10 18:50:51 arniml Exp $
--
-- Copyright (c) 2006 Arnim Laeuger (arniml@opencores.org)
--
-- All rights reserved
--
-- Redistribution and use in source and synthezised forms, with or without
-- modification, are permitted provided that the following conditions are met:
--
-- Redistributions of source code must retain the above copyright notice,
-- this list of conditions and the following disclaimer.
--
-- Redistributions in synthesized form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in the
-- documentation and/or other materials provided with the distribution.
--
-- Neither the name of the author nor the names of other contributors may
-- be used to endorse or promote products derived from this software without
-- specific prior written permission.
--
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-- POSSIBILITY OF SUCH DAMAGE.
--
-- Please report bugs to the author, but before you do so, please
-- make sure that this is not a derivative work and that
-- you have the latest version of this file.
--
-- The latest version of this file can be found at:
-- http://www.opencores.org/cvsweb.shtml/t400/
--
-------------------------------------------------------------------------------
 
entity tb_prod is
 
end tb_prod;
 
 
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
 
use work.t400_system_comp_pack.t420;
use work.tb_pack.all;
use work.t400_opt_pack.all;
 
architecture behav of tb_prod is
 
-- 5 MHz clock
constant period_c : time := 200 ns;
signal ck_s : std_logic;
signal en_ck_s : std_logic := '0';
 
signal reset_n_s : std_logic;
 
signal io_l_s : std_logic_vector(7 downto 0);
signal io_d_s,
d_s : std_logic_vector(3 downto 0);
signal exp_d_s : std_logic_vector(3 downto 0) := "0000";
signal io_g_s,
g_s : std_logic_vector(3 downto 0);
signal exp_g_s : std_logic_vector(3 downto 0) := "0000";
signal io_in_s : std_logic_vector(3 downto 0);
 
signal si_s,
so_s,
sk_s : std_logic;
 
signal cs_n_s,
rd_n_s,
wr_n_s : std_logic;
 
signal tb_io_l_s : std_logic_vector(7 downto 0);
signal disable_s : boolean := true;
signal pass_s : std_logic := 'L';
signal fail_s : std_logic := 'L';
 
signal vdd4_s : std_logic_vector(3 downto 0);
 
begin
 
vdd4_s <= (others => '1');
reset_n_s <= '1';
 
-----------------------------------------------------------------------------
-- DUT
-----------------------------------------------------------------------------
t420_b : t420
generic map (
opt_ck_div_g => t400_opt_ck_div_4_c
)
port map (
ck_i => ck_s,
ck_en_i => en_ck_s,
reset_n_i => reset_n_s,
cko_i => io_in_s(2),
si_i => si_s,
so_o => so_s,
sk_o => sk_s,
io_l_b => io_l_s,
io_d_o => io_d_s,
io_g_b => io_g_s,
io_in_i => io_in_s
);
 
io_l_s <= (others => 'H');
io_d_s <= (others => 'L');
io_g_s <= (others => 'L');
io_in_s <= (others => 'H');
 
io_in_s <= io_g_s; -- feedthrough for production test
 
d_s <= to_X01(io_d_s);
g_s <= to_X01(io_g_s);
 
 
-----------------------------------------------------------------------------
-- Testbench elements
-----------------------------------------------------------------------------
tb_elems_b : tb_elems
generic map (
period_g => period_c,
d_width_g => 4,
g_width_g => 4
)
port map (
io_l_i => tb_io_l_s,
io_d_i => vdd4_s,
io_g_i => vdd4_s,
io_in_o => open,
so_i => so_s,
si_o => si_s,
sk_i => sk_s,
ck_o => ck_s
);
 
 
-----------------------------------------------------------------------------
-- Process ck_div
--
-- Purpose:
-- Generates the en_ck_s signal from the high frequency clock.
--
ck_div: process (ck_s)
variable cnt_v : natural := 0;
begin
if ck_s'event and ck_s = '1' then
en_ck_s <= '0';
 
if cnt_v = 25 then
cnt_v := 0;
en_ck_s <= '1';
else
cnt_v := cnt_v + 1;
end if;
end if;
end process ck_div;
--
-----------------------------------------------------------------------------
 
 
-----------------------------------------------------------------------------
-- Process exp
--
-- Purpose:
-- Sets the expected values for D and G ports.
--
exp: process
procedure w_p(signal sig : in std_logic_vector) is
begin
wait until sig'event;
end;
 
procedure exp_d_p(exp : in natural) is
begin
w_p(d_s);
exp_d_s <= std_logic_vector(to_unsigned(exp, 4));
end;
 
procedure exp_g_p(exp : in natural) is
begin
w_p(g_s);
exp_g_s <= std_logic_vector(to_unsigned(exp, 4));
end;
 
begin
-- default settings
pass_s <= 'L';
exp_d_s <= (others => '0');
exp_g_s <= (others => '0');
 
wait for 1 us;
disable_s <= false;
 
-- G(0 > 9)
exp_g_p(9);
 
-- G(9 > 6)
exp_g_p(6);
 
-- D(0 > 13)
exp_d_p(13);
 
-- D(13 > 3)
exp_d_p(3);
 
-- D(3 > 2)
exp_d_p(2);
 
-- D(2 > 3)
exp_d_p(3);
 
-- G(6 > 7)
exp_g_p(7);
 
-- G(7 > 8)
exp_g_p(8);
 
-- G(8 > 9)
exp_g_p(9);
 
-- G(9 > 11)
exp_g_p(11);
 
-- G(11 > 7)
exp_g_p(7);
 
-- G(7 > 1)
exp_g_p(1);
 
-- D(2 > 0)
exp_d_p(0);
 
-- G(1 > 5)
exp_g_p(5);
 
-- D(0 > 15)
exp_d_p(15);
 
-- G(5 > 9)
exp_g_p(9);
 
-- D(15 > 0)
exp_d_p(0);
 
-- G(9 > 10)
exp_g_p(10);
 
-- G(10 > 9)
exp_g_p(9);
 
-- G(9 > 1)
exp_g_p(1);
 
-- G(1 > 4)
exp_g_p(4);
 
-- G(4 > 14)
exp_g_p(14);
 
-- G(14 > 3)
exp_g_p(3);
 
-- G(3 > 14)
exp_g_p(14);
 
-- G(14 > 7)
exp_g_p(7);
 
-- G(7 > 9)
exp_g_p(9);
 
-- G(9 > 10)
exp_g_p(10);
 
-- G (10 > 7)
exp_g_p(7);
 
-- G(7 > 10)
exp_g_p(10);
 
-- G(10 > 7)
exp_g_p(7);
 
-- G(7 > 10)
exp_g_p(10);
 
-- G(10 > 0)
exp_g_p(0);
 
-- G(0 > 10)
exp_g_p(10);
 
-- G(10 > 7)
exp_g_p(7);
 
-- G(7 > 10)
exp_g_p(10);
 
-- D was at 15 before
-- -- D(15 > 0)
-- exp_d_p(0);
 
-- G(10 > 1)
exp_g_p(1);
 
-- G(1 > 0)
exp_g_p(0);
 
-- D(0 > 11)
exp_d_p(11);
 
-- G(10 > 9)
exp_g_p(9);
 
---------------------------------------------------------------------------
-- RAM tests
--
for reg in 0 to 3 loop
exp_g_p(7);
exp_g_p(14);
exp_g_p(5);
exp_g_p(12);
exp_g_p(3);
exp_g_p(10);
exp_g_p(1);
exp_g_p(8);
exp_g_p(15);
exp_g_p(6);
exp_g_p(13);
exp_g_p(4);
exp_g_p(11);
exp_g_p(2);
exp_g_p(9);
exp_g_p(0);
end loop;
 
wait for 1 us;
if fail_s /= '1' then
pass_s <= '1';
end if;
wait;
end process exp;
--
-----------------------------------------------------------------------------
 
 
-----------------------------------------------------------------------------
-- Process exp_d
--
-- Purpose:
-- Checks the expected value for the D port.
--
exp_d: process (ck_s)
begin
if disable_s then
fail_s <= 'L';
elsif ck_s'event and ck_s = '0' then
if d_s /= exp_d_s then
fail_s <= '1';
end if;
end if;
end process exp_d;
--
-----------------------------------------------------------------------------
 
 
-----------------------------------------------------------------------------
-- Process exp_g
--
-- Purpose:
-- Checks the expected value for the G port.
--
exp_g: process (ck_s)
begin
if disable_s then
fail_s <= 'L';
elsif ck_s'event and ck_s = '0' then
if g_s /= exp_g_s then
fail_s <= '1';
end if;
end if;
end process exp_g;
--
-----------------------------------------------------------------------------
 
 
-----------------------------------------------------------------------------
-- Process pass_fail
--
-- Purpose:
-- Collects the pass/fail signal and generates the respective sequence
-- on tb_io_l_s.
--
pass_fail: process
procedure tb_pass_fail(pass : in boolean) is
begin
tb_io_l_s <= "00000000";
wait for 1 us;
tb_io_l_s <= "10100000";
wait for 1 us;
tb_io_l_s <= "01010000";
wait for 1 us;
 
if pass then
tb_io_l_s <= "00000000";
else
tb_io_l_s <= "11110000";
end if;
wait for 1 us;
end;
 
begin
tb_io_l_s <= (others => '0');
 
loop
wait until pass_s'event or fail_s'event;
if fail_s = '1' then
tb_pass_fail(pass => false);
elsif pass_s = '1' then
tb_pass_fail(pass => true);
end if;
end loop;
end process pass_fail;
--
-----------------------------------------------------------------------------
 
end behav;
 
 
-------------------------------------------------------------------------------
-- File History:
--
-- $Log: not supported by cvs2svn $
-------------------------------------------------------------------------------
/trunk/sw/verif/system/production_test/prod --- trunk/sw/verif/system/production_test/test.asm (nonexistent) +++ trunk/sw/verif/system/production_test/test.asm (revision 125) @@ -0,0 +1,504 @@ + ;; ******************************************************************* + ;; $Id: test.asm,v 1.1 2006-06-10 18:49:47 arniml Exp $ + ;; + ;; Production test as proposed by + ;; "Testing of COP400 Familiy Devices" + ;; National Semiconductor + ;; COP Note 7 + ;; April 1991 + ;; + + ;; the cpu type is defined on asl's command line + + org 0x00 + +; INSTRUCTION RESULT COMMENTS + + NOP ; NO CHANGE CHECK NOP & ALLOW TRANSIENT + ; CYCLE FOR MODE + OGI 9 ; G(0 > 9) NOT FOR 410L/411L + OGI 6 ; G(9 > 6) REVERSE ALL G STATES + STII 8 ; SET UP 0,0 FOR FUTURE + LBI 3, 13 ; B TO NEW POSITION (3, 13) + OBD ; D(0 > 13) CHECK D + CLRA ; MAKE SURE A = 0 + XABR ; 3 > A;0 > Br + CAB ; MOVE 3 to Bd + OBD ; D(13 > 3) CHECK XABR CAB & D CHANGE + CLRA ; ! + AISC 2 ; !FORCE A > 2 + CAB ; 2 > Bd + OBD ; D(3 > 2) VERIFY 2 FROM A > Bd + STII 7 ; 7 > 0,2 & Bd > 3 + OBD ; D(2 > 3) STII INCREMENTS Bd + CAB ; SEE THAT A STILL THE SAME + OMG ; G(6 > 7) OMB & RAM CHECK + CLRA + CAB ; B(0,0) + OMG ; G(7 > 8) TIE IN RAM, A & G OPERATION + SMB 0 ; SMB INST. CHECK + OMG ; G(8 > 9) : + SMB 1 ; : + OMG ; G(9 > 11) : + RMB 0 ; : + RMB 3 ; : + LD 0 ; :2 > A (modified AL) + CAB ; A = 2 > B + OMG ; G(11 > 7) OUTPUT M(0,2) + LD 1 ; M(0,2) > A; B > 1,2 + XAD 0,0 ; A(7) < => M(0,0) 2 + AISC 15 ; AISC CHECK; A = 1 + LDD 0,0 ; CHECK SKIP OF 2 BYTE INST. + X 0 ; STORE 1 + OMG ; G(7 > 1) VERIFY + LD 0 ; COPY1,2 BACK TO A + ADT ; ADD TEN + XDS 0 ; LEAVE 11 IN 1,2;GO 1, 1 WITH 1 + XDS 0 ; LEAVE 1 IN 1,1;GO 1,0 W ? + OBD ; D(2 > 0) CHECK Bd MOVEMENT + STII 5 ; 5 > 1,0;Bd TO 1,1 + CBA ; CHECK B > A + AISC 3 ; AISC CHECK 4 >A + +; INSTRUCTION RESULT COMMENTS + + XDS 0 ; 1 > A; 4 > 1,1 + OMG ; G(1 > 5) FROM 1,0 + XDS 0 ; 5 > A; 1 > 1,0; Bd < 15 SKIP + LDD 0,0 ; SKIPPED ! + OBD ; D(0 > 15) + AISC 4 ; 9 > A + X 0 ; 9 > 15 + OMG ; G(5 > 9) + CLRA + COMP ; ONES TO A + XOR ; FLIP MEMORY + XIS 0 ; 6 > 1,15; 9 > A; Bd > 1,0 + LDD 0,0 ; SKIP + AISC 8 ; A > 1 (added AL) + LDD 0,0 ; SKIP (added AL) + SKE + LBI 1,2 ; SKIP 2 WORD LBI (NOT IN 410) + OBD ; D(15 > 0) VERIFY WORD + SKE ; 11 NOT = 9 + LBI 1,0 ; BACK TO 1,0 + SMB 2 ; : + SKE ; : + RMB 2 ; : + SKE ; :CHECK BIT + SMB 3 ; :MANIPULATIONS + SKE ; : + LDD 0,0 ; : + X 3 ; Bd > 2,0 + XAD 1,1 ; 9 > 1,1; 4 > A + XIS 1 ; 4 > 2,0; Bd > 3,1 + ING ; INPUT G PORT + X 0 ; STORE + +; INSTRUCTION RESULT COMMENTS + + CLRA + ASC ; CHECK ADD WITH CARRY + SC ; CHECK SET CARRY + SKC ; CHECK SKIP ON CARRY + LDD 0,0 + X 0 ; STORE A + OMG ; G = 9 NO CHANGE + CLRA + ASC + X 0 + OMG ; G(9 > 10) CARRY ADDS ONE TO MEMORY + CAMQ ; STORE A & M IN Q; 10,9 + XDS 0 ; 9 > 3,1; 10 > A; Bd > 3,0 + CQMA ; STORE 9 IN 3,0 (added AL) + OMG ; G(10 > 9) + LD 2 ; 9 > A; Bd > 1,0 + +; INSTRUCTION RESULT COMMENTS + + OMG ; G(9 > 1) + LD 3 ; 1 > A; Bd > 2,0 + OMG ; G(1 > 4) (result corrected AL) + ADD ; ADD WITHOUT CARRY + X 0 ; STORE 3 IN 2,0 + SC + LDD 0,0 ; 7 > A + CASC ; CHECK CASC + SKC + X 0 ; STORE 12 + OMG ; G(4 > 14) (prev and current result corrected AL) + CLRA ; : + AISC 3 ; : + X 0 ; : + SC ; :CHECK + SKC ; :SKC/SC + X 0 ; : + OMG ; G(14 > 3) (prev result corrected AL) + RC ; : + SKC ; :CHECK + X 0 ; :RC + OMG ; G(3 > 14) : + LBI 0,0 ; :CHECK + LBI 1,15 ; ;SEQUENTIAL LBI'S + LBI 2,7 ; ALSO SKIPPED (LBI 2,7 NOT IN 410) + OMG ; G(14 > 7) + CQMA ; LOAD CONSTANTS FROM Q + OMG ; G(7 > 9) CHECK + X 0 ; : + OMG ; G(9 > 10) : + LEI 1 + XAS ; STORE A - > S (9) + CLRA + AISC 7 ; : + SKGBZ 0 ; : + X 0 ; :CHECK + OMG ; : + SKGBZ 1 ; : + X 0 ; ;G BIT + OMG ; G (10 > 7) : + SKGBZ 2 ; : + X 0 ; : + OMG ; G(7 > 10) :TESTS + SKGBZ 3 ; : + X 0 ; : + OMG ; G(10 > 7) : + +; INSTRUCTION RESULT COMMENTS + + SKGZ + X 0 ; :CHECK + OMG ; G(7 > 10) : + OGI 0 ; G(10 > 0) :G TEST + SKGZ ; : + X 0 ; : + OMG ; G(0 > 10) : + SKMBZ 0 + X 0 ; CHECK MEMORY BIT TESTS + OMG ; NO CHANGE + SKMBZ 1 + +; INSTRUCTION RESULT COMMENTS + + X 0 + OMG ; G(10 > 7) NO SKIP + SKMBZ 2 + X 0 ; WON'T SKIP + OMG ; G(7 > 10) + INIL ; SEE THAT L LATCHES RESET + ININ ; ASSUME G - > I + SKE + X 1 ; Br > 1 + OMG ; SHOULD BE EQUAL + INIL ; : + X 0 ; : + SKMBZ 3 ; : + OBD ; D(15 > 0) :INIL TEST + OGI 1 ; G(10 > 1) :(result added AL) + LBI 3,11 ; : + OGI 0 ; G(1 > 0) :(result added AL) + NOP ; (NOP added AL) + INIL ; : + X 0 ; : + SKMBZ 0 ; : + OBD ; D(0 > 11) : + NOP + XAS ; : + X 0 ; :XAS TEST + OMG ; G(10 > 9) : + +; INSTRUCTION RESULT COMMENTS + + LBI 0,0 ; LOAD RAM WITH + STII 7 ; CONSTANTS USING + STII 14 ; STII + STII 5 + STII 12 + STII 3 + STII 10 + STII 1 + STII 8 + STII 15 + STII 6 + STII 13 + STII 4 + STII 11 + STII 2 + STII 9 + STII 0 + LBI 1,0 + STII 7 + STII 14 + STII 5 + STII 12 + STII 3 + STII 10 + STII 1 + STII 8 + STII 15 + STII 6 + STII 13 + STII 4 + STII 11 + STII 2 + STII 9 + STII 0 + LBI 2,0 + STII 7 + STII 14 + STII 5 + STII 12 + STII 3 + STII 10 + STII 1 + STII 8 + STII 15 + STII 6 + STII 13 + +; INSTRUCTION RESULT COMMENTS + + STII 4 + STII 11 + +; INSTRUCTION RESULT COMMENTS + + STII 2 + STII 9 + STII 0 + LBI 3,0 + STII 7 + STII 14 + STII 5 + STII 12 + STII 3 + STII 10 + STII 1 + STII 8 + STII 15 + STII 6 + STII 13 + STII 4 + STII 11 + STII 2 + STII 9 + STII 0 + +; INSTRUCTION RESULT COMMENTS + + LBI 0,0 ; CHECK FOR RAM DATA + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + NOP + +; INSTRUCTION RESULT COMMENTS + + LBI 1,0 ; CHECK FOR RAM DATA + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + +; INSTRUCTION RESULT COMMENTS + + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + NOP + +; INSTRUCTION RESULT COMMENTS + + LBI 2,0 ; CHECK FOR RAM DATA + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + +; INSTRUCTION RESULT COMMENTS + + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + NOP + +; INSTRUCTION RESULT COMMENTS + + LBI 3,0 ; CHECK FOR RAM DATA + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + OMG ; OUTPUT DATA + LD 0 ; : + XIS 0 ; :MOVE TO NEXT DIGIT + NOP + + jmp .

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.