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

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [Mos6502/] [ip/] [core/] [rtl/] [verilog/] [top.sim] - Blame information for rev 131

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 131 jt_eaton
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
reg [7*8-1:0]  A_instr;
11
reg [10*8-1:0] A_state;
12
reg [3*8-1:0]  A_alu_mode;
13
reg [3*8-1:0]  A_alu_op_a_sel;
14
reg [3*8-1:0]  A_alu_op_b_inv;
15
reg [3*8-1:0]  A_alu_op_b_sel;
16
reg [3*8-1:0]  A_alu_op_c_sel;
17
reg [4*8-1:0]  A_alu_status_update;
18
reg [3*8-1:0]  A_dest;
19
reg [7*8-1:0]  A_ctrl;
20
reg [8*8-1:0]  A_cmd;
21
reg [5*8-1:0]  A_ins_type;
22
reg [3*8-1:0]  A_idx_sel;
23
 
24
 
25
   always@(posedge clk) $display("%t  %h   %h     %h",$realtime,prog_counter,prog_data,addr);
26
 
27
 
28
always @(*) begin
29
   case  (state)
30
 
31
      `FETCH_OP:     A_state = "FETCH_OP  ";
32
       `EXECUTE:     A_state = "EXECUTE   ";
33
         `EXE_1:     A_state = "EXE_1     ";
34
         `AXE_1:     A_state = "AXE_1     ";
35
         `AXE_2:     A_state = "AXE_2     ";
36
         `IDX_1:     A_state = "IDX_1     ";
37
         `IDX_2:     A_state = "IDX_2     ";
38
         `IDX_3:     A_state = "IDX_3     ";
39
         `IDY_1:     A_state = "IDY_1     ";
40
         `IDY_2:     A_state = "IDY_2     ";
41
         `IDY_3:     A_state = "IDY_3     ";
42
         `RESET:     A_state = "RESET     ";
43
          `HALT:     A_state = "HALT      ";
44
         `INT_2:     A_state = "INT_2     ";
45
         `INT_1:     A_state = "INT_1     ";
46
        default:     A_state = "-XXXXXXXX-";
47
   endcase
48
end
49
 
50
 
51
 
52
 
53
 
54
always @(*) begin
55
   case  (ir)
56
     `ADC_IMM:
57
      begin
58
      A_instr = "ADC_IMM";
59
      end
60
 
61
     `ADC_ZPG:
62
      begin
63
      A_instr = "ADC_ZPG";
64
      end
65
 
66
     `ADC_ZPX:
67
      begin
68
      A_instr = "ADC_ZPX";
69
      end
70
 
71
     `ADC_ABS:
72
      begin
73
      A_instr = "ADC_ABS";
74
      end
75
 
76
     `ADC_ABX:
77
      begin
78
      A_instr = "ADC_ABX";
79
      end
80
 
81
     `ADC_ABY:
82
      begin
83
      A_instr = "ADC_ABY";
84
      end
85
 
86
     `ADC_IDX:
87
      begin
88
      A_instr = "ADC_IDX";
89
      end
90
 
91
     `ADC_IDY:
92
      begin
93
      A_instr = "ADC_IDY";
94
      end
95
 
96
     `AND_IMM:
97
      begin
98
      A_instr = "AND_IMM";
99
      end
100
 
101
     `AND_ZPG:
102
      begin
103
      A_instr = "AND_ZPG";
104
      end
105
 
106
     `AND_ZPX:
107
      begin
108
      A_instr = "AND_ZPX";
109
      end
110
 
111
     `AND_ABS:
112
      begin
113
      A_instr = "AND_ABS";
114
      end
115
 
116
     `AND_ABX:
117
      begin
118
      A_instr = "AND_ABX";
119
      end
120
 
121
     `AND_ABY:
122
      begin
123
      A_instr = "AND_ABY";
124
      end
125
 
126
     `AND_IDX:
127
      begin
128
      A_instr = "AND_IDX";
