K
kuntul
Guest
내가 가지고 Verilog 코드를 참조하십시오.코드 :
항상 @ (posedge CLK) 시작ForwardA = 0;
ForwardB = 0;/ / EX에 해저드
EXMEMRegWrite은 == 1) 시작합니다 (해당되는 경우
(EXMEMrd! 경우 = 0)
EXMEMrd은 == IDEXrs (있을 경우)
ForwardA = 2'b10;
EXMEMrd은 == IDEXrt & & (해당되는 경우 IDEXTest == 0)
ForwardB = 2'b10;
끝/ / MEM 위험MEMWBRegWrite은 == 1) 시작합니다 (해당되는 경우
MEMWBrd가! = 0) 시작합니다 (해당되는 경우
== 1 EXMEMRegWrite (있다면! (& & EXMEMrd! = 0 & & (EXMEMrd == IDEXrs)))
MEMWBrd은 == IDEXrs (있을 경우)
ForwardA = 2'b01;
IDEXTest은 == 0) 시작합니다 (해당되는 경우
== 1 EXMEMRegWrite (있다면! (& & EXMEMrd! = 0 & & (EXMEMrd == IDEXrt)))
MEMWBrd은 == IDEXrt (있을 경우)
ForwardB = 2'b01;
끝
끝
끝끝
항상 @ (posedge CLK) 시작ForwardA = 0;
ForwardB = 0;/ / EX에 해저드
EXMEMRegWrite은 == 1) 시작합니다 (해당되는 경우
(EXMEMrd! 경우 = 0)
EXMEMrd은 == IDEXrs (있을 경우)
ForwardA = 2'b10;
EXMEMrd은 == IDEXrt & & (해당되는 경우 IDEXTest == 0)
ForwardB = 2'b10;
끝/ / MEM 위험MEMWBRegWrite은 == 1) 시작합니다 (해당되는 경우
MEMWBrd가! = 0) 시작합니다 (해당되는 경우
== 1 EXMEMRegWrite (있다면! (& & EXMEMrd! = 0 & & (EXMEMrd == IDEXrs)))
MEMWBrd은 == IDEXrs (있을 경우)
ForwardA = 2'b01;
IDEXTest은 == 0) 시작합니다 (해당되는 경우
== 1 EXMEMRegWrite (있다면! (& & EXMEMrd! = 0 & & (EXMEMrd == IDEXrt)))
MEMWBrd은 == IDEXrt (있을 경우)
ForwardB = 2'b01;
끝
끝
끝끝