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

Subversion Repositories openmsp430

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openmsp430/trunk/core/sim/rtl_sim
    from Rev 101 to Rev 102
    Reverse comparison

Rev 101 → Rev 102

/src/sing-op_push.v
399,7 → 399,155
if (mem232 !==16'h0000) tb_error("====== PUSH.B (#N mode): @0x0232 value =====");
if (mem230 !==16'h0000) tb_error("====== PUSH.B (#N mode): @0x0230 value =====");
 
/* -------------- TEST INSTRUCTION WITH SR AS ARGUMENT ------------------- */
 
// Addressing mode: SR
@(r15==16'hF100);
if (r1 !==16'h0232) tb_error("====== PUSH SR : SP value =====");
if (mem250 !==16'h75e2) tb_error("====== PUSH SR : @0x0250 value =====");
if (mem24E !==16'h1cc4) tb_error("====== PUSH SR : @0x024E value =====");
if (mem24C !==16'h12a6) tb_error("====== PUSH SR : @0x024c value =====");
if (mem24A !==16'h5679) tb_error("====== PUSH SR : @0x024a value =====");
if (mem248 !==16'h9a6a) tb_error("====== PUSH SR : @0x0248 value =====");
if (mem246 !==16'hde97) tb_error("====== PUSH SR : @0x0246 value =====");
if (mem244 !==16'h0f4c) tb_error("====== PUSH SR : @0x0244 value =====");
if (mem242 !==16'hcbc3) tb_error("====== PUSH SR : @0x0242 value =====");
if (mem240 !==16'h870e) tb_error("====== PUSH SR : @0x0240 value =====");
if (mem23E !==16'h43fe) tb_error("====== PUSH SR : @0x023e value =====");
if (mem23C !==16'h1fc2) tb_error("====== PUSH SR : @0x023c value =====");
if (mem23A !==16'h3d3b) tb_error("====== PUSH SR : @0x023a value =====");
if (mem238 !==16'h71d9) tb_error("====== PUSH SR : @0x0238 value =====");
if (mem236 !==16'h178d) tb_error("====== PUSH SR : @0x0236 value =====");
if (mem234 !==16'h0234) tb_error("====== PUSH SR : @0x0234 value =====");
if (mem232 !==16'h0232) tb_error("====== PUSH SR : @0x0232 value =====");
if (mem230 !==16'h0000) tb_error("====== PUSH SR : @0x0230 value =====");
 
// Addressing mode: @SR
@(r15==16'hF200);
if (r1 !==16'h022E) tb_error("====== PUSH @SR : SP value =====");
if (mem250 !==16'h75e2) tb_error("====== PUSH @SR : @0x0250 value =====");
if (mem24E !==16'h1cc4) tb_error("====== PUSH @SR : @0x024E value =====");
if (mem24C !==16'h12a6) tb_error("====== PUSH @SR : @0x024c value =====");
if (mem24A !==16'h5679) tb_error("====== PUSH @SR : @0x024a value =====");
if (mem248 !==16'h9a6a) tb_error("====== PUSH @SR : @0x0248 value =====");
if (mem246 !==16'hde97) tb_error("====== PUSH @SR : @0x0246 value =====");
if (mem244 !==16'h0f4c) tb_error("====== PUSH @SR : @0x0244 value =====");
if (mem242 !==16'hcbc3) tb_error("====== PUSH @SR : @0x0242 value =====");
if (mem240 !==16'h870e) tb_error("====== PUSH @SR : @0x0240 value =====");
if (mem23E !==16'h43fe) tb_error("====== PUSH @SR : @0x023e value =====");
if (mem23C !==16'h1fc2) tb_error("====== PUSH @SR : @0x023c value =====");
if (mem23A !==16'h3d3b) tb_error("====== PUSH @SR : @0x023a value =====");
if (mem238 !==16'h71d9) tb_error("====== PUSH @SR : @0x0238 value =====");
if (mem236 !==16'h178d) tb_error("====== PUSH @SR : @0x0236 value =====");
if (mem234 !==16'h0234) tb_error("====== PUSH @SR : @0x0234 value =====");
if (mem232 !==16'h0232) tb_error("====== PUSH @SR : @0x0232 value =====");
if (mem230 !==16'h0000) tb_error("====== PUSH @SR : @0x0230 value =====");
if (mem22E !==16'h1234) tb_error("====== PUSH @SR : @0x022E value =====");
if (mem22C !==16'h5678) tb_error("====== PUSH @SR : @0x022C value =====");
 
// Addressing mode: @SR+
@(r15==16'hF300);
if (r1 !==16'h022E) tb_error("====== PUSH @SR : SP value =====");
if (mem250 !==16'h75e2) tb_error("====== PUSH @SR : @0x0250 value =====");
if (mem24E !==16'h1cc4) tb_error("====== PUSH @SR : @0x024E value =====");
if (mem24C !==16'h12a6) tb_error("====== PUSH @SR : @0x024c value =====");
if (mem24A !==16'h5679) tb_error("====== PUSH @SR : @0x024a value =====");
if (mem248 !==16'h9a6a) tb_error("====== PUSH @SR : @0x0248 value =====");
if (mem246 !==16'hde97) tb_error("====== PUSH @SR : @0x0246 value =====");
if (mem244 !==16'h0f4c) tb_error("====== PUSH @SR : @0x0244 value =====");
if (mem242 !==16'hcbc3) tb_error("====== PUSH @SR : @0x0242 value =====");
if (mem240 !==16'h870e) tb_error("====== PUSH @SR : @0x0240 value =====");
if (mem23E !==16'h43fe) tb_error("====== PUSH @SR : @0x023e value =====");
if (mem23C !==16'h1fc2) tb_error("====== PUSH @SR : @0x023c value =====");
if (mem23A !==16'h3d3b) tb_error("====== PUSH @SR : @0x023a value =====");
if (mem238 !==16'h71d9) tb_error("====== PUSH @SR : @0x0238 value =====");
if (mem236 !==16'h178d) tb_error("====== PUSH @SR : @0x0236 value =====");
if (mem234 !==16'h0234) tb_error("====== PUSH @SR : @0x0234 value =====");
if (mem232 !==16'h0232) tb_error("====== PUSH @SR : @0x0232 value =====");
if (mem230 !==16'h0000) tb_error("====== PUSH @SR : @0x0230 value =====");
if (mem22E !==16'h1234) tb_error("====== PUSH @SR : @0x022E value =====");
if (mem22C !==16'h5678) tb_error("====== PUSH @SR : @0x022C value =====");
if (mem22A !==16'h0000) tb_error("====== PUSH @SR : @0x022A value =====");
if (mem228 !==16'h0000) tb_error("====== PUSH @SR : @0x0228 value =====");
 
// Addressing mode: x(SR)
@(r15==16'hF400);
if (r1 !==16'h022A) tb_error("====== PUSH @SR : SP value =====");
if (mem250 !==16'h75e2) tb_error("====== PUSH @SR : @0x0250 value =====");
if (mem24E !==16'h1cc4) tb_error("====== PUSH @SR : @0x024E value =====");
if (mem24C !==16'h12a6) tb_error("====== PUSH @SR : @0x024c value =====");
if (mem24A !==16'h5679) tb_error("====== PUSH @SR : @0x024a value =====");
if (mem248 !==16'h9a6a) tb_error("====== PUSH @SR : @0x0248 value =====");
if (mem246 !==16'hde97) tb_error("====== PUSH @SR : @0x0246 value =====");
if (mem244 !==16'h0f4c) tb_error("====== PUSH @SR : @0x0244 value =====");
if (mem242 !==16'hcbc3) tb_error("====== PUSH @SR : @0x0242 value =====");
if (mem240 !==16'h870e) tb_error("====== PUSH @SR : @0x0240 value =====");
if (mem23E !==16'h43fe) tb_error("====== PUSH @SR : @0x023e value =====");
if (mem23C !==16'h1fc2) tb_error("====== PUSH @SR : @0x023c value =====");
if (mem23A !==16'h3d3b) tb_error("====== PUSH @SR : @0x023a value =====");
if (mem238 !==16'h71d9) tb_error("====== PUSH @SR : @0x0238 value =====");
if (mem236 !==16'h178d) tb_error("====== PUSH @SR : @0x0236 value =====");
if (mem234 !==16'h0234) tb_error("====== PUSH @SR : @0x0234 value =====");
if (mem232 !==16'h0232) tb_error("====== PUSH @SR : @0x0232 value =====");
if (mem230 !==16'h0000) tb_error("====== PUSH @SR : @0x0230 value =====");
if (mem22E !==16'h1234) tb_error("====== PUSH @SR : @0x022E value =====");
if (mem22C !==16'h71d9) tb_error("====== PUSH @SR : @0x022C value =====");
if (mem22A !==16'h178d) tb_error("====== PUSH @SR : @0x022A value =====");
if (mem228 !==16'h0000) tb_error("====== PUSH @SR : @0x0228 value =====");
 
/* -------------- TEST POP INSTRUCTION WITH SR AS ARGUMENT ------------------- */
 
// Addressing mode: x(SR)
@(r15==16'hF500);
if (r1 !==16'h022E) tb_error("====== PUSH @SR : SP value =====");
if (mem250 !==16'h75e2) tb_error("====== PUSH @SR : @0x0250 value =====");
if (mem24E !==16'h1cc4) tb_error("====== PUSH @SR : @0x024E value =====");
if (mem24C !==16'h12a6) tb_error("====== PUSH @SR : @0x024c value =====");
if (mem24A !==16'h5679) tb_error("====== PUSH @SR : @0x024a value =====");
if (mem248 !==16'h9a6a) tb_error("====== PUSH @SR : @0x0248 value =====");
if (mem246 !==16'hde97) tb_error("====== PUSH @SR : @0x0246 value =====");
if (mem244 !==16'h0f4c) tb_error("====== PUSH @SR : @0x0244 value =====");
if (mem242 !==16'hcbc3) tb_error("====== PUSH @SR : @0x0242 value =====");
if (mem240 !==16'h870e) tb_error("====== PUSH @SR : @0x0240 value =====");
if (mem23E !==16'h43fe) tb_error("====== PUSH @SR : @0x023e value =====");
if (mem23C !==16'h1fc2) tb_error("====== PUSH @SR : @0x023c value =====");
if (mem23A !==16'h3d3b) tb_error("====== PUSH @SR : @0x023a value =====");
if (mem238 !==16'h71d9) tb_error("====== PUSH @SR : @0x0238 value =====");
if (mem236 !==16'h178d) tb_error("====== PUSH @SR : @0x0236 value =====");
if (mem234 !==16'h71d9) tb_error("====== PUSH @SR : @0x0234 value =====");
if (mem232 !==16'h178d) tb_error("====== PUSH @SR : @0x0232 value =====");
if (mem230 !==16'h0000) tb_error("====== PUSH @SR : @0x0230 value =====");
if (mem22E !==16'h1234) tb_error("====== PUSH @SR : @0x022E value =====");
if (mem22C !==16'h71d9) tb_error("====== PUSH @SR : @0x022C value =====");
if (mem22A !==16'h178d) tb_error("====== PUSH @SR : @0x022A value =====");
if (mem228 !==16'h0000) tb_error("====== PUSH @SR : @0x0228 value =====");
 
// Addressing mode: SR
@(r15==16'hF600);
if (r1 !==16'h1234) tb_error("====== PUSH @SR : SP value =====");
if (mem250 !==16'h75e2) tb_error("====== PUSH @SR : @0x0250 value =====");
if (mem24E !==16'h1cc4) tb_error("====== PUSH @SR : @0x024E value =====");
if (mem24C !==16'h12a6) tb_error("====== PUSH @SR : @0x024c value =====");
if (mem24A !==16'h5679) tb_error("====== PUSH @SR : @0x024a value =====");
if (mem248 !==16'h9a6a) tb_error("====== PUSH @SR : @0x0248 value =====");
if (mem246 !==16'hde97) tb_error("====== PUSH @SR : @0x0246 value =====");
if (mem244 !==16'h0f4c) tb_error("====== PUSH @SR : @0x0244 value =====");
if (mem242 !==16'hcbc3) tb_error("====== PUSH @SR : @0x0242 value =====");
if (mem240 !==16'h870e) tb_error("====== PUSH @SR : @0x0240 value =====");
if (mem23E !==16'h43fe) tb_error("====== PUSH @SR : @0x023e value =====");
if (mem23C !==16'h1fc2) tb_error("====== PUSH @SR : @0x023c value =====");
if (mem23A !==16'h3d3b) tb_error("====== PUSH @SR : @0x023a value =====");
if (mem238 !==16'h71d9) tb_error("====== PUSH @SR : @0x0238 value =====");
if (mem236 !==16'h178d) tb_error("====== PUSH @SR : @0x0236 value =====");
if (mem234 !==16'h71d9) tb_error("====== PUSH @SR : @0x0234 value =====");
if (mem232 !==16'h178d) tb_error("====== PUSH @SR : @0x0232 value =====");
if (mem230 !==16'h0000) tb_error("====== PUSH @SR : @0x0230 value =====");
if (mem22E !==16'h1234) tb_error("====== PUSH @SR : @0x022E value =====");
if (mem22C !==16'h71d9) tb_error("====== PUSH @SR : @0x022C value =====");
if (mem22A !==16'h178d) tb_error("====== PUSH @SR : @0x022A value =====");
if (mem228 !==16'h0000) tb_error("====== PUSH @SR : @0x0228 value =====");
stimulus_done = 1;
end
 
/src/sing-op_push.s43
278,7 → 278,78
 
mov #0xF000, r15
 
/* -------------- TEST INSTRUCTION WITH SR AS ARGUMENT ------------------- */
# Addressing mode: SR
#------------------------
 
nop
push r1 ;# PUSH (r1=0x0234 => @=0x0234)
push r1 ;# PUSH (r1=0x0232 => @=0x0232)
nop
 
mov #0xF100, r15
 
 
# Addressing mode: @SR
#------------------------
 
mov #0x1234, &0x022E
mov #0x5678, &0x022C
nop
push @r1 ;# PUSH (r1=0x0230 => @=0x0230) -> do nothing
push @r1 ;# PUSH (r1=0x022E => @=0x022E) -> do nothing
nop
 
mov #0xF200, r15
 
 
# Addressing mode: @SR+
#------------------------
 
mov #0x0000, &0x022A
mov #0x0000, &0x0228
nop
push @r1+ ;# PUSH (r1=0x022C => @=0x022C) -> do nothing
push @r1+ ;# PUSH (r1=0x022C => @=0x022C) -> do nothing
nop
 
mov #0xF300, r15
 
 
# Addressing mode: x(SR)
#------------------------
nop
push 12(r1) ;# PUSH (r1=0x022C+12 => @=0x022C)
push 12(r1) ;# PUSH (r1=0x022A+12 => @=0x022A)
nop
mov #0xF400, r15
 
/* -------------- TEST POP INSTRUCTION WITH SR AS ARGUMENT ------------------- */
# Addressing mode: x(SR)
#------------------------
 
nop
pop 8(r1) ;# POP (r1=0x022A => @=0x022A+8)
pop 8(r1) ;# POP (r1=0x022C => @=0x022C+8)
nop
 
mov #0xF500, r15
 
 
# Addressing mode: SR
#------------------------
 
nop
pop r1 ;# POP (r1=@0x022E)
nop
 
mov #0xF600, r15
 
/* ---------------------- END OF TEST --------------- */
end_of_test:
nop

powered by: WebSVN 2.1.0

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