129
      end
130
 
131
     `AND_IDY:
132
      begin
133
      A_instr = "AND_IDY";
134
      end
135
 
136
     `ASL_ACC:
137
      begin
138
      A_instr = "ASL_ACC";
139
      end
140
 
141
     `ASL_ZPG:
142
      begin
143
      A_instr = "ASL_ZPG";
144
      end
145
 
146
     `ASL_ZPX:
147
      begin
148
      A_instr = "ASL_ZPX";
149
      end
150
 
151
     `ASL_ABS:
152
      begin
153
      A_instr = "ASL_ABS";
154
      end
155
 
156
     `ASL_ABX:
157
      begin
158
      A_instr = "ASL_ABX";
159
      end
160
 
161
     `BCC_REL:
162
      begin
163
      A_instr = "BCC_REL";
164
      end
165
 
166
     `BCS_REL:
167
      begin
168
      A_instr = "BCS_REL";
169
      end
170
 
171
     `BEQ_REL:
172
      begin
173
      A_instr = "BEQ_REL";
174
      end
175
 
176
     `BIT_ZPG:
177
      begin
178
      A_instr = "BIT_ZPG";
179
      end
180
 
181
     `BIT_ABS:
182
      begin
183
      A_instr = "BIT_ABS";
184
      end
185
 
186
     `BMI_REL:
187
      begin
188
      A_instr = "BMI_REL";
189
      end
190
 
191
     `BNE_REL:
192
      begin
193
      A_instr = "BNE_REL";
194
      end
195
 
196
     `BPL_REL:
197
      begin
198
      A_instr = "BPL_REL";
199
      end
200
 
201
     `BRK_IMP:
202
      begin
203
      A_instr = "BRK_IMP";
204
      end
205
 
206
     `BVC_REL:
207
      begin
208
      A_instr = "BVC_REL";
209
      end
210
 
211
     `BVS_REL:
212
      begin
213
      A_instr = "BVS_REL";
214
      end
215
 
216
     `CLC_IMP:
217
      begin
218
      A_instr = "CLC_IMP";
219
      end
220
 
221
     `CLD_IMP:
222
      begin
223
      A_instr = "CLD_IMP";
224
      end
225
 
226
     `CLI_IMP:
227
      begin
228
      A_instr = "CLI_IMP";
229
      end
230
 
231
     `CLV_IMP:
232
      begin
233
      A_instr = "CLV_IMP";
234
      end
235
 
236
     `CMP_IMM:
237
      begin
238
      A_instr = "CMP_IMM";
239
      end
240
 
241
     `CMP_ZPG:
242
      begin
243
      A_instr = "CMP_ZPG";
244
      end
245
 
246
     `CMP_ZPX:
247
      begin
248
      A_instr = "CMP_ZPX";
249
      end
250
 
251
     `CMP_ABS:
252
      begin
253
      A_instr = "CMP_ABS";
254
      end
255
 
256
     `CMP_ABX:
257
      begin
258
      A_instr = "CMP_ABX";
259
      end
260
 
261
     `CMP_ABY:
262
      begin
263
      A_instr = "CMP_ABY";
264
      end
265
 
266
     `CMP_IDX:
267
      begin
268
      A_instr = "CMP_IDX";
269
      end
270
 
271
     `CMP_IDY:
272
      begin
273
      A_instr = "CMP_IDY";
274
      end
275
 
276
     `CPX_IMM:
277
      begin
278
      A_instr = "CPX_IMM";
279
      end
280
 
281
     `CPX_ZPG:
282
      begin
283
      A_instr = "CPX_ZPG";
284
      end
285
 
286
     `CPX_ABS:
287
      begin
288
      A_instr = "CPX_ABS";
289
      end
290
 
291
     `CPY_IMM:
292
      begin
293
      A_instr = "CPY_IMM";
294
      end
295
 
296
     `CPY_ZPG:
297
      begin
298
      A_instr = "CPY_ZPG";
