Browse Source

tb working. Compiler and assembly added

master
Raniita 3 years ago
parent
commit
e76dd143e8
  1. 8
      .gitignore
  2. 1025
      assembly/asm.cpp
  3. BIN
      assembly/asm.exe
  4. 155
      assembly/programa_helloworld_int.asm
  5. 285
      assembly/programa_helloworld_int.vhd
  6. 1
      fuseRelaunch.cmd
  7. 3
      isim.cmd
  8. 16
      isim/isim_usage_statistics.html
  9. 0
      isim/lockfile
  10. 1
      isim/pn_info
  11. 34667
      isim/precompiled.exe.sim/ieee/p_1242562249.c
  12. BIN
      isim/precompiled.exe.sim/ieee/p_1242562249.didat
  13. BIN
      isim/precompiled.exe.sim/ieee/p_1242562249.lin64.o
  14. 8819
      isim/precompiled.exe.sim/ieee/p_2592010699.c
  15. BIN
      isim/precompiled.exe.sim/ieee/p_2592010699.didat
  16. BIN
      isim/precompiled.exe.sim/ieee/p_2592010699.lin64.o
  17. 25136
      isim/precompiled.exe.sim/ieee/p_3499444699.c
  18. BIN
      isim/precompiled.exe.sim/ieee/p_3499444699.didat
  19. BIN
      isim/precompiled.exe.sim/ieee/p_3499444699.lin64.o
  20. 2482
      isim/precompiled.exe.sim/ieee/p_3620187407.c
  21. BIN
      isim/precompiled.exe.sim/ieee/p_3620187407.didat
  22. BIN
      isim/precompiled.exe.sim/ieee/p_3620187407.lin64.o
  23. BIN
      isim/tb2_vga_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg
  24. BIN
      isim/tb2_vga_isim_beh.exe.sim/netId.dat
  25. BIN
      isim/tb2_vga_isim_beh.exe.sim/tb2_vga_isim_beh.exe
  26. BIN
      isim/tb2_vga_isim_beh.exe.sim/tmp_save/_1
  27. 31
      isim/tb2_vga_isim_beh.exe.sim/unisim/p_0947159679.c
  28. BIN
      isim/tb2_vga_isim_beh.exe.sim/unisim/p_0947159679.didat
  29. BIN
      isim/tb2_vga_isim_beh.exe.sim/unisim/p_0947159679.lin64.o
  30. 965
      isim/tb2_vga_isim_beh.exe.sim/work/a_0033876555_2111220564.c
  31. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0033876555_2111220564.didat
  32. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0033876555_2111220564.lin64.o
  33. 355
      isim/tb2_vga_isim_beh.exe.sim/work/a_0599426937_2111220564.c
  34. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0599426937_2111220564.didat
  35. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0599426937_2111220564.lin64.o
  36. 622
      isim/tb2_vga_isim_beh.exe.sim/work/a_0613545047_2111220564.c
  37. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0613545047_2111220564.didat
  38. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0613545047_2111220564.lin64.o
  39. 451
      isim/tb2_vga_isim_beh.exe.sim/work/a_0707607580_2111220564.c
  40. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0707607580_2111220564.didat
  41. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0707607580_2111220564.lin64.o
  42. 1097
      isim/tb2_vga_isim_beh.exe.sim/work/a_0969174415_2111220564.c
  43. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0969174415_2111220564.didat
  44. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_0969174415_2111220564.lin64.o
  45. 4375
      isim/tb2_vga_isim_beh.exe.sim/work/a_1316348740_3212880686.c
  46. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1316348740_3212880686.didat
  47. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1316348740_3212880686.lin64.o
  48. 169
      isim/tb2_vga_isim_beh.exe.sim/work/a_1327218089_3212880686.c
  49. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1327218089_3212880686.didat
  50. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1327218089_3212880686.lin64.o
  51. 813
      isim/tb2_vga_isim_beh.exe.sim/work/a_1370958946_1744578009.c
  52. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1370958946_1744578009.didat
  53. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1370958946_1744578009.lin64.o
  54. 1340
      isim/tb2_vga_isim_beh.exe.sim/work/a_1546360697_3212880686.c
  55. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1546360697_3212880686.didat
  56. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_1546360697_3212880686.lin64.o
  57. 324
      isim/tb2_vga_isim_beh.exe.sim/work/a_2136549747_2111220564.c
  58. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2136549747_2111220564.didat
  59. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2136549747_2111220564.lin64.o
  60. 109
      isim/tb2_vga_isim_beh.exe.sim/work/a_2384629174_0445496520.c
  61. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2384629174_0445496520.didat
  62. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2384629174_0445496520.lin64.o
  63. 219
      isim/tb2_vga_isim_beh.exe.sim/work/a_2400065403_3212880686.c
  64. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2400065403_3212880686.didat
  65. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2400065403_3212880686.lin64.o
  66. 375
      isim/tb2_vga_isim_beh.exe.sim/work/a_2420517049_2372691052.c
  67. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2420517049_2372691052.didat
  68. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2420517049_2372691052.lin64.o
  69. 471
      isim/tb2_vga_isim_beh.exe.sim/work/a_2453008834_2111220564.c
  70. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2453008834_2111220564.didat
  71. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2453008834_2111220564.lin64.o
  72. 3917
      isim/tb2_vga_isim_beh.exe.sim/work/a_2585315477_2111220564.c
  73. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2585315477_2111220564.didat
  74. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2585315477_2111220564.lin64.o
  75. 251
      isim/tb2_vga_isim_beh.exe.sim/work/a_2831261877_2111220564.c
  76. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2831261877_2111220564.didat
  77. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2831261877_2111220564.lin64.o
  78. 249
      isim/tb2_vga_isim_beh.exe.sim/work/a_2943447612_2111220564.c
  79. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2943447612_2111220564.didat
  80. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_2943447612_2111220564.lin64.o
  81. 272
      isim/tb2_vga_isim_beh.exe.sim/work/a_3077673485_2111220564.c
  82. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3077673485_2111220564.didat
  83. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3077673485_2111220564.lin64.o
  84. 285
      isim/tb2_vga_isim_beh.exe.sim/work/a_3186387305_2111220564.c
  85. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3186387305_2111220564.didat
  86. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3186387305_2111220564.lin64.o
  87. 2986
      isim/tb2_vga_isim_beh.exe.sim/work/a_3187085811_2111220564.c
  88. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3187085811_2111220564.didat
  89. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3187085811_2111220564.lin64.o
  90. 453
      isim/tb2_vga_isim_beh.exe.sim/work/a_3430011751_2111220564.c
  91. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3430011751_2111220564.didat
  92. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_3430011751_2111220564.lin64.o
  93. 31
      isim/tb2_vga_isim_beh.exe.sim/work/a_4076964648_3212880686.c
  94. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_4076964648_3212880686.didat
  95. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/a_4076964648_3212880686.lin64.o
  96. 72
      isim/tb2_vga_isim_beh.exe.sim/work/tb2_vga_isim_beh.exe_main.c
  97. BIN
      isim/tb2_vga_isim_beh.exe.sim/work/tb2_vga_isim_beh.exe_main.lin64.o
  98. BIN
      isim/temp/addsub8.vdb
  99. BIN
      isim/temp/arithmetic_process.vdb
  100. BIN
      isim/temp/carry_flag_logic.vdb

