Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Developing FPGA with Leonardo Spectrum and @ltera MAX II+

Status
Not open for further replies.

ted

Full Member level 3
Joined
Mar 12, 2002
Messages
182
Helped
28
Reputation
56
Reaction score
24
Trophy points
1,298
Activity points
2,875
I am working with a VHDL project where the tools are the free versions of: Leonardo Spectrum (@ltera edition) and MAX II + 10.12, while the chip is ACEX1k50. Design is small enough to fit very easily, but has some tough timing requirements.

Actually the tools are not too bad, at least up to a certain point. But a misery starts when fitting the result. The placement generated by fitter(e) in MAX II+ is horrible. Selecting "optimize for speed" in Leonardo helps very little, the horror is in routing. And that is done by MAX II +, which has two fittere: One old and pretty bad (spreading cells all over like a shotgun), another is using "Quartus technology"--it's a little better but has restrictions in assignements it accepts. And still not smart enough for good, timing optimal placement.

OK, I can use the floor plan editor and manually improve the result -- but then, I have two issues:

1) The compilation by Leonardo renames internal nets in a module very often to some auto-generated ones, so that finding anything in the design is made maximally difficult. How to prevent that grazy renaming of stuff?

2) When I have for instance a critical setup time issue from a certain pin to a certain register, finding which path is the slowest is not easy. At least I have not yet found out how to find that in MAX II +

Have anybody experiences with the package, and could help me with these two issues?

Ted
 

TurboPC

Advanced Member level 4
Joined
Mar 14, 2002
Messages
112
Helped
15
Reputation
30
Reaction score
14
Trophy points
1,298
Activity points
1,154
Hi,

I don't have all the answers, but here some thoughts:

1a) Have you tried to create 'clique' for some module? There is surely an attribute in Leonardo. In MAX+, you can assign a clique to a certain position in the device.

1b) You can also use Quartus and use the "logic lock" function to lock sub-modules at absolute or relative position within the device.

2a) In MAX+, open the "Timing Analyser" window and start the "Registered Performance" analyser. You can list slowest net by cliking 'Show Path". You'll get a list of nets with all the names from your VHDL hiearchy.
 

leonqin

Full Member level 4
Joined
Nov 7, 2001
Messages
238
Helped
5
Reputation
10
Reaction score
3
Trophy points
1,298
Location
China
Activity points
1,763
You can Try the QuartusII2.2 WEB Edition.It is also free and can get from altera web site.
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top