299
      end
300
 
301
     `CPY_ABS:
302
      begin
303
      A_instr = "CPY_ABS";
304
      end
305
 
306
     `DEC_ZPG:
307
      begin
308
      A_instr = "DEC_ZPG";
309
      end
310
 
311
 
312
     `DEC_ZPX:
313
      begin
314
      A_instr = "DEC_ZPX";
315
      end
316
 
317
     `DEC_ABS:
318
      begin
319
      A_instr = "DEC_ABS";
320
      end
321
 
322
     `DEC_ABX:
323
      begin
324
      A_instr = "DEC_ABX";
325
      end
326
 
327
     `DEX_IMP:
328
      begin
329
      A_instr = "DEX_IMP";
330
      end
331
 
332
     `DEY_IMP:
333
      begin
334
      A_instr = "DEY_IMP";
335
      end
336
 
337
     `EOR_IMM:
338
      begin
339
      A_instr = "EOR_IMM";
340
      end
341
 
342
     `EOR_ZPG:
343
      begin
344
      A_instr = "EOR_ZPG";
345
      end
346
 
347
     `EOR_ZPX:
348
      begin
349
      A_instr = "EOR_ZPX";
350
      end
351
 
352
     `EOR_ABS:
353
      begin
354
      A_instr = "EOR_ABS";
355
      end
356
 
357
     `EOR_ABX:
358
      begin
359
      A_instr = "EOR_ABX";
360
      end
361
 
362
     `EOR_ABY:
363
      begin
364
      A_instr = "EOR_ABY";
365
      end
366
 
367
     `EOR_IDX:
368
      begin
369
      A_instr = "EOR_IDX";
370
      end
371
 
372
     `EOR_IDY:
373
      begin
374
      A_instr = "EOR_IDY";
375
      end
376
 
377
     `INC_ZPG:
378
      begin
379
      A_instr = "INC_ZPG";
380
      end
381
 
382
     `INC_ZPX:
383
      begin
384
      A_instr = "INC_ZPX";
385
      end
386
 
387
     `INC_ABS:
388
      begin
389
      A_instr = "INC_ABS";
390
      end
391
 
392
     `INC_ABX:
393
      begin
394
      A_instr = "INC_ABX";
395
      end
396
 
397
     `INX_IMP:
398
      begin
399
      A_instr = "INX_IMP";
400
      end
401
 
402
     `INY_IMP:
403
      begin
404
      A_instr = "INY_IMP";
405
      end
406
 
407
     `JMP_ABS:
408
      begin
409
      A_instr = "JMP_ABS";
410
      end
411
 
412
     `JMP_IND:
413
      begin
414
      A_instr = "JMP_IND";
415
      end
416
 
417
     `JSR_ABS:
418
      begin
419
      A_instr = "JSR_ABS";
420
      end
421
 
422
     `LDA_IMM:
423
      begin
424
      A_instr = "LDA_IMM";
425
      end
426
 
427
     `LDA_ZPG:
428
      begin
429
      A_instr = "LDA_ZPG";
430
      end
431
 
432
     `LDA_ZPX:
433
      begin
434
      A_instr = "LDA_ZPX";
435
      end
436
 
437
     `LDA_ABS:
438
      begin
439
      A_instr = "LDA_ABS";
440
      end
441
 
442
     `LDA_ABX:
443
      begin
444
      A_instr = "LDA_ABX";
445
      end
446
 
447
     `LDA_ABY:
448
      begin
449
      A_instr = "LDA_ABY";
450
      end
451
 
452
     `LDA_IDX:
453
      begin
454
      A_instr = "LDA_IDX";
455
      end
456
 
457
     `LDA_IDY:
458
      begin
459
      A_instr = "LDA_IDY";
460
      end
461
 
462
     `LDX_IMM:
463
      begin
464
      A_instr = "LDX_IMM";
465
      end
466
 
467
     `LDX_ZPG:
468
      begin
