@@ -312,7 +312,7 @@ entity OR_stage is
312
312
);
313
313
end entity ;
314
314
315
- architecture Behave of OR_stage is
315
+ architecture ors of OR_stage is
316
316
317
317
component R7 is
318
318
Generic (NUM_BITS : INTEGER := 16 );
@@ -374,14 +374,21 @@ end component;
374
374
signal SE6_op,SE9_op,SE_mux_op,RF_D3_sig,alu3_op_sig,R7_op,rf_d1_sig,rf_d2_sig,rf_d1_mux_sig,rf_d2_mux_sig: std_logic_vector (15 downto 0 );
375
375
signal RF_a3_sig,RF_a2_sig,op_PE2: std_logic_vector (2 downto 0 );
376
376
signal PE1_mux_op: std_logic_vector (7 downto 0 );
377
-
377
+ signal not_nullify_ex: std_logic ;
378
+ signal dummy_ip19,dummy_ip18, dummy_ip10, dummy_ip9: std_logic ;
378
379
begin
379
380
381
+ not_nullify_ex <= not (nullify_ex);
382
+ dummy_ip19 <= (ID_reg_op(19 ) and not (nullify_control_OR));
383
+ dummy_ip18 <= (ID_reg_op(18 ) and not (nullify_control_OR));
384
+ dummy_ip10 <= (ID_reg_op(10 ) and not (nullify_control_OR));
385
+ dummy_ip9 <= (ID_reg_op(9 ) and not (nullify_control_OR));
386
+
380
387
a : SE6 port map (ip=> ID_reg_op(25 downto 20 ),op=> SE6_op);
381
388
b : SE9 port map (ip=> ID_reg_op(28 downto 20 ),op=> SE9_op);
382
389
c : ALU_3 port map (alu_a=> SE_mux_op,alu_b=> ID_reg_op(51 downto 36 ),alu_out=> alu3_op_sig);
383
390
d : RegFile port map (CLK => clock, reset=> reset,rf_a1=> ID_reg_op(31 downto 29 ),rf_a2 => RF_a2_sig, rf_a3 => RF_a3_sig,rf_d3=> RF_d3_sig,rf_d1=> rf_d1_sig,rf_d2=> rf_d2_sig,rf_wr => mem_rf_en );
384
- e : R7 port map (EN=> not (nullify_ex) ,ip=> PC_ex,op=> R7_op,reset=> reset,clk=> clock);
391
+ e : R7 port map (EN=> not_nullify_ex ,ip=> PC_ex,op=> R7_op,reset=> reset,clk=> clock);
385
392
f : priority_encoder2 port map (ip=> ID_reg_op(7 downto 0 ), op_addr=> op_PE2, update=> PE2_op);
386
393
g : OR_interface_reg port map (
387
394
EN=> '1' ,
@@ -392,11 +399,11 @@ g: OR_interface_reg port map(
392
399
ip(67 downto 52 )=> rf_d1_mux_sig,
393
400
ip(51 downto 36 )=> rf_d2_mux_sig,
394
401
ip(35 downto 20 )=> alu3_op_sig,
395
- ip(19 )=> (ID_reg_op( 19 ) and not (nullify_control_OR)) ,
396
- ip(18 )=> (ID_reg_op( 18 ) and not (nullify_control_OR)) ,
402
+ ip(19 )=> dummy_ip19 ,
403
+ ip(18 )=> dummy_ip18 ,
397
404
ip(17 downto 11 )=> ID_reg_op(17 downto 11 ),
398
- ip(10 )=> (ID_reg_op( 10 ) and not (nullify_control_OR)) ,
399
- ip(9 )=> (ID_reg_op( 9 ) and not (nullify_control_OR)) ,
405
+ ip(10 )=> dummy_ip10 ,
406
+ ip(9 )=> dummy_ip9 ,
400
407
ip(8 )=> nullify_control_OR,
401
408
ip(7 downto 0 )=> PE1_mux_op,
402
409
op=> OR_reg_op);
512
519
end if ;
513
520
end process ;
514
521
515
- end Behave ;
522
+ end architecture ors ;
0 commit comments