8
.gitignore

@ -1,4 +1,10 @@
1# intermediate build files
## compiler picoblaze shit
*.bin
*.fmt
*.log
*.mcs
# intermediate build files
*.bgn
*.bit
*.bld

1025
assembly/asm.cpp

File diff suppressed because it is too large

BIN
assembly/asm.exe

Binary file not shown.

155
assembly/programa_helloworld_int.asm

@ -0,0 +1,155 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;Transmision RS-232 por software.
;115200bps, 8 data bits, no parity, 1 stop bit, no flow control,
;parte1: transmite por el puerte serie el contenido de la memoria RAM (64 bytes, portid [0-63])
;parte2: genera numeros pseudo-aleatorios, bucle contador+interrupcion para transmitir numero.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;declaracion de constantes y variables
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CONSTANT rs232, FF ; puerto comunicacion serie es el FF
; rx es el bit 0 del puerto FF(entrada)
; tx es el bit 7 del puerto FF(salida), esto es porque
;el hyperterminal envia primero el LSB, por eso vamos desplazando a la
;izquierda al recibir, y al enviar tambien, con lo que enviamos de nuevo
;el LSB primero como corresponde para que lo entienda el hyperterminal
NAMEREG s1, txreg ;buffer de transmision
NAMEREG s2, rxreg ;buffer de recepcion
NAMEREG s3, contbit ;contador de los 8 bits de datos
NAMEREG s4, cont1 ;contador de retardo1
NAMEREG s5, cont2 ;contador de retardo2
;
ADDRESS 00 ;el programa se cargara a partir de la dir 00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Inicio del programa
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISABLE INTERRUPT
start: CALL recibe
;Instrucciones para la parte1
LOAD S7,00
parte1: INPUT txreg,S7
ADD txreg,00
JUMP Z parte2
CALL transmite
ADD S7,01
JUMP parte1
;Instrucciones para la parte2
parte2: ENABLE INTERRUPT
bucle1: LOAD S6,09
bucle2: SUB S6,01
JUMP NZ bucle2
LOAD S6,09
JUMP bucle2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Rutina de recepcion de caracteres
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
recibe: ;esperamos a que se reciba un bit de inicio
INPUT rxreg, rs232
AND rxreg, 80
JUMP NZ, recibe
CALL wait_05bit
;almacenamos los 8 bits de datos
LOAD contbit,09
next_rx_bit: CALL wait_1bit
SR0 rxreg
INPUT s0, rs232
AND s0, 80
OR rxreg, s0
SUB contbit, 01
JUMP NZ, next_rx_bit
RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Rutina de transmision de caracteres
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
transmite: ;enviamos un bit de inicio
LOAD s0, 00
OUTPUT s0, rs232
CALL wait_1bit
;enviamos los 8 bits de datos
LOAD contbit, 08
next_tx_bit: OUTPUT txreg, rs232
CALL wait_1bit
SR0 txreg
SUB contbit, 01
JUMP NZ, next_tx_bit
;enviamos un bit de parada
LOAD s0, FF
OUTPUT s0, rs232
CALL wait_1bit
RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Rutina espera 1 bit (a 9600bps)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;clk=50MHz, 9600bps, cont1=0A, cont2=80
;esta rutina ejecuta 1 + (1 + 10*(1 + 128*2 + 2)) + 1 = 2593 instruciones,
;aproximandose al numero teorico de (104,16us/bit)/(0,04 us/instruc) = 2604,166 instr/bit necesarias.
;clk=40MHz, 57600bps, cont1=05, cont2=21
;esta rutina ejecuta 1 + (1 + 5*(1 + 33*2 + 2)) + 1 = instruciones,
;aproximandose al numero teorico de (17,36us/bit)/(0,05 us/instruc) = 347,2 instr/bit necesarias.
;clk=50MHz, 115200bps, cont1=03, cont2=22
;esta rutina ejecuta 1 + (1 + 3*(1 + 34*2 + 2)) + 1 = 216 instruciones,
;aproximandose al numero teorico de (8,68us/bit)/(0,04 us/instruc) = 217 instr/bit necesarias.
;clk=50MHz, 230400bps, cont1= 03, cont2= 10
;esta rutina ejecuta 1 + (1 + 3*(1 + 16*2 + 2)) + 1 = 108 instruciones,
;aproximandose al numero teorico de (4,34us/bit)/(0,04 us/instruc) = 108,5 instr/bit necesarias.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;OJO: con el USB2COM no he conseguido pasar de los 230400bps bien.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;clk=50MHz, 460800bps, cont1= 03, cont2=06 OJO:Hay que ponerle 1 menos a cont2 y que tome
;caracteres ascii de 7 bits para que funcione.
;esta rutina ejecuta 1 + (1 + 3*(1 + 7*2 + 2)) + 1 = 54 instruciones,
;aproximandose al numero teorico de (2,17us/bit)/(0,04 us/instruc) = 54,25 instr/bit necesarias.
;clk=50MHz, 921600bps, cont1=01, cont2=0A NO FUNCIONA
;esta rutina ejecuta 1 + (1 + 1*(1 + 10*2 + 2)) + 1 = 26 instruciones,
;aproximandose al numero teorico de (1,085us/bit)/(0,04 us/instruc) = 27,127 instr/bit necesarias.
wait_1bit: LOAD cont1, 03
espera2: LOAD cont2, 22
espera1: SUB cont2, 01
JUMP NZ, espera1
SUB cont1, 01
JUMP NZ, espera2
RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Rutina espera 0,5 bits (bit de inicio, a 9600bps)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;clk=50MHz, 9600bps, cont1=05, cont2=80
;1 + (1 + 5*(1 + 128*2 + 2)) + 1 = 1298; aprox = 1302
;clk=40MHz, 57600bps, cont1=03, cont2=1B
;1 + (1 + 3*(1 + 27*2 + 2)) + 1 = 1298; aprox = 173.6
;clk=50MHz, 115200bps, cont1=03, cont2=10
;1 + (1 + 3*(1 + 16*2 + 2)) + 1 = 108; aprox = 108.5
;clk=50MHz, 230400bps, cont1= 03, cont2= 07
;1 + (1 + 3*(1 + 7*2 + 2)) + 1 = 54; aprox = 54,25
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;OJO: con el USB2COM no he conseguido pasar de los 230400bps bien.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;clk=50MHz, 460800bps, cont1= 01, cont2= 0A
;1 + (1 + 1*(1 + 10*2 + 2)) + 1 = 26; aprox = 27,125
;clk=50MHz, 921600bps, cont1=01, cont2=04 NO FUNCIONA
;1 + (1 + 1*(1 + 4*2 + 2)) + 1 = 14; aprox = 13,56
wait_05bit: LOAD cont1, 03
espera4: LOAD cont2, 10
espera3: SUB cont2, 01
JUMP NZ, espera3
SUB cont1, 01
JUMP NZ, espera4
RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; FIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; RUTINA DE ATENCION A LA INTERRUPCIÓN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
interrup: DISABLE INTERRUPT
CALL recibe
LOAD txreg,rxreg
CALL transmite
ADD S6,30
LOAD txreg,S6
CALL transmite
RETURNI ENABLE
ADDRESS FF
JUMP interrup

