summaryrefslogtreecommitdiff
path: root/risc_16bit_cpu/v0.1/risc_16bit_cpu.v
diff options
context:
space:
mode:
authordianshi <dianshi@main.lv>2022-02-14 07:48:24 +0000
committerdianshi <dianshi@main.lv>2022-02-14 07:48:24 +0000
commitf52f1af38851b784862175ff2806bda622b0ec47 (patch)
treeb867a56d42f4006b171bbd547aafaaa6d736d101 /risc_16bit_cpu/v0.1/risc_16bit_cpu.v
parent2a54718dc842d1be84d1470827b538bdaab2cb28 (diff)
downloadcpu8_v-f52f1af38851b784862175ff2806bda622b0ec47.tar.gz
cpu8_v-f52f1af38851b784862175ff2806bda622b0ec47.zip
Add datapatch v0.1
Diffstat (limited to 'risc_16bit_cpu/v0.1/risc_16bit_cpu.v')
-rw-r--r--risc_16bit_cpu/v0.1/risc_16bit_cpu.v43
1 files changed, 43 insertions, 0 deletions
diff --git a/risc_16bit_cpu/v0.1/risc_16bit_cpu.v b/risc_16bit_cpu/v0.1/risc_16bit_cpu.v
new file mode 100644
index 0000000..8ad4b96
--- /dev/null
+++ b/risc_16bit_cpu/v0.1/risc_16bit_cpu.v
@@ -0,0 +1,43 @@
+
+module risc_16bit_cpu(
+ input clk
+);
+
+
+wire jump,bne,beq,mem_read,mem_write,alu_src,reg_dst,mem_to_reg,reg_write;
+ wire[1:0] alu_op;
+ wire [3:0] opcode;
+ // Datapath
+ data_path DU
+ (
+ .clk(clk),
+ .jump(jump),
+ .beq(beq),
+ .mem_read(mem_read),
+ .mem_write(mem_write),
+ .alu_src(alu_src),
+ .reg_dst(reg_dst),
+ .mem_to_reg(mem_to_reg),
+ .reg_write(reg_write),
+ .bne(bne),
+ .alu_op(alu_op),
+ .opcode(opcode)
+ );
+ // control unit
+ control_unit control
+ (
+ .opcode(opcode),
+ .reg_dst(reg_dst),
+ .mem_to_reg(mem_to_reg),
+ .alu_op(alu_op),
+ .jump(jump),
+ .bne(bne),
+ .beq(beq),
+ .mem_read(mem_read),
+ .mem_write(mem_write),
+ .alu_src(alu_src),
+ .reg_write(reg_write)
+ );
+
+
+endmodule \ No newline at end of file