OpenCores
URL https://opencores.org/ocsvn/amber/amber/trunk

Subversion Repositories amber

[/] [amber/] [trunk/] [hw/] [vlog/] [amber23/] [a23_execute.v] - Diff between revs 82 and 83

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 82 Rev 83
Line 83... Line 83...
input      [31:0]           i_imm32,
input      [31:0]           i_imm32,
input      [4:0]            i_imm_shift_amount,
input      [4:0]            i_imm_shift_amount,
input                       i_shift_imm_zero,
input                       i_shift_imm_zero,
input      [3:0]            i_condition,
input      [3:0]            i_condition,
input                       i_exclusive_exec,       // swap access
input                       i_exclusive_exec,       // swap access
 
input                       i_use_carry_in,         // e.g. add with carry instruction
 
 
input      [3:0]            i_rm_sel,
input      [3:0]            i_rm_sel,
input      [3:0]            i_rds_sel,
input      [3:0]            i_rds_sel,
input      [3:0]            i_rn_sel,
input      [3:0]            i_rn_sel,
input      [3:0]            i_rm_sel_nxt,
input      [3:0]            i_rm_sel_nxt,
Line 194... Line 195...
wire [1:0]          status_bits_out;
wire [1:0]          status_bits_out;
 
 
wire [31:0]         alu_out_pc_filtered;
wire [31:0]         alu_out_pc_filtered;
wire                adex_nxt;
wire                adex_nxt;
 
 
 
wire                carry_in;
 
 
 
 
// ========================================================
// ========================================================
// Status Bits in PC register
// Status Bits in PC register
// ========================================================
// ========================================================
assign status_bits_out = (i_status_bits_mode_wen && i_status_bits_sel == 3'd1 && execute) ?
assign status_bits_out = (i_status_bits_mode_wen && i_status_bits_sel == 3'd1 && execute) ?
                            alu_out[1:0] : status_bits_mode ;
                            alu_out[1:0] : status_bits_mode ;
Line 469... Line 473...
 
 
 
 
// ========================================================
// ========================================================
// Instantiate Barrel Shift
// Instantiate Barrel Shift
// ========================================================
// ========================================================
 
 
 
assign carry_in = i_use_carry_in ? status_bits_flags[1] : 1'd0;
 
 
`ifndef ALTERA_FPGA
`ifndef ALTERA_FPGA
a23_barrel_shift u_barrel_shift  (
a23_barrel_shift u_barrel_shift  (
`else
`else
a23_barrel_shift_fpga u_barrel_shift  (
a23_barrel_shift_fpga u_barrel_shift  (
`endif
`endif
    .i_in             ( barrel_shift_in           ),
    .i_in             ( barrel_shift_in           ),
    .i_carry_in       ( status_bits_flags[1]      ),
    .i_carry_in       ( carry_in                  ),
    .i_shift_amount   ( shift_amount              ),
    .i_shift_amount   ( shift_amount              ),
    .i_shift_imm_zero ( i_shift_imm_zero          ),
    .i_shift_imm_zero ( i_shift_imm_zero          ),
    .i_function       ( i_barrel_shift_function   ),
    .i_function       ( i_barrel_shift_function   ),
 
 
    .o_out            ( barrel_shift_out          ),
    .o_out            ( barrel_shift_out          ),

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.