285
assembly/programa_helloworld_int.vhd

@ -0,0 +1,285 @@
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity programa_helloworld_int is
port( address : in std_logic_vector(7 downto 0);
clk : in std_logic;
dout : out std_logic_vector(15 downto 0));
end;
architecture v1 of programa_helloworld_int is
constant ROM_WIDTH: INTEGER:= 16;
constant ROM_LENGTH: INTEGER:= 256;
subtype rom_word is std_logic_vector(ROM_WIDTH-1 downto 0);
type rom_table is array (0 to ROM_LENGTH-1) of rom_word;
constant rom: rom_table := rom_table'(
"1111000000000000",
"1101100000001111",
"0000011100000000",
"1100000111100000",
"0010000100000000",
"1101010000001001",
"1101100000011100",
"0010011100000001",
"1101000000000011",
"1111000000000001",
"0000011000001001",
"0011011000000001",
"1101010100001011",
"0000011000001001",
"1101000000001011",
"1000001011111111",
"0000101010000000",
"1101010100001111",
"1101100000110000",
"0000001100001001",
"1101100000101001",
"1010001000001110",
"1000000011111111",
"0000100010000000",
"0101001000000000",
"0011001100000001",
"1101010100010100",
"1001000000000000",
"0000000000000000",
"1000100011111111",
"1101100000101001",
"0000001100001000",
"1000100111111111",
"1101100000101001",
"1010000100001110",
"0011001100000001",
"1101010100100000",
"0000000011111111",
"1000100011111111",
"1101100000101001",
"1001000000000000",
"0000010000000011",
"0000010100100010",
"0011010100000001",
"1101010100101011",
"0011010000000001",
"1101010100101010",
"1001000000000000",
"0000010000000011",
"0000010100010000",
"0011010100000001",
"1101010100110010",
"0011010000000001",
"1101010100110001",
"1001000000000000",
"1111000000000000",
"1101100000001111",
"0100000101000000",
"1101100000011100",
"0010011000110000",
"0100000111000000",
"1101100000011100",
"1011000000000001",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"0000000000000000",
"1101000000110111");
begin
process (clk)
begin
if clk'event and clk = '1' then
dout <= rom(conv_integer(address));
end if;
end process;
end v1;

1
fuseRelaunch.cmd

@ -0,0 +1 @@
-intstyle "ise" -incremental -o "/home/rani/Desktop/git/picoblaze-lab/tb2_vga_isim_beh.exe" -prj "/home/rani/Desktop/git/picoblaze-lab/tb2_vga_beh.prj" "work.tb2_vga"

3
isim.cmd

@ -0,0 +1,3 @@
onerror {resume}
wave add /
run 1000 ns;

16
isim/isim_usage_statistics.html

