OpenCores
Issue List
eror in or1200_defines at orpsocv2 #77
Closed hslee92 opened this issue about 14 years ago
hslee92 commented about 14 years ago

Default or1200_defines.v have some error

//Number of DVR/DCR pairs if HW breakpoints enabled OR1200_DU_DVRDCR_PAIRS is defined 8, and they have 8 pairs of DVR/DCR

But, the OR1200_DCFGR_NDP is reserved 3bits, therefore NDP bits in Debug configuration register is set to 3'b000


file: rtl/or1200r2/or1200_cfgr.v spr_dat_o`OR1200_DCFGR_NDP_BITS = OR1200_DCFGR_NDP; | bit overflow during conversion from text [2.5(IEEE)] (3 bits).define macro: OR1200_DU_DVRDCR_PAIRS = 8 or1200_defines.v, define macro: OR1200_DCFGR_NDP = 3'bOR1200_DU_DVRDCR_PAIRS or1200_defines.v,

julius commented about 14 years ago

Yes, this is incorrect in the implementation.

According to the OpenRISC architecture spec, the NDP field of the DCFGR indicates:

Number of Debug Pairs 0 Debug unit has one DCR/DVR pair ... 7 Debug unit has eight DCR/DVR pairs

in the or1200_defines.v file we have

`define OR1200_DU_DVRDCR_PAIRS 8

and then

ifdef OR1200_DU_HWBKPTSdefine OR1200_DCFGR_NDP 3'h`OR1200_DU_DVRDCR_PAIRS // # of DVR/DCR pairs

OR1200_DU_DVRDCR_PAIRS is used nowhere else so I guess this was mistakenly set to 8 at some point. Attempting to `define OR1200_DCFGR_NDP as 3'h(8-1) doesn't work, so changing the OR1200_DU_DVRDCR_PAIRS to 7 is the best fix.

It has been fixed in ORPSoCv2 but remains in the or1200 project code for now.

julius was assigned about 14 years ago
julius closed this about 14 years ago

Assignee
julius
Labels
Bug