469
      A_instr = "LDX_ZPG";
470
      end
471
 
472
     `LDX_ZPY:
473
      begin
474
      A_instr = "LDX_ZPY";
475
      end
476
 
477
     `LDX_ABS:
478
      begin
479
      A_instr = "LDX_ABS";
480
      end
481
 
482
     `LDX_ABY:
483
      begin
484
      A_instr = "LDX_ABY";
485
      end
486
 
487
     `LDY_IMM:
488
      begin
489
      A_instr = "LDY_IMM";
490
      end
491
 
492
     `LDY_ZPG:
493
      begin
494
      A_instr = "LDY_ZPG";
495
      end
496
 
497
     `LDY_ZPX:
498
      begin
499
      A_instr = "LDY_ZPX";
500
      end
501
 
502
     `LDY_ABS:
503
      begin
504
      A_instr = "LDY_ABS";
505
      end
506
 
507
     `LDY_ABX:
508
      begin
509
      A_instr = "LDY_ABX";
510
      end
511
 
512
     `LSR_ACC:
513
      begin
514
      A_instr = "LSR_ACC";
515
      end
516
 
517
     `LSR_ZPG:
518
      begin
519
      A_instr = "LSR_ZPG";
520
      end
521
 
522
     `LSR_ZPX:
523
      begin
524
      A_instr = "LSR_ZPX";
525
      end
526
 
527
     `LSR_ABS:
528
      begin
529
      A_instr = "LSR_ABS";
530
      end
531
 
532
     `LSR_ABX:
533
      begin
534
      A_instr = "LSR_ABX";
535
      end
536
 
537
     `NOP_IMP:
538
      begin
539
      A_instr = "NOP_IMP";
540
      end
541
 
542
     `ORA_IMM:
543
      begin
544
      A_instr = "ORA_IMM";
545
      end
546
 
547
     `ORA_ZPG:
548
      begin
549
      A_instr = "ORA_ZPG";
550
      end
551
 
552
     `ORA_ZPX:
553
      begin
554
      A_instr = "ORA_ZPX";
555
      end
556
 
557
     `ORA_ABS:
558
      begin
559
      A_instr = "ORA_ABS";
560
      end
561
 
562
     `ORA_ABX:
563
      begin
564
      A_instr = "ORA_ABX";
565
      end
566
 
567
     `ORA_ABY:
568
      begin
569
      A_instr = "ORA_ABY";
570
      end
571
 
572
     `ORA_IDX:
573
      begin
574
      A_instr = "ORA_IDX";
575
      end
576
 
577
     `ORA_IDY:
578
      begin
579
      A_instr = "ORA_IDY";
580
      end
581
 
582
     `PHA_IMP:
583
      begin
584
      A_instr = "PHA_IMP";
585
      end
586
 
587
     `PHP_IMP:
588
      begin
589
      A_instr = "PHP_IMP";
590
      end
591
 
592
     `PLA_IMP:
593
      begin
594
      A_instr = "PLA_IMP";
595
      end
596
 
597
     `PLP_IMP:
598
      begin
599
      A_instr = "PLP_IMP";
600
      end
601
 
602
     `ROL_ACC:
603
      begin
604
      A_instr = "ROL_ACC";
605
      end
606
 
607
     `ROL_ZPG:
608
      begin
609
      A_instr = "ROL_ZPG";
610
      end
611
 
612
     `ROL_ZPX:
613
      begin
614
      A_instr = "ROL_ZPX";
615
      end
616
 
617
     `ROL_ABS:
618
      begin
619
      A_instr = "ROL_ABS";
620
      end
621
 
622
     `ROL_ABX:
623
      begin
624
      A_instr = "ROL_ABX";
625
      end
626
 
627
     `ROR_ACC:
628
      begin
629
      A_instr = "ROR_ACC";
630
      end
631
 
632
     `ROR_ZPG:
633
      begin
634
      A_instr = "ROR_ZPG";
635
      end
636
 
637
     `ROR_ZPX:
