FPGA quiz3, or where Antti did give up and does not know answer or acceptable workaround

debug on top 4 bits, shift register 64 or 28 bits "near ideal" external clock and shift data 4mhz down to 500khz ProAsic3 FPGA

empty FPGA no matter synthesis settings - works correctly full FPGA, 64 bits never worked unless forced global net

28 bits worked one P&R pass, not repeatable

surprising was that pattern 1001 did change to 1011 when the issue was dominant in both cases of 28 and 64 lenghts! ? and it was the same all P&R runs, and always the same 1011 also when the other logic changed a little.

to be honest i did expect that something simple as plain shift register will work properly (no matter what), that is the synthesis and P&R tools make the timings so that there are no violations.

another thing, the actel FPGA is REALLY full, the utilization varied between 81-99% so i was positivly surprised that actel tools never had any issues with the implementation no matter how full the FPGA was. even in runs where only 3 cells was free!

but nothing comes for free - the internal skew on non global net, was a hard hit in terms of wasted time.

as there is no other explanation as net skew, and forcing global buffer fixed the issue i assume that that was it.

the only simulations I did run i did run with xilinx ISIM on the design used as starting point for the actel port, and on the xilinx back-ported version. I was about to try post sims on with actel timings, but as usual modelsim didnt want to start so i did not get that far. actel tools did not give any timing red alerts or anything

Antti

Reply to
Antti
Loading thread data ...

Which technology are you using? Do you read the Actel customer notifications? "FSM Bug - Synplify=AE 8.6.2H in Libero=AE IDE 7.3, 7.3 SP1, and 7.3 SP2" This notification states also that you need to use 8.8A2 instead of

8=2E8A1 for Axcelerator design due to another bug.

bye Thomas

Reply to
Thomas Stanka

PA3 it really looks like was caused by "fabric internal clock skew" i use Xilinx AR and errata and well guess no also need read Actel PCNs etc. so 8.8A1 vs 8.9 didnt make a difference only manuall inserting CLK_INT did.

I did no (too late but still) run post-layour simulations, and so far did not see the problem in those simulations. did not do yet enough sims to say for sure it will not ever show in simulation, just the few P&R runs did not show it.

this single desing that caused the quiz1,2,3 issues is now finally passed all the issues and soon to be verified in full function. and I have some more hard lessons ;)

Antti

Reply to
Antti

Antti,

I've only skimmed this thread, but from what you've said the tools _did_ have a problem with the implrmentation, they just didn't know/report it.

I'd rather have had the tool tell me it couldn't P&R the design than have to spend days debugging the faulty output.

Nial.

Reply to
Nial Stewart

Hi Nial,

well I also would have assumed that if the tools detect internal clock routing skew beyond where the FPGA defenetly will not operate they should report it, and not allow this P&R. Also the post-layout simulation did not show problems. well not with the shift register case. this same thing re-appeared in other part of the logic, where post-layout simulation also did show error.

eh, just a hard-lesson (over 5 days of total struggle): for actel - dont belive even post-layout sim, force all signal that clock any FF to global nets.

actel cell has limitation on connections so i tried to trick to save resources, and falled into a trap

Antti

Reply to
Antti

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.