| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772 |
- `ifndef SYNTHESIS
- `define ADDOP
- `endif
- import risc8_pkg::*;
- import alu_pkg::*;
- module controller8(
- input word instr,
- risc8_cdi.control cdi,
- output reg mem_wr, mem_rd
- );
- // Instruction decoding
- assign cdi.a1 = e_reg_addr'(instr[3:2]);
- assign cdi.a2 = e_reg_addr'(instr[1:0]);
- assign cdi.a3 = cdi.a1; // Assuming destination always first operand
-
- `ifdef ADDOP
- initial $display("Control adding 'op' reg");
- e_instr op;
- `endif
- // generated table
- always_comb begin
- casez(instr)
- CPY0 : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_IMM;
- cdi.rw_en = 1;
- cdi.selr = SR_IMM;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 1;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = CPY0;
- `endif
- end
- CPY1 : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_IMM;
- cdi.rw_en = 1;
- cdi.selr = SR_IMM;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 1;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = CPY1;
- `endif
- end
- CPY2 : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_IMM;
- cdi.rw_en = 1;
- cdi.selr = SR_IMM;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 1;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = CPY2;
- `endif
- end
- CPY3 : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_IMM;
- cdi.rw_en = 1;
- cdi.selr = SR_IMM;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 1;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = CPY3;
- `endif
- end
- MOVE : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 1;
- cdi.selr = SR_REG;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = MOVE;
- `endif
- end
- ADD : begin
- cdi.alu_op = ALU_ADD;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = ADD;
- `endif
- end
- SUB : begin
- cdi.alu_op = ALU_SUB;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SUB;
- `endif
- end
- AND : begin
- cdi.alu_op = ALU_AND;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = AND;
- `endif
- end
- OR : begin
- cdi.alu_op = ALU_OR;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = OR;
- `endif
- end
- XOR : begin
- cdi.alu_op = ALU_XOR;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = XOR;
- `endif
- end
- MUL : begin
- cdi.alu_op = ALU_MUL;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = MUL;
- `endif
- end
- DIV : begin
- cdi.alu_op = ALU_DIV;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = DIV;
- `endif
- end
- BR : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 2;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = BR;
- `endif
- end
- SLL : begin
- cdi.alu_op = ALU_SL;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SLL;
- `endif
- end
- SRL : begin
- cdi.alu_op = ALU_SR;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SRL;
- `endif
- end
- SRA : begin
- cdi.alu_op = ALU_RA;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SRA;
- `endif
- end
- SRAS : begin
- cdi.alu_op = ALU_RAS;
- cdi.selb = SB_REG;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SRAS;
- `endif
- end
- LWHI : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 1;
- cdi.selr = SR_MEMH;
- mem_rd = 1;
- mem_wr = 0;
- cdi.isize = 3;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = LWHI;
- `endif
- end
- SWHI : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEMH;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SWHI;
- `endif
- end
- LWLO : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 1;
- cdi.selr = SR_MEML;
- mem_rd = 1;
- mem_wr = 0;
- cdi.isize = 3;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = LWLO;
- `endif
- end
- SWLO : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 1;
- cdi.isize = 3;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SWLO;
- `endif
- end
- INC : begin
- cdi.alu_op = ALU_ADD;
- cdi.selb = SB_1;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = INC;
- `endif
- end
- DEC : begin
- cdi.alu_op = ALU_SUB;
- cdi.selb = SB_1;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUL;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = DEC;
- `endif
- end
- GETAH : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 1;
- cdi.selr = SR_ALUH;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = GETAH;
- `endif
- end
- GETIF : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 1;
- cdi.selr = SR_INTR;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = GETIF;
- `endif
- end
- PUSH : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 1;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SUB;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = PUSH;
- `endif
- end
- POP : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 1;
- cdi.selr = SR_MEML;
- mem_rd = 1;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_ADD;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = POP;
- `endif
- end
- COM : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 1;
- cdi.selr = SR_COM;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 1;
- cdi.selo = SO_COM;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = COM;
- `endif
- end
- SETI : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SETI;
- `endif
- end
- BEQ : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_IMM;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = (cdi.alu_comp[2:1] == 'b10)?1:3;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = (cdi.alu_comp[2:1] == 'b10)?PC_IMM2:PC_NONE;
- `ifdef ADDOP
- op = BEQ;
- `endif
- end
- BGT : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_IMM;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = (cdi.alu_comp[2:1] == 'b01)?1:3;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = (cdi.alu_comp[2:1] == 'b01)?PC_IMM2:PC_NONE;
- `ifdef ADDOP
- op = BGT;
- `endif
- end
- BGE : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_IMM;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = (cdi.alu_comp[2]|cdi.alu_comp[1])?1:3;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = (cdi.alu_comp[2]|cdi.alu_comp[1])?PC_IMM2:PC_NONE;
- `ifdef ADDOP
- op = BGE;
- `endif
- end
- BZ : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = BZ;
- `endif
- end
- CALL : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 1;
- cdi.isize = 1;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SUB;
- cdi.pcop = PC_IMM;
- `ifdef ADDOP
- op = CALL;
- `endif
- end
- RET : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 1;
- mem_wr = 0;
- cdi.isize = 2;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_ADD;
- cdi.pcop = PC_MEM;
- `ifdef ADDOP
- op = RET;
- `endif
- end
- JUMP : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 1;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_NONE;
- cdi.pcop = PC_IMM;
- `ifdef ADDOP
- op = JUMP;
- `endif
- end
- RETI : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 1;
- mem_wr = 0;
- cdi.isize = 2;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SUB;
- cdi.pcop = PC_MEM;
- `ifdef ADDOP
- op = RETI;
- `endif
- end
- CLC : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = CLC;
- `endif
- end
- SETC : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SETC;
- `endif
- end
- CLS : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = CLS;
- `endif
- end
- SETS : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SETS;
- `endif
- end
- SSETS : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SSETS;
- `endif
- end
- CLN : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = CLN;
- `endif
- end
- SETN : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SETN;
- `endif
- end
- SSETN : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = SSETN;
- `endif
- end
- RJUMP : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 2;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = RJUMP;
- `endif
- end
- RBWI : begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 1;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- `ifdef ADDOP
- op = RBWI;
- `endif
- end
- default: begin
- cdi.alu_op = ALU_NONE;
- cdi.selb = SB_NONE;
- cdi.rw_en = 0;
- cdi.selr = SR_NONE;
- mem_rd = 0;
- mem_wr = 0;
- cdi.isize = 0;
- cdi.selo = SO_MEML;
- cdi.stackop = ST_SKIP;
- cdi.pcop = PC_NONE;
- end
- endcase
- end
- // generated table end
- endmodule
- `timescale 1ns / 1ns
- module controller8_tb;
- word instr;
- risc8_cdi cdi();
- logic mem_wr, mem_rd;
- controller8 c0(instr, cdi, mem_wr, mem_rd);
- initial begin
- instr = 8'b0000_0000;
- cdi.alu_comp = 3'b000;
- #10ns;
- instr = 8'b0000_0100;
- #10ns;
- instr = 8'b0001_0001;
- #10ns;
- instr = 8'b0010_0001;
- #10ns;
- instr = 8'b1111_1111;
- #10ns;
- end
- endmodule
|