638
      begin
639
      A_instr = "ROR_ZPX";
640
      end
641
 
642
     `ROR_ABS:
643
      begin
644
      A_instr = "ROR_ABS";
645
      end
646
 
647
     `ROR_ABX:
648
      begin
649
      A_instr = "ROR_ABX";
650
      end
651
 
652
     `RTI_IMP:
653
      begin
654
      A_instr = "RTI_IMP";
655
      end
656
 
657
     `RTS_IMP:
658
      begin
659
      A_instr = "RTS_IMP";
660
      end
661
 
662
     `SBC_IMM:
663
      begin
664
      A_instr = "SBC_IMM";
665
      end
666
 
667
     `SBC_ZPG:
668
      begin
669
      A_instr = "SBC_ZPG";
670
      end
671
 
672
     `SBC_ZPX:
673
      begin
674
      A_instr = "SBC_ZPX";
675
      end
676
 
677
     `SBC_ABS:
678
      begin
679
      A_instr = "SBC_ABS";
680
      end
681
 
682
     `SBC_ABX:
683
      begin
684
      A_instr = "SBC_ABX";
685
      end
686
 
687
     `SBC_ABY:
688
      begin
689
      A_instr = "SBC_ABY";
690
      end
691
 
692
     `SBC_IDX:
693
      begin
694
      A_instr = "SBC_IDX";
695
      end
696
 
697
     `SBC_IDY:
698
      begin
699
      A_instr = "SBC_IDY";
700
      end
701
 
702
     `SEC_IMP:
703
      begin
704
      A_instr = "SEC_IMP";
705
      end
706
 
707
     `SED_IMP:
708
      begin
709
      A_instr = "SED_IMP";
710
      end
711
 
712
     `SEI_IMP:
713
      begin
714
      A_instr = "SEI_IMP";
715
      end
716
 
717
     `STA_ZPG:
718
      begin
719
      A_instr = "STA_ZPG";
720
      end
721
 
722
     `STA_ZPX:
723
      begin
724
      A_instr = "STA_ZPX";
725
      end
726
 
727
     `STA_ABS:
728
      begin
729
      A_instr = "STA_ABS";
730
      end
731
 
732
     `STA_ABX:
733
      begin
734
      A_instr = "STA_ABX";
735
      end
736
 
737
     `STA_ABY:
738
      begin
739
      A_instr = "STA_ABY";
740
      end
741
 
742
     `STA_IDX:
743
      begin
744
      A_instr = "STA_IDX";
745
      end
746
 
747
     `STA_IDY:
748
      begin
749
      A_instr = "STA_IDY";
750
      end
751
 
752
     `STX_ZPG:
753
      begin
754
      A_instr = "STX_ZPG";
755
      end
756
 
757
     `STX_ZPY:
758
      begin
759
      A_instr = "STX_ZPY";
760
      end
761
 
762
     `STX_ABS:
763
      begin
764
      A_instr = "STX_ABS";
765
      end
766
 
767
     `STY_ZPG:
768
      begin
769
      A_instr = "STY_ZPG";
770
      end
771
 
772
     `STY_ZPX:
773
      begin
774
      A_instr = "STY_ZPX";
775
      end
776
 
777
     `STY_ABS:
778
      begin
779
      A_instr = "STY_ABS";
780
      end
781
 
782
     `TAX_IMP:
783
      begin
784
      A_instr = "TAX_IMP";
785
      end
786
 
787
     `TAY_IMP:
788
      begin
789
      A_instr = "TAY_IMP";
790
      end
791
 
792
     `TXA_IMP:
793
      begin
794
      A_instr = "TXA_IMP";
795
      end
796
 
797
     `TYA_IMP:
798
      begin
799
      A_instr = "TYA_IMP";
800
      end
801
 
802
      default:    A_instr = "XXX_XXX";
803
   endcase
804
 
805
end
806
 
807
 
808
 
809
 
810
 
811
 
812
 
813
 
814
always @(*) begin
815
   case  (alu_mode)
816
      `alu_mode_add:          begin
817
                              A_alu_mode = "ADD";
818
                              end
819
      `alu_mode_and:          begin
820
                              A_alu_mode = "AND";
821
                              end
822
      `alu_mode_orr:          begin
823
                              A_alu_mode = "OR ";
824
                              end
825
      `alu_mode_eor:          begin
826
                              A_alu_mode = "EOR";
827
                              end
828
      `alu_mode_sfl:          begin
829
                              A_alu_mode = "SFL";
830
                              end
831
      `alu_mode_sfr:          begin
832
                              A_alu_mode = "SFR";
833
                              end
834
     default:                begin
835
                              A_alu_mode = "XXX";
836
                              end
837
   endcase
838
 
839
end
840
 
841
 
842
 
843
 
844
 
845
 
846
 
847
 
848
 
849
 
850
 
851
// alu_op_a_sel
852
 
853
 
854
 
855
always @(*) begin
856
   case  (alu_op_a_sel)
857
      `alu_op_a_00:           begin
858
                              A_alu_op_a_sel = "00 ";
859
                              end
860
      `alu_op_a_acc:          begin
861
                              A_alu_op_a_sel = "ACC";
862
                              end
863
      `alu_op_a_x  :          begin
864
                              A_alu_op_a_sel = " X ";
865
                              end
866
      `alu_op_a_y  :          begin
867
                              A_alu_op_a_sel = " Y ";
868
                              end
869
      `alu_op_a_ff :          begin
870
                              A_alu_op_a_sel = " FF ";
871
                              end
872
      `alu_op_a_psr:          begin
873
                              A_alu_op_a_sel = "PSR";
874
                              end
875
 
876
      default:                begin
877
                              A_alu_op_a_sel = "XXX";
878
                              end
879
   endcase
880
 
881
end
882
 
883
 
884
 
885
 
886
 
887
 
888
 
889
 
890
 
891
 
892
// alu_op_b_sel
893
 
894
 
895
always @(*) begin
896
   case  (alu_op_b_sel)
897
      `alu_op_b_00:           begin
898
                              A_alu_op_b_sel = " 0 ";
899
                              end
900
      `alu_op_b_opnd:         begin
901
                              A_alu_op_b_sel = "OPR";
902
                              end
903
      `alu_op_b_stk:          begin
904
                              A_alu_op_b_sel = "STK";
905
                              end
906
      `alu_op_b_imm:          begin
907
                              A_alu_op_b_sel = "IMM";
908
                              end
909
      default:                begin
910
                              A_alu_op_b_sel = "XXX";
911
                              end
912
   endcase
913
 
914
end
915
 
916
 
917
 
918
 
919
// alu_op_b_inv
920
 
921
 
922
always @(*) begin
923
   case  (alu_op_b_inv)
924
      1'b1:                   begin
925
                              A_alu_op_b_inv = "INV";
926
                              end
927
      1'b0:                   begin
928
                              A_alu_op_b_inv = "   ";
929
                              end
930
 
931
      default:                begin
932
                              A_alu_op_b_inv = "XXX";
933
                              end
934
   endcase
935
 
936
end
937
 
938
 
939
 
940
 
941
// alu_op_c_sel
942
 
943
 
944
always @(*) begin
945
   case  (alu_op_c_sel)
946
      `alu_op_c_00:          A_alu_op_c_sel = " 0 ";
947
      `alu_op_c_01:          A_alu_op_c_sel = " 1 ";
948
      `alu_op_c_cin:         A_alu_op_c_sel = "CIN";
949
      default:               A_alu_op_c_sel = "XXX";
950
 
951
   endcase
952
 
953
end
954
 
955
 
956
 
957
// alu_status_update
958
 
959
 
960
 
961
always @(*) begin
962
   case  (alu_status_update)
963
      `alu_status_update_none:begin