@ -0,0 +1,16 @@
<TABLE BORDER CELLSPACING=0 WIDTH='100%'>
<xtag-section name="ISimStatistics">
<TR ALIGN=CENTER BGCOLOR='#99CCFF'><TD COLSPAN=1><B>ISim Statistics</B></TD></TR>
<TR><TD><xtag-isim-property-name>Xilinx HDL Libraries Used</xtag-isim-property-name>=<xtag-isim-property-value>ieee, unisim</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Fuse Resource Usage</xtag-isim-property-name>=<xtag-isim-property-value>1680 ms, 680020 KB</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Total Signals</xtag-isim-property-name>=<xtag-isim-property-value>448</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Total Nets</xtag-isim-property-name>=<xtag-isim-property-value>1049</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Total Blocks</xtag-isim-property-name>=<xtag-isim-property-value>101</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Total Processes</xtag-isim-property-name>=<xtag-isim-property-value>252</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Total Simulation Time</xtag-isim-property-name>=<xtag-isim-property-value>310 ns</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Simulation Resource Usage</xtag-isim-property-name>=<xtag-isim-property-value>0.11 sec, 259792 KB</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Simulation Mode</xtag-isim-property-name>=<xtag-isim-property-value>gui</xtag-isim-property-value></TD></TR>
<TR><TD><xtag-isim-property-name>Hardware CoSim</xtag-isim-property-name>=<xtag-isim-property-value>0</xtag-isim-property-value></TD></TR>
</xtag-section>
</TABLE>

0
isim/lockfile

1
isim/pn_info

@ -0,0 +1 @@
14.7

34667
isim/precompiled.exe.sim/ieee/p_1242562249.c

File diff suppressed because one or more lines are too long

BIN
isim/precompiled.exe.sim/ieee/p_1242562249.didat

Binary file not shown.

BIN
isim/precompiled.exe.sim/ieee/p_1242562249.lin64.o

Binary file not shown.

8819
isim/precompiled.exe.sim/ieee/p_2592010699.c

File diff suppressed because it is too large

BIN
isim/precompiled.exe.sim/ieee/p_2592010699.didat

Binary file not shown.

BIN
isim/precompiled.exe.sim/ieee/p_2592010699.lin64.o

Binary file not shown.

25136
isim/precompiled.exe.sim/ieee/p_3499444699.c

File diff suppressed because one or more lines are too long

BIN
isim/precompiled.exe.sim/ieee/p_3499444699.didat

Binary file not shown.

BIN
isim/precompiled.exe.sim/ieee/p_3499444699.lin64.o

Binary file not shown.

2482
isim/precompiled.exe.sim/ieee/p_3620187407.c

File diff suppressed because it is too large

BIN
isim/precompiled.exe.sim/ieee/p_3620187407.didat

Binary file not shown.

BIN
isim/precompiled.exe.sim/ieee/p_3620187407.lin64.o

Binary file not shown.

BIN
isim/tb2_vga_isim_beh.exe.sim/ISimEngine-DesignHierarchy.dbg

Binary file not shown.

BIN
isim/tb2_vga_isim_beh.exe.sim/netId.dat

Binary file not shown.

BIN
isim/tb2_vga_isim_beh.exe.sim/tb2_vga_isim_beh.exe

Binary file not shown.

BIN
isim/tb2_vga_isim_beh.exe.sim/tmp_save/_1

Binary file not shown.

31
isim/tb2_vga_isim_beh.exe.sim/unisim/p_0947159679.c

@ -0,0 +1,31 @@
/**********************************************************************/
/* ____ ____ */
/* / /\/ / */
/* /___/ \ / */
/* \ \ \/ */
/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */
/* / / All Right Reserved. */
/* /---/ /\ */
/* \ \ / \ */
/* \___\/\___\ */
/***********************************************************************/
/* This file is designed for use with ISim build 0xfbc00daa */
#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
extern void unisim_p_0947159679_init()
{
xsi_register_didat("unisim_p_0947159679", "isim/tb2_vga_isim_beh.exe.sim/unisim/p_0947159679.didat");
}

BIN
isim/tb2_vga_isim_beh.exe.sim/unisim/p_0947159679.didat

Binary file not shown.

BIN
isim/tb2_vga_isim_beh.exe.sim/unisim/p_0947159679.lin64.o

Binary file not shown.

965
isim/tb2_vga_isim_beh.exe.sim/work/a_0033876555_2111220564.c

