[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[oc] Problem in DMA IP Core Trace ?
 Hi,
  Now I am tracing the DMA IP Core. In the wb_dma_pri_enc_sub.v, it firstly
defines the parameter pri_sel to 2'h0. Then it is used in "Select
Configured Priority" mux.
However, it's value is 2'h0 always. Could someone explain the mux is
necessary ? Synthesis tools will optimize it to dedicated value 2'd0:
pri_out_d = pri_out_d0. Am I right ? How to explain the code ?
 Appreciate for any info.
 Nanson
== Code Segment ===
`include "wb_dma_defines.v"
// Priority Encoder
//
// Determines the channel with the highest priority, also takes
// the valid bit in consideration
module wb_dma_pri_enc_sub(valid, pri_in, pri_out);
parameter [3:0]   ch_conf = 4'b0000;
parameter [1:0]   pri_sel = 2'd0;
input       valid;
input [2:0] pri_in;
output      [7:0] pri_out;
wire  [7:0] pri_out;
reg   [7:0] pri_out_d;
reg   [7:0] pri_out_d0;
reg   [7:0] pri_out_d1;
reg   [7:0] pri_out_d2;
assign pri_out = ch_conf[0] ? pri_out_d : 8'h0;
// Select Configured Priority
always @(pri_sel or pri_out_d0 or pri_out_d1 or  pri_out_d2)
      case(pri_sel)           // synopsys parallel_case full_case
         2'd0: pri_out_d = pri_out_d0;
         2'd1: pri_out_d = pri_out_d1;
         2'd2: pri_out_d = pri_out_d2;
      endcase
--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml