Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics 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.

lec check abort point help

Status
Not open for further replies.

peekpeek

Newbie level 6
Joined
Oct 19, 2004
Messages
11
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
95
lec multiplier

Now I use conformal to check the rtl and gate. The gate is synthesis by dc. But the conformal report some abort point. How to handle these abort points? How to make them equivelent? Can anybody help me!!

Thanks!
 

conformal lec script example

Mostly likely, you have some multiplier in your design, or you have some other resource sharing (like sharing some adders).
If you have lec ultra license, you might have a chance to remove those abort points.
 
lec multiplier check

I don't have the conformal ultra license. SO if I want to clear must I change the rtl? Can you give me some advise?
 

lec multiplier conformal

Could you paste the detail log inforamtion of your LEC?
 

conformal abort

I think as stevepre said is right. I have a adder sharing. When I remove the adder the lec do not have any abort point. Can anybody tell me if I want keep the adder how can I do with the lec. Thanks!
 

Choices:
1. as I said, there are some commands with ultra that can help you analyze datapath and solve some problems, but not guarantee. But since you don't have the license, forget it.

2. wait for new versions.
LEC keeps improve their algorithms and try to catch up with synthesis tool(s).

3. more practical option: separate your logic to be a completely small block with only the sharing of adders. And then, ignore that failing point and make sure everything else in your design passes the LEC. Then tell your boss about this saying "with current technology, there's no way to prove this equivalency". so we will have to trust the synthesis tools for these points and not to compare them.

4. not to share the adders. well....I don't think you want to sacrifice the area for this. So this option is also not practical.
 

Thank you for your advice. stevepre
 

Preparation:
-- Record the abort points and find the corresponding lines of RTL code.
-----------------------------------------------------------------------------------

Tips ...when advanced LEC features NOT available
================================
1) If abort at multiplier, then
- 1.a) observe the gate-level netlist to find out the architecture of multiplier used by the synthesizer. Then provide the information to the LEC.
OR
- 1.b) specify the architecture in the RTL code, then you can predict the architecture of resulted multiplier. And also pass the information to LEC.

2) If abort at case() statement which contains "x", then modify the RTL code.

3) If the case() statement is very large, then try to modify it.

4) If not above case, then try to partition part of the RTL code, i.e. drag some internal signal to the module's output port, then this signal can be preserved.
(note: This may impact the quality of optimization.)
------------------------------------------------------------------------------------------

5) If all of above do not work, then try to verify the abort point by simulation. Prepare a testbench to "exhaustively" check this point and compare the RTL- and gate-level simulation result.
------------------------------------------------------------------------------------------
 

1) If abort at multiplier, then
- 1.a) observe the gate-level netlist to find out the architecture of multiplier used by the synthesizer. Then provide the information to the LEC.
OR
- 1.b) specify the architecture in the RTL code, then you can predict the architecture of resulted multiplier. And also pass the information to LEC.

Could you tell everyone how to pass informaiton to LEC.
Thanks.[/quote]
 

Simple operators and multipliers can be represented as below:
set system mode lec
analyze multiplier -cdp_info // This does not require Ultra license
add compared points -all
compare
This may help you.
 

Pass information & help LEC to recognize datapath components:
-----------------------------------------------------

Example: (multiplier)
SETUP> set implementation multiplier {-auto | -bka | -csa | -nbw | -rca | -wall}

-- Supported multiplier (LEC)
- bka: Brent-Kung adder
- csa: carry-save adder
- nbw: Non-Booth encoded Wallace tree
- rca: ripple-carry adder
- wall: Booth encoded Wallace tree
------------------------------------------------------

Example: (divider)
SETUP> set implementation divider {-bla | -rpl}

-- Supported divider (LEC)
- bla: borrow look-ahead
- csa: carry look-ahead
- rpl: ripple borrow
------------------------------------------------------

For more information, please refer to Conformal LEC's command reference.
 

better check LEC log or in GUI diagnose these abort points. check clock is perculating to these DFF/DLAT
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top