@ -0,0 +1,965 @@
/**********************************************************************/
/* ____ ____ */
/* / /\/ / */
/* /___/ \ / */
/* \ \ \/ */
/* \ \ Copyright (c) 2003-2009 Xilinx, Inc. */
/* / / All Right Reserved. */
/* /---/ /\ */
/* \ \ / \ */
/* \___\/\___\ */
/***********************************************************************/
/* This file is designed for use with ISim build 0xfbc00daa */
#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "/home/rani/Desktop/git/picoblaze-lab/stack_counter.vhd";
extern char *IEEE_P_2592010699;
unsigned char ieee_p_2592010699_sub_3488546069778340532_503743352(char *, unsigned char , unsigned char );
unsigned char ieee_p_2592010699_sub_3488768496604610246_503743352(char *, unsigned char , unsigned char );
unsigned char ieee_p_2592010699_sub_3488768497506413324_503743352(char *, unsigned char , unsigned char );
unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char );
static void work_a_0033876555_2111220564_p_0(char *t0)
{
char *t1;
char *t2;
unsigned char t3;
unsigned char t4;
char *t5;
char *t6;
char *t7;
char *t8;
char *t9;
LAB0: xsi_set_current_line(43, ng0);
LAB3: t1 = (t0 + 3048U);
t2 = *((char **)t1);
t3 = *((unsigned char *)t2);
t4 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t3);
t1 = (t0 + 9200);
t5 = (t1 + 56U);
t6 = *((char **)t5);
t7 = (t6 + 56U);
t8 = *((char **)t7);
*((unsigned char *)t8) = t4;
xsi_driver_first_trans_fast(t1);
LAB2: t9 = (t0 + 8960);
*((int *)t9) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_1(char *t0)
{
char *t1;
char *t2;
unsigned char t3;
char *t4;
unsigned char t5;
unsigned char t6;
unsigned char t7;
char *t8;
char *t9;
char *t10;
char *t11;
char *t12;
LAB0: xsi_set_current_line(46, ng0);
LAB3: t1 = (t0 + 2888U);
t2 = *((char **)t1);
t3 = *((unsigned char *)t2);
t1 = (t0 + 2568U);
t4 = *((char **)t1);
t5 = *((unsigned char *)t4);
t6 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t5);
t7 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t6);
t1 = (t0 + 9264);
t8 = (t1 + 56U);
t9 = *((char **)t8);
t10 = (t9 + 56U);
t11 = *((char **)t10);
*((unsigned char *)t11) = t7;
xsi_driver_first_trans_fast(t1);
LAB2: t12 = (t0 + 8976);
*((int *)t12) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_2(char *t0)
{
char *t1;
char *t2;
unsigned char t3;
char *t4;
unsigned char t5;
unsigned char t6;
char *t7;
unsigned char t8;
unsigned char t9;
char *t10;
char *t11;
char *t12;
char *t13;
char *t14;
LAB0: xsi_set_current_line(47, ng0);
LAB3: t1 = (t0 + 2088U);
t2 = *((char **)t1);
t3 = *((unsigned char *)t2);
t1 = (t0 + 2248U);
t4 = *((char **)t1);
t5 = *((unsigned char *)t4);
t6 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t3, t5);
t1 = (t0 + 2408U);
t7 = *((char **)t1);
t8 = *((unsigned char *)t7);
t9 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t6, t8);
t1 = (t0 + 9328);
t10 = (t1 + 56U);
t11 = *((char **)t10);
t12 = (t11 + 56U);
t13 = *((char **)t12);
*((unsigned char *)t13) = t9;
xsi_driver_first_trans_fast(t1);
LAB2: t14 = (t0 + 8992);
*((int *)t14) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_3(char *t0)
{
char *t1;
char *t2;
unsigned char t3;
unsigned char t4;
char *t5;
char *t6;
char *t7;
char *t8;
unsigned char t9;
unsigned char t10;
unsigned char t11;
unsigned char t12;
int t13;
int t14;
unsigned int t15;
unsigned int t16;
unsigned int t17;
unsigned char t18;
char *t19;
char *t20;
char *t21;
char *t22;
char *t23;
LAB0: xsi_set_current_line(58, ng0);
t1 = (t0 + 3208U);
t2 = *((char **)t1);
t3 = *((unsigned char *)t2);
t4 = (t3 == (unsigned char)3);
if (t4 != 0)
goto LAB2;
LAB4: xsi_set_current_line(60, ng0);
t1 = (t0 + 3488U);
t4 = xsi_signal_has_event(t1);
if (t4 == 1)
goto LAB8;
LAB9: t3 = (unsigned char)0;
LAB10: if (t3 != 0)
goto LAB5;
LAB7:
LAB6:
LAB3: t1 = (t0 + 9008);
*((int *)t1) = 1;
LAB1: return;
LAB2: xsi_set_current_line(59, ng0);
t1 = (t0 + 9392);
t5 = (t1 + 56U);
t6 = *((char **)t5);
t7 = (t6 + 56U);
t8 = *((char **)t7);
*((unsigned char *)t8) = (unsigned char)2;
xsi_driver_first_trans_delta(t1, 1U, 1, 0LL);
goto LAB3;
LAB5: xsi_set_current_line(61, ng0);
t2 = (t0 + 3688U);
t6 = *((char **)t2);
t11 = *((unsigned char *)t6);
t12 = (t11 == (unsigned char)3);
if (t12 != 0)
goto LAB11;
LAB13:
LAB12: goto LAB6;
LAB8: t2 = (t0 + 3528U);
t5 = *((char **)t2);
t9 = *((unsigned char *)t5);
t10 = (t9 == (unsigned char)3);
t3 = t10;
goto LAB10;
LAB11: xsi_set_current_line(62, ng0);
t2 = (t0 + 4008U);
t7 = *((char **)t2);
t2 = (t0 + 5064U);
t8 = *((char **)t2);
t13 = *((int *)t8);
t14 = (t13 - 1);
t15 = (t14 * -1);
t16 = (1U * t15);
t17 = (0 + t16);
t2 = (t7 + t17);
t18 = *((unsigned char *)t2);
t19 = (t0 + 9392);
t20 = (t19 + 56U);
t21 = *((char **)t20);
t22 = (t21 + 56U);
t23 = *((char **)t22);
*((unsigned char *)t23) = t18;
xsi_driver_first_trans_delta(t19, 1U, 1, 0LL);
goto LAB12;
}
static void work_a_0033876555_2111220564_p_4(char *t0)
{
char *t1;
char *t2;
unsigned char t3;
char *t4;
unsigned char t5;
unsigned char t6;
char *t7;
unsigned char t8;
unsigned char t9;
unsigned char t10;
char *t11;
char *t12;
int t13;
int t14;
unsigned int t15;
unsigned int t16;
unsigned int t17;
unsigned char t18;
unsigned char t19;
char *t20;
char *t21;
unsigned char t22;
char *t23;
unsigned char t24;
unsigned char t25;
unsigned char t26;
char *t27;
unsigned char t28;
unsigned char t29;
unsigned char t30;
char *t31;
char *t32;
int t33;
int t34;
unsigned int t35;
unsigned int t36;
unsigned int t37;
unsigned char t38;
unsigned char t39;
unsigned char t40;
unsigned char t41;
char *t42;
char *t43;
unsigned char t44;
unsigned char t45;
char *t46;
unsigned char t47;
unsigned char t48;
unsigned char t49;
char *t50;
char *t51;
int t52;
int t53;
unsigned int t54;
unsigned int t55;
unsigned int t56;
unsigned char t57;
unsigned char t58;
unsigned char t59;
unsigned char t60;
char *t61;
char *t62;
unsigned char t63;
char *t64;
char *t65;
int t66;
int t67;
unsigned int t68;
unsigned int t69;
unsigned int t70;
unsigned char t71;
unsigned char t72;
unsigned char t73;
unsigned char t74;
char *t75;
char *t76;
char *t77;
char *t78;
char *t79;
char *t80;
LAB0: xsi_set_current_line(72, ng0);
LAB3: t1 = (t0 + 4648U);
t2 = *((char **)t1);
t3 = *((unsigned char *)t2);
t1 = (t0 + 4488U);
t4 = *((char **)t1);
t5 = *((unsigned char *)t4);
t6 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t3, t5);
t1 = (t0 + 2728U);
t7 = *((char **)t1);
t8 = *((unsigned char *)t7);
t9 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t8);
t10 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t6, t9);
t1 = (t0 + 3848U);
t11 = *((char **)t1);
t1 = (t0 + 5064U);
t12 = *((char **)t1);
t13 = *((int *)t12);
t14 = (t13 - 1);
t15 = (t14 * -1);
t16 = (1U * t15);
t17 = (0 + t16);
t1 = (t11 + t17);
t18 = *((unsigned char *)t1);
t19 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t10, t18);
t20 = (t0 + 4648U);
t21 = *((char **)t20);
t22 = *((unsigned char *)t21);
t20 = (t0 + 4488U);
t23 = *((char **)t20);
t24 = *((unsigned char *)t23);
t25 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t24);
t26 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t22, t25);
t20 = (t0 + 2728U);
t27 = *((char **)t20);
t28 = *((unsigned char *)t27);
t29 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t28);
t30 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t26, t29);
t20 = (t0 + 3848U);
t31 = *((char **)t20);
t20 = (t0 + 5064U);
t32 = *((char **)t20);
t33 = *((int *)t32);
t34 = (t33 - 1);
t35 = (t34 * -1);
t36 = (1U * t35);
t37 = (0 + t36);
t20 = (t31 + t37);
t38 = *((unsigned char *)t20);
t39 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t38);
t40 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t30, t39);
t41 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t19, t40);
t42 = (t0 + 4648U);
t43 = *((char **)t42);
t44 = *((unsigned char *)t43);
t45 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t44);
t42 = (t0 + 2728U);
t46 = *((char **)t42);
t47 = *((unsigned char *)t46);
t48 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t47);
t49 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t45, t48);
t42 = (t0 + 3848U);
t50 = *((char **)t42);
t42 = (t0 + 5064U);
t51 = *((char **)t42);
t52 = *((int *)t51);
t53 = (t52 - 1);
t54 = (t53 * -1);
t55 = (1U * t54);
t56 = (0 + t55);
t42 = (t50 + t56);
t57 = *((unsigned char *)t42);
t58 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t57);
t59 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t49, t58);
t60 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t41, t59);
t61 = (t0 + 2728U);
t62 = *((char **)t61);
t63 = *((unsigned char *)t62);
t61 = (t0 + 3848U);
t64 = *((char **)t61);
t61 = (t0 + 5064U);
t65 = *((char **)t61);
t66 = *((int *)t65);
t67 = (t66 - 1);
t68 = (t67 * -1);
t69 = (1U * t68);
t70 = (0 + t69);
t61 = (t64 + t70);
t71 = *((unsigned char *)t61);
t72 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t71);
t73 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t63, t72);
t74 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t60, t73);
t75 = (t0 + 9456);
t76 = (t75 + 56U);
t77 = *((char **)t76);
t78 = (t77 + 56U);
t79 = *((char **)t78);
*((unsigned char *)t79) = t74;
xsi_driver_first_trans_delta(t75, 1U, 1, 0LL);
LAB2: t80 = (t0 + 9024);
*((int *)t80) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_5(char *t0)
{
char *t1;
char *t2;
char *t3;
int t4;
int t5;
unsigned int t6;
unsigned int t7;
unsigned int t8;
unsigned char t9;
unsigned char t10;
char *t11;
char *t12;
char *t13;
int t14;
int t15;
unsigned int t16;
unsigned int t17;
unsigned int t18;
unsigned char t19;
unsigned char t20;
char *t21;
char *t22;
char *t23;
char *t24;
char *t25;
char *t26;
LAB0: xsi_set_current_line(77, ng0);
LAB3: t1 = (t0 + 4328U);
t2 = *((char **)t1);
t1 = (t0 + 5064U);
t3 = *((char **)t1);
t4 = *((int *)t3);
t5 = (t4 - 1);
t6 = (t5 * -1);
t7 = (1U * t6);
t8 = (0 + t7);
t1 = (t2 + t8);
t9 = *((unsigned char *)t1);
t10 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t9);
t11 = (t0 + 3848U);
t12 = *((char **)t11);
t11 = (t0 + 5064U);
t13 = *((char **)t11);
t14 = *((int *)t13);
t15 = (t14 - 1);
t16 = (t15 * -1);
t17 = (1U * t16);
t18 = (0 + t17);
t11 = (t12 + t18);
t19 = *((unsigned char *)t11);
t20 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t10, t19);
t21 = (t0 + 9520);
t22 = (t21 + 56U);
t23 = *((char **)t22);
t24 = (t23 + 56U);
t25 = *((char **)t24);
*((unsigned char *)t25) = t20;
xsi_driver_first_trans_delta(t21, 0U, 1, 0LL);
LAB2: t26 = (t0 + 9040);
*((int *)t26) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_6(char *t0)
{
char *t1;
char *t2;
char *t3;
int t4;
int t5;
unsigned int t6;
unsigned int t7;
unsigned int t8;
unsigned char t9;
char *t10;
char *t11;
char *t12;
char *t13;
char *t14;
char *t15;
LAB0: xsi_set_current_line(78, ng0);
LAB3: t1 = (t0 + 4328U);
t2 = *((char **)t1);
t1 = (t0 + 5064U);
t3 = *((char **)t1);
t4 = *((int *)t3);
t5 = (t4 - 1);
t6 = (t5 * -1);
t7 = (1U * t6);
t8 = (0 + t7);
t1 = (t2 + t8);
t9 = *((unsigned char *)t1);
t10 = (t0 + 9584);
t11 = (t10 + 56U);
t12 = *((char **)t11);
t13 = (t12 + 56U);
t14 = *((char **)t13);
*((unsigned char *)t14) = t9;
xsi_driver_first_trans_delta(t10, 1U, 1, 0LL);
LAB2: t15 = (t0 + 9056);
*((int *)t15) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_7(char *t0)
{
char *t1;
char *t2;
unsigned char t3;
unsigned char t4;
char *t5;
char *t6;
char *t7;
char *t8;
unsigned char t9;
unsigned char t10;
unsigned char t11;
unsigned char t12;
int t13;
int t14;
unsigned int t15;
unsigned int t16;
unsigned int t17;
unsigned char t18;
char *t19;
char *t20;
char *t21;
char *t22;
char *t23;
LAB0: xsi_set_current_line(58, ng0);
t1 = (t0 + 3208U);
t2 = *((char **)t1);
t3 = *((unsigned char *)t2);
t4 = (t3 == (unsigned char)3);
if (t4 != 0)
goto LAB2;
LAB4: xsi_set_current_line(60, ng0);
t1 = (t0 + 3488U);
t4 = xsi_signal_has_event(t1);
if (t4 == 1)
goto LAB8;
LAB9: t3 = (unsigned char)0;
LAB10: if (t3 != 0)
goto LAB5;
LAB7:
LAB6:
LAB3: t1 = (t0 + 9072);
*((int *)t1) = 1;
LAB1: return;
LAB2: xsi_set_current_line(59, ng0);
t1 = (t0 + 9648);
t5 = (t1 + 56U);
t6 = *((char **)t5);
t7 = (t6 + 56U);
t8 = *((char **)t7);
*((unsigned char *)t8) = (unsigned char)2;
xsi_driver_first_trans_delta(t1, 0U, 1, 0LL);
goto LAB3;
LAB5: xsi_set_current_line(61, ng0);
t2 = (t0 + 3688U);
t6 = *((char **)t2);
t11 = *((unsigned char *)t6);
t12 = (t11 == (unsigned char)3);
if (t12 != 0)
goto LAB11;
LAB13:
LAB12: goto LAB6;
LAB8: t2 = (t0 + 3528U);
t5 = *((char **)t2);
t9 = *((unsigned char *)t5);
t10 = (t9 == (unsigned char)3);
t3 = t10;
goto LAB10;
LAB11: xsi_set_current_line(62, ng0);
t2 = (t0 + 4008U);
t7 = *((char **)t2);
t2 = (t0 + 5184U);
t8 = *((char **)t2);
t13 = *((int *)t8);
t14 = (t13 - 1);
t15 = (t14 * -1);
t16 = (1U * t15);
t17 = (0 + t16);
t2 = (t7 + t17);
t18 = *((unsigned char *)t2);
t19 = (t0 + 9648);
t20 = (t19 + 56U);
t21 = *((char **)t20);
t22 = (t21 + 56U);
t23 = *((char **)t22);
*((unsigned char *)t23) = t18;
xsi_driver_first_trans_delta(t19, 0U, 1, 0LL);
goto LAB12;
}
static void work_a_0033876555_2111220564_p_8(char *t0)
{
char *t1;
char *t2;
unsigned char t3;
char *t4;
unsigned char t5;
unsigned char t6;
char *t7;
unsigned char t8;
unsigned char t9;
unsigned char t10;
char *t11;
char *t12;
int t13;
int t14;
unsigned int t15;
unsigned int t16;
unsigned int t17;
unsigned char t18;
unsigned char t19;
char *t20;
char *t21;
unsigned char t22;
char *t23;
unsigned char t24;
unsigned char t25;
unsigned char t26;
char *t27;
unsigned char t28;
unsigned char t29;
unsigned char t30;
char *t31;
char *t32;
int t33;
int t34;
unsigned int t35;
unsigned int t36;
unsigned int t37;
unsigned char t38;
unsigned char t39;
unsigned char t40;
unsigned char t41;
char *t42;
char *t43;
unsigned char t44;
unsigned char t45;
char *t46;
unsigned char t47;
unsigned char t48;
unsigned char t49;
char *t50;
char *t51;
int t52;
int t53;
unsigned int t54;
unsigned int t55;
unsigned int t56;
unsigned char t57;
unsigned char t58;
unsigned char t59;
unsigned char t60;
char *t61;
char *t62;
unsigned char t63;
char *t64;
char *t65;
int t66;
int t67;
unsigned int t68;
unsigned int t69;
unsigned int t70;
unsigned char t71;
unsigned char t72;
unsigned char t73;
char *t74;
char *t75;
char *t76;
char *t77;
char *t78;
char *t79;
LAB0: xsi_set_current_line(98, ng0);
LAB3: t1 = (t0 + 2088U);
t2 = *((char **)t1);
t3 = *((unsigned char *)t2);
t1 = (t0 + 4488U);
t4 = *((char **)t1);
t5 = *((unsigned char *)t4);
t6 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t3, t5);
t1 = (t0 + 2728U);
t7 = *((char **)t1);
t8 = *((unsigned char *)t7);
t9 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t8);
t10 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t6, t9);
t1 = (t0 + 3848U);
t11 = *((char **)t1);
t1 = (t0 + 5184U);
t12 = *((char **)t1);
t13 = *((int *)t12);
t14 = (t13 - 1);
t15 = (t14 * -1);
t16 = (1U * t15);
t17 = (0 + t16);
t1 = (t11 + t17);
t18 = *((unsigned char *)t1);
t19 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t10, t18);
t20 = (t0 + 2088U);
t21 = *((char **)t20);
t22 = *((unsigned char *)t21);
t20 = (t0 + 4488U);
t23 = *((char **)t20);
t24 = *((unsigned char *)t23);
t25 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t24);
t26 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t22, t25);
t20 = (t0 + 2728U);
t27 = *((char **)t20);
t28 = *((unsigned char *)t27);
t29 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t28);
t30 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t26, t29);
t20 = (t0 + 3848U);
t31 = *((char **)t20);
t20 = (t0 + 5184U);
t32 = *((char **)t20);
t33 = *((int *)t32);
t34 = (t33 - 1);
t35 = (t34 * -1);
t36 = (1U * t35);
t37 = (0 + t36);
t20 = (t31 + t37);
t38 = *((unsigned char *)t20);
t39 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t38);
t40 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t30, t39);
t41 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t19, t40);
t42 = (t0 + 2088U);
t43 = *((char **)t42);
t44 = *((unsigned char *)t43);
t45 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t44);
t42 = (t0 + 2728U);
t46 = *((char **)t42);
t47 = *((unsigned char *)t46);
t48 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t47);
t49 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t45, t48);
t42 = (t0 + 3848U);
t50 = *((char **)t42);
t42 = (t0 + 5184U);
t51 = *((char **)t42);
t52 = *((int *)t51);
t53 = (t52 - 1);
t54 = (t53 * -1);
t55 = (1U * t54);
t56 = (0 + t55);
t42 = (t50 + t56);
t57 = *((unsigned char *)t42);
t58 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, t57);
t59 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t49, t58);
t60 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t41, t59);
t61 = (t0 + 2728U);
t62 = *((char **)t61);
t63 = *((unsigned char *)t62);
t61 = (t0 + 3848U);
t64 = *((char **)t61);
t61 = (t0 + 5184U);
t65 = *((char **)t61);
t66 = *((int *)t65);
t67 = (t66 - 1);
t68 = (t67 * -1);
t69 = (1U * t68);
t70 = (0 + t69);
t61 = (t64 + t70);
t71 = *((unsigned char *)t61);
t72 = ieee_p_2592010699_sub_3488768496604610246_503743352(IEEE_P_2592010699, t63, t71);
t73 = ieee_p_2592010699_sub_3488546069778340532_503743352(IEEE_P_2592010699, t60, t72);
t74 = (t0 + 9712);
t75 = (t74 + 56U);
t76 = *((char **)t75);
t77 = (t76 + 56U);
t78 = *((char **)t77);
*((unsigned char *)t78) = t73;
xsi_driver_first_trans_delta(t74, 0U, 1, 0LL);
LAB2: t79 = (t0 + 9088);
*((int *)t79) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_9(char *t0)
{
char *t1;
char *t2;
char *t3;
int t4;
int t5;
unsigned int t6;
unsigned int t7;
unsigned int t8;
unsigned char t9;
char *t10;
char *t11;
char *t12;
int t13;
int t14;
int t15;
unsigned int t16;
unsigned int t17;
unsigned int t18;
unsigned char t19;
unsigned char t20;
char *t21;
char *t22;
char *t23;
char *t24;
char *t25;
char *t26;
LAB0: xsi_set_current_line(102, ng0);
LAB3: t1 = (t0 + 4328U);
t2 = *((char **)t1);
t1 = (t0 + 5184U);
t3 = *((char **)t1);
t4 = *((int *)t3);
t5 = (t4 - 1);
t6 = (t5 * -1);
t7 = (1U * t6);
t8 = (0 + t7);
t1 = (t2 + t8);
t9 = *((unsigned char *)t1);
t10 = (t0 + 4168U);
t11 = *((char **)t10);
t10 = (t0 + 5184U);
t12 = *((char **)t10);
t13 = *((int *)t12);
t14 = (t13 - 1);
t15 = (t14 - 0);
t16 = (t15 * -1);
t17 = (1U * t16);
t18 = (0 + t17);
t10 = (t11 + t18);
t19 = *((unsigned char *)t10);
t20 = ieee_p_2592010699_sub_3488768497506413324_503743352(IEEE_P_2592010699, t9, t19);
t21 = (t0 + 9776);
t22 = (t21 + 56U);
t23 = *((char **)t22);
t24 = (t23 + 56U);
t25 = *((char **)t24);
*((unsigned char *)t25) = t20;
xsi_driver_first_trans_delta(t21, 0U, 1, 0LL);
LAB2: t26 = (t0 + 9104);
*((int *)t26) = 1;
LAB1: return;
LAB4: goto LAB2;
}
static void work_a_0033876555_2111220564_p_10(char *t0)
{
char *t1;
char *t2;
char *t3;
char *t4;
char *t5;
char *t6;
char *t7;
LAB0: xsi_set_current_line(108, ng0);
LAB3: t1 = (t0 + 3848U);
t2 = *((char **)t1);
t1 = (t0 + 9840);
t3 = (t1 + 56U);
t4 = *((char **)t3);
t5 = (t4 + 56U);
t6 = *((char **)t5);
memcpy(t6, t2, 2U);
xsi_driver_first_trans_fast_port(t1);
LAB2: t7 = (t0 + 9120);
*((int *)t7) = 1;
LAB1: return;
LAB4: goto LAB2;
}
extern void work_a_0033876555_2111220564_init()
{
static char *pe[] = {(void *)work_a_0033876555_2111220564_p_0,(void *)work_a_0033876555_2111220564_p_1,(void *)work_a_0033876555_2111220564_p_2,(void *)work_a_0033876555_2111220564_p_3,(void *)work_a_0033876555_2111220564_p_4,(void *)work_a_0033876555_2111220564_p_5,(void *)work_a_0033876555_2111220564_p_6,(void *)work_a_0033876555_2111220564_p_7,(void *)work_a_0033876555_2111220564_p_8,(void *)work_a_0033876555_2111220564_p_9,(void *)work_a_0033876555_2111220564_p_10};
xsi_register_didat("work_a_0033876555_2111220564", "isim/tb2_vga_isim_beh.exe.sim/work/a_0033876555_2111220564.didat");
xsi_register_executes(pe);
}

BIN
isim/tb2_vga_isim_beh.exe.sim/work/a_0033876555_2111220564.didat

Binary file not shown.

BIN
isim/tb2_vga_isim_beh.exe.sim/work/a_0033876555_2111220564.lin64.o

Binary file not shown.

355
isim/tb2_vga_isim_beh.exe.sim/work/a_0599426937_2111220564.c

@ -0,0 +1,355 @@
/**********************************************************************/
/* ____ ____ */
/* / /\/ / */
/* /___/ \ / */
/* \ \ \/ */