📄 control.v
字号:
`include "defines.v"module control ( load_ac , mem_rd , mem_wr , inc_pc , load_pc , load_ir , halt , opcode , zero , clk , clk2 , fetch , rst_ );output load_ac ;output mem_rd ;output mem_wr ;output inc_pc ;output load_pc ;output load_ir ;output halt ;input [2:0] opcode ;input zero ;input clk ;input clk2 ;input fetch ;input rst_ ;reg [2:0] phase ; always @ ( clk ) if ( !rst_ ) phase <= 0; else if ( clk && clk2 && fetch || phase!=0 ) phase <= phase+1;assign load_ir = phase==2 || phase==3 ;assign halt = phase==4 && opcode==`HLT ;assign inc_pc = phase==4 || phase==6 && opcode==`SKZ && zero || phase==7 && opcode==`SKZ && zero || phase==7 && opcode==`JMP ;assign mem_rd = phase==1 || phase==2 || phase==3 || phase==5 && opcode==`ADD || phase==5 && opcode==`AND || phase==5 && opcode==`XOR || phase==5 && opcode==`LDA || phase==6 && opcode==`ADD || phase==6 && opcode==`AND || phase==6 && opcode==`XOR || phase==6 && opcode==`LDA || phase==7 && opcode==`ADD || phase==7 && opcode==`AND || phase==7 && opcode==`XOR || phase==7 && opcode==`LDA ;assign load_ac = phase==6 && opcode==`ADD || phase==6 && opcode==`AND || phase==6 && opcode==`XOR || phase==6 && opcode==`LDA || phase==7 && opcode==`ADD || phase==7 && opcode==`AND || phase==7 && opcode==`XOR || phase==7 && opcode==`LDA ;assign load_pc = phase==6 && opcode==`JMP || phase==7 && opcode==`JMP ;assign mem_wr = phase==7 && opcode==`STO ;endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -