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.

What are Synthesis Pragmas and what's their effect?

Status
Not open for further replies.

kunal1514

Full Member level 1
Joined
Dec 13, 2006
Messages
98
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
2,027
Hi All,

Can any body tell me what are Synthesis Pragmas.

and How they effect.

Regard's

Kunal Mishra
 

Re: Synthesis Pragmas

Pragmas or synthesis directives are specially formatted comments. Thye should not contain any extra characters other than what is necessary for the synthesis directive.
There are several types of pragmas supported by various RTL synthesis tool: Synthesis On and Off Directives ( Does code selection for the synthesis tool ), Architecture selection directive (For example adder can be inferred as ripple or carry lookahead ) , Case statement directive ( Full case, parallel case ), Module Template directive , Function and Task Mapping Directives , Set and Reset Synthesis Directives etc.
 
Synthesis Pragmas

yes and they are given as a comment in your verilog code to the synthesis tool
 

Synthesis Pragmas

Hi,
pragma is used to skip unsynthesizable lines in the design. For simulation and debugging u may add some lines into design. so design complier skips the portion between pragma off and on.
 

Re: Synthesis Pragmas

pragma is used to skip unsynthesizable lines in the design

That's only part of it. Like the other posters said, pragmas are "compiler directives." You can use a pragma to turn parsing on/off (//synopsys translate off), that's a common use. But pragmas can also tell the synthesis-tool to choose an algorithm/strategy, like choosing a FCLA adder (instead of CSEL or RPL), or choosing a multiplier architecture, etc.

Simulation tools generally ignore the directives, and that's a problem...because certain pragmas (//synopsys full_case parallel_case) change the behavior of the synthesized-output (compare to the soruce Verilog.)

Systemverilog has a few new language-keywords to help with designer-intent on case/if/else synthesis: priority, unique.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top