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

Subversion Repositories openmsp430

[/] [openmsp430/] [trunk/] [fpga/] [xilinx_diligent_s3board/] [rtl/] [verilog/] [openmsp430/] [omsp_multiplier.v] - Diff between revs 136 and 186

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

Rev 136 Rev 186
Line 142... Line 142...
 
 
// Read/Write vectors
// Read/Write vectors
wire [DEC_SZ-1:0] reg_wr    = reg_dec & {DEC_SZ{reg_write}};
wire [DEC_SZ-1:0] reg_wr    = reg_dec & {DEC_SZ{reg_write}};
wire [DEC_SZ-1:0] reg_rd    = reg_dec & {DEC_SZ{reg_read}};
wire [DEC_SZ-1:0] reg_rd    = reg_dec & {DEC_SZ{reg_read}};
 
 
 
// Masked input data for byte access
 
wire       [15:0] per_din_msk =  per_din & {{8{per_we[1]}}, 8'hff};
 
 
//============================================================================
//============================================================================
// 3) REGISTERS
// 3) REGISTERS
//============================================================================
//============================================================================
 
 
Line 167... Line 169...
`endif
`endif
 
 
always @ (posedge mclk_op1 or posedge puc_rst)
always @ (posedge mclk_op1 or posedge puc_rst)
  if (puc_rst)      op1 <=  16'h0000;
  if (puc_rst)      op1 <=  16'h0000;
`ifdef CLOCK_GATING
`ifdef CLOCK_GATING
  else              op1 <=  per_din;
  else              op1 <=  per_din_msk;
`else
`else
  else if (op1_wr)  op1 <=  per_din;
  else if (op1_wr)  op1 <=  per_din_msk;
`endif
`endif
 
 
wire [15:0] op1_rd  = op1;
wire [15:0] op1_rd  = op1;
 
 
 
 
Line 192... Line 194...
`endif
`endif
 
 
always @ (posedge mclk_op2 or posedge puc_rst)
always @ (posedge mclk_op2 or posedge puc_rst)
  if (puc_rst)      op2 <=  16'h0000;
  if (puc_rst)      op2 <=  16'h0000;
`ifdef CLOCK_GATING
`ifdef CLOCK_GATING
  else              op2 <=  per_din;
  else              op2 <=  per_din_msk;
`else
`else
  else if (op2_wr)  op2 <=  per_din;
  else if (op2_wr)  op2 <=  per_din_msk;
`endif
`endif
 
 
wire [15:0] op2_rd  = op2;
wire [15:0] op2_rd  = op2;
 
 
 
 
Line 218... Line 220...
wire        mclk_reslo = mclk;
wire        mclk_reslo = mclk;
`endif
`endif
 
 
always @ (posedge mclk_reslo or posedge puc_rst)
always @ (posedge mclk_reslo or posedge puc_rst)
  if (puc_rst)         reslo <=  16'h0000;
  if (puc_rst)         reslo <=  16'h0000;
  else if (reslo_wr)   reslo <=  per_din;
  else if (reslo_wr)   reslo <=  per_din_msk;
  else if (result_clr) reslo <=  16'h0000;
  else if (result_clr) reslo <=  16'h0000;
`ifdef CLOCK_GATING
`ifdef CLOCK_GATING
  else                 reslo <=  reslo_nxt;
  else                 reslo <=  reslo_nxt;
`else
`else
  else if (result_wr)  reslo <=  reslo_nxt;
  else if (result_wr)  reslo <=  reslo_nxt;
Line 247... Line 249...
wire        mclk_reshi = mclk;
wire        mclk_reshi = mclk;
`endif
`endif
 
 
always @ (posedge mclk_reshi or posedge puc_rst)
always @ (posedge mclk_reshi or posedge puc_rst)
  if (puc_rst)         reshi <=  16'h0000;
  if (puc_rst)         reshi <=  16'h0000;
  else if (reshi_wr)   reshi <=  per_din;
  else if (reshi_wr)   reshi <=  per_din_msk;
  else if (result_clr) reshi <=  16'h0000;
  else if (result_clr) reshi <=  16'h0000;
`ifdef CLOCK_GATING
`ifdef CLOCK_GATING
  else                 reshi <=  reshi_nxt;
  else                 reshi <=  reshi_nxt;
`else
`else
  else if (result_wr)  reshi <=  reshi_nxt;
  else if (result_wr)  reshi <=  reshi_nxt;

powered by: WebSVN 2.1.0

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