Thanks MAtt - the BUFR to BUFG change worked.  It was not quite so simple
as changing to your commit of mil_devel
 - there were far to  many other changes to work with my older model file
but just copying the file you mentioned over the one in my version of
mlib_devel solved matters - hopefully this will work for others.

On Fri, May 8, 2015 at 5:02 PM, Matt Strader <[email protected]>
wrote:

> Ah, if it's a component switching limit, then the fix should be to swap a
> BUFR with a BUFG in the interface.
> See the change to
> xps_base/XPS_ROACH_base/pcores/dac_mkid_interface_v1_01_a/hdl/vhdl/dac_mkid_interface.vhd
> in this commit in my mlib_devel :
>
> https://github.com/mstrader/mlib_devel/commit/5308efb664d74166905d0fb141a38f14e493c453
>
> I wasn't the one who made the change, so I don't know why this fixes
> anything but I know this problem comes up without it.
>
> Matt
>
>
> On Fri, May 8, 2015 at 1:42 PM, Jack Hickish <[email protected]>
> wrote:
>
>> Hi Simon,
>>
>> Can you send me the model you're compiling, and the mlib_devel
>> repo/branch you're using. This seems like it should really just be fixed.
>>
>> Thanks,
>> Jack
>>
>> On Fri, 8 May 2015 at 13:36 Simon Dicker <[email protected]> wrote:
>>
>>> To turn off the PAR check I did the following:
>>>
>>> In the file mlib_devel/xps_base/XPS_ROACH_base/system.xmp.xs95t there is
>>> an option EnableParTimingError.  On setting this to zero then I could get
>>> my system to compile.  There seem to be several of these system.xmp files
>>> so depending on what your are building for the file may be different - if
>>> you try this and it works let us know.
>>>
>>> As to the cause of the timing error (it is far better to get rid of
>>> them) then I traced it down to the DAC_mkid block - A stripped down model
>>> with only a DRAM_LUT, a dac_mkid block and a adc_mkid block.  gave the
>>> error but when I stripped out the dac_mkid block then the error went away.
>>> I tried playing with delays inside the block but this only made things
>>> worse.
>>>
>>> If it helps then it seems to be a component switching limit - using the
>>> timing analysis program and looking at the system.twr file of a failed
>>> build the errors occurred in the following networks (any suggestions on
>>> fixing this one would be interesting):
>>>
>>> ================================================================================
>>>
>>>
>>>  Timing constraint: PERIOD analysis for net
>>>
>>>  "adcdac_tst1_adc_mkid/adcdac_tst1_adc_mkid/dcm_clk" derived from  NET
>>>
>>>  "adcdac_tst1_adc_mkid/adcdac_tst1_adc_mkid/drdy_clk" PERIOD = 3.9062 ns
>>>
>>>  HIGH 50%;  duty cycle corrected to 3.906 nS  HIGH 1.953 nS
>>>
>>>  For more information, see Period Analysis in the Timing Closure User Guide 
>>> (UG612).
>>>
>>>     2253 paths analyzed, 1505 endpoints analyzed, 0 failing endpoints
>>>
>>>   1 timing error detected. (0 setup errors, 0 hold errors, 1 component 
>>> switching limit error)
>>>
>>>   Minimum period is   3.999ns.
>>>
>>>  
>>> --------------------------------------------------------------------------------
>>>
>>>    Component Switching Limit Checks: PERIOD analysis for net 
>>> "adcdac_tst1_adc_mkid/adcdac_tst1_adc_mkid/dcm_clk" derived from
>>>
>>>   NET "adcdac_tst1_adc_mkid/adcdac_tst1_adc_mkid/drdy_clk" PERIOD = 3.9062 
>>> ns        HIGH 50%;
>>>
>>>   duty cycle corrected to 3.906 nS  HIGH 1.953 nS
>>>
>>>    
>>> --------------------------------------------------------------------------------
>>>
>>>  Slack: -0.093ns (period - min period limit)
>>>
>>>    Period: 3.906ns
>>>
>>>    Min period limit: 3.999ns (250.063MHz) (Tbrper_I)
>>>
>>>    Physical resource: adcdac_tst1_dac_mkid/adcdac_tst1_dac_mkid/BUFR_inst/I
>>>
>>>    Logical resource: adcdac_tst1_dac_mkid/adcdac_tst1_dac_mkid/BUFR_inst/I
>>>
>>>    Location pin: BUFR_X0Y11.I
>>>
>>>    Clock network: adc1_clk
>>>
>>>  
>>> --------------------------------------------------------------------------------
>>>
>>>
>>>
>>>  
>>> ================================================================================
>>>  Timing constraint: TS_adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk
>>> =  PERIOD TIMEGRP "adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk"
>>> TS_adcmkid1_DRDY_I_p HIGH 50%;  For more information, see Period
>>> Analysis in the Timing Closure User Guide (UG612).   0 paths analyzed,
>>> 0 endpoints analyzed, 0 failing endpoints  1 timing error detected. (1
>>> component switching limit error)  Minimum period is 3.999ns.
>>> --------------------------------------------------------------------------------
>>>   Component Switching Limit Checks:
>>> TS_adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk = PERIOD TIMEGRP
>>> "adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk"
>>> TS_adcmkid1_DRDY_I_p HIGH 50%;
>>> --------------------------------------------------------------------------------
>>>  Slack: -0.093ns (period - min period limit)  Period: 3.906ns  Min
>>> period limit: 3.999ns (250.063MHz) (Tbrper_I)  Physical resource:
>>> adcdac_tst1_dac_mkid/adcdac_tst1_dac_mkid/BUFR_inst/I  Logical
>>> resource: adcdac_tst1_dac_mkid/adcdac_tst1_dac_mkid/BUFR_inst/I
>>> Location pin: BUFR_X0Y11.I  Clock network: adc1_clk
>>> --------------------------------------------------------------------------------
>>>
>>>
>>>
>>> ================================================================================
>>>  Timing constraint:
>>> TS_adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk_0 =  PERIOD
>>> TIMEGRP "adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk_0"
>>> TS_adcmkid1_DRDY_I_n HIGH 50%;  For more information, see Period
>>> Analysis in the Timing Closure User Guide (UG612).   0 paths analyzed,
>>> 0 endpoints analyzed, 0 failing endpoints  1 timing error detected. (1
>>> component switching limit error)  Minimum period is 3.999ns.
>>> --------------------------------------------------------------------------------
>>>   Component Switching Limit Checks:
>>> TS_adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk_0 = PERIOD TIMEGRP
>>> "adcdac_tst1_adc_mkid_adcdac_tst1_adc_mkid_dcm_clk_0"
>>> TS_adcmkid1_DRDY_I_n HIGH 50%;
>>> --------------------------------------------------------------------------------
>>>  Slack: -0.093ns (period - min period limit)  Period: 3.906ns  Min
>>> period limit: 3.999ns (250.063MHz) (Tbrper_I)  Physical resource:
>>> adcdac_tst1_dac_mkid/adcdac_tst1_dac_mkid/BUFR_inst/I  Logical
>>> resource: adcdac_tst1_dac_mkid/adcdac_tst1_dac_mkid/BUFR_inst/I
>>> Location pin: BUFR_X0Y11.I  Clock network: adc1_clk
>>> --------------------------------------------------------------------------------
>>>
>>>
>>>
>>>
>>>
>>> On Tue, May 5, 2015 at 9:51 PM, NiuChenhui <[email protected]> wrote:
>>>
>>>> Hi,simon,
>>>> I'm meeting the same issue.I failed to compile the mdl which used to be
>>>> compiled successfully.
>>>> In my opinion,The timing error may be a compile EDK problem.So I want
>>>> to Disable the timing error first. I have tried some compilations,I
>>>> put the "XPS% xset enable_par_timing_error 0" when the matlab
>>>> promoting. Well it's a probability event,one of them show successfully
>>>> complied but the left ones still met the timing error.I don't know what
>>>> exact steps should be done if I want to Disable the timing error.
>>>> The former discussion also give some information about this issue in
>>>> casper-mail-list.  Though they did not suggest  Disabling the "Treat
>>>> timing closure failure as error"  , It didn't mention how to analysis
>>>> and settled out this issue.(
>>>> https://www.mail-archive.com/casper%40lists.berkeley.edu/msg03906.html).So
>>>> for two things:
>>>> 1)How to disable the timing error tips if I make sure I want to?
>>>> 2)How to analysis this problem?
>>>> Thanks for any help!
>>>> peter
>>>>
>>>>
>>>>
>>>
>

Reply via email to