Ex08課題2016: CUbench_1.v
| File CUbench_1.v, 1.0 KB (added by nakasato, 10 years ago) |
|---|
| Line | |
|---|---|
| 1 | `timescale 1ns/1ps |
| 2 | `include "ControlUnit_1.v" |
| 3 | |
| 4 | module CUbench; |
| 5 | |
| 6 | reg ck; |
| 7 | reg clr; |
| 8 | reg [5:0] op; |
| 9 | wire pcwritecond; |
| 10 | wire pcwrite; |
| 11 | wire iord; |
| 12 | wire memread; |
| 13 | wire memwrite; |
| 14 | wire memtoreg; |
| 15 | wire irwrite; |
| 16 | wire [1:0] pcsource; |
| 17 | wire [1:0] aluop; |
| 18 | wire [2:0] alusrcb; |
| 19 | wire alusrca; |
| 20 | wire regwrite; |
| 21 | wire regdst; |
| 22 | |
| 23 | ControlUnit cu(.PCWriteCond(pcwritecond), .PCWrite(pcwrite), .IorD(iord), .MemRead(memread), .MemWrite(memwrite), .MemtoReg(memtoreg), .IRWrite(irwrite), .PCSource(pcsource), .ALUOp(aluop), .ALUSrcB(alusrcb), .ALUSrcA(alusrca), .RegWrite(regwrite), .RegDST(regdst), .Op(op), .CK(ck), .CLR(clr)); |
| 24 | |
| 25 | initial |
| 26 | begin |
| 27 | $dumpfile("CUbench_1.vcd"); |
| 28 | $dumpvars(0, cu); |
| 29 | |
| 30 | // initialize |
| 31 | ck = 1'b0; |
| 32 | clr = 1'b1; |
| 33 | |
| 34 | #60 |
| 35 | |
| 36 | // operation = RTYPE(register type) |
| 37 | op = 0; |
| 38 | clr = 1'b0; |
| 39 | |
| 40 | $display("\noperation = RTYPE"); |
| 41 | |
| 42 | // 4 cycles |
| 43 | #100 |
| 44 | #100 |
| 45 | #100 |
| 46 | #100 |
| 47 | |
| 48 | clr = 1'b1; |
| 49 | #160 |
| 50 | |
| 51 | $finish; |
| 52 | end // initial begin |
| 53 | |
| 54 | always #50 ck = ~ck; |
| 55 | endmodule // CUbench |