964
                              A_alu_status_update = "    ";
965
                              end
966
      `alu_status_update_nz:  begin
967
                              A_alu_status_update = "N Z ";
968
                              end
969
      `alu_status_update_nzc: begin
970
                              A_alu_status_update = "N ZC";
971
                              end
972
      `alu_status_update_nzcv:begin
973
                              A_alu_status_update = "NVZC";
974
                              end
975
      `alu_status_update_wr:  begin
976
                              A_alu_status_update = " WR ";
977
                              end
978
      `alu_status_update_z67: begin
979
                              A_alu_status_update = "76Z ";
980
                              end
981
      `alu_status_update_res: begin
982
                              A_alu_status_update = "RES ";
983
                              end
984
      default:                begin
985
                              A_alu_status_update = "XXXX";
986
                              end
987
   endcase
988
 
989
end
990
 
991
 
992
 
993
 
994
 
995
 
996
 
997
// dest
998
 
999
 
1000
always @(*) begin
1001
   case  (dest)
1002
      `dest_none:          A_dest = "   ";
1003
      `dest_alu_a:         A_dest = " A ";
1004
      `dest_alu_x:         A_dest = " X ";
1005
      `dest_alu_y:         A_dest = " Y ";
1006
      `dest_mem:           A_dest = "MEM";
1007
       default:            A_dest = "XXX";
1008
 
1009
   endcase
1010
 
1011
end
1012
 
1013
 
1014
 
1015
 
1016
// ctrl
1017
 
1018
 
1019
always @(*) begin
1020
   case  (ctrl)
1021
      `ctrl_none:        A_ctrl = "       ";
1022
      `ctrl_jsr:         A_ctrl = "JMP_SUB";
1023
      `ctrl_jmp:         A_ctrl = " JUMP  ";
1024
      `ctrl_jmp_ind:     A_ctrl = "JMP_IND";
1025
      `ctrl_brk:         A_ctrl = " BREAK ";
1026
      `ctrl_rti:         A_ctrl = "RET INT";
1027
      `ctrl_rts:         A_ctrl = "RET SUB";
1028
      `ctrl_branch:      A_ctrl = "BRANCH ";
1029
       default:          A_ctrl = " -XXX- ";
1030
   endcase
1031
 
1032
end
1033
 
1034
 
1035
 
1036
 
1037
// cmd
1038
 
1039
 
1040
always @(*) begin
1041
   case  (cmd)
1042
      `cmd_none:        A_cmd = "        ";
1043
      `cmd_run:         A_cmd = "   RUN  ";
1044
      `cmd_load_add:    A_cmd = "LOAD ADD";
1045
      `cmd_load_vec:    A_cmd = "LOAD VEC";
1046
       default:         A_cmd = " -XXX- ";
1047
   endcase
1048
 
1049
end
1050
 
1051
 
1052
 
1053
 
1054
 
1055
// ins_type
1056
 
1057
 
1058
always @(*) begin
1059
   case  (ins_type)
1060
      `ins_type_none:     A_ins_type = "     ";
1061
      `ins_type_read:     A_ins_type = "READ ";
1062
      `ins_type_write:    A_ins_type = "WRITE";
1063
      `ins_type_rmw:      A_ins_type = " RMW ";
1064
       default:           A_ins_type = "-XXX-";
1065
   endcase
1066
 
1067
end
1068
 
1069
 
1070
// idx_sel
1071
 
1072
 
1073
always @(*) begin
1074
   case  (idx_sel)
1075
      `idx_sel_00:        A_idx_sel = " 0 ";
1076
      `idx_sel_x:         A_idx_sel = " X ";
1077
      `idx_sel_y:         A_idx_sel = " Y ";
1078
       default:           A_idx_sel = "---";
1079
   endcase
1080
 
1081
end
1082
 
1083
 
1084
 
1085
 
1086
 
1087
 
1088
 
1089
 
1090
 

powered by: WebSVN 2.1.0

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