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.

Disabling a compiler directive during synthesis

Status
Not open for further replies.

dpaul

Advanced Member level 5
Joined
Jan 16, 2008
Messages
1,799
Helped
317
Reputation
635
Reaction score
342
Trophy points
1,373
Location
Germany
Activity points
13,065
Hi,

I have a design in which there is compiler directive named "BFM".
It is defined in one of the include files as `define BFM and by default is enabled.

The purpose of this `define is to make a connection to a certain module in my top-level test-bench and is meant to be used only during simulation for a certain test. Consequently some of my 'to be synthesized' design also has this BFM directive and there is a corresponding `else part too.

I synthesize my design for FPGA using Synopsys Pro.

Following is my synthesis script.
Code:
set HW_TOP $::env(HW_TOP)

# Open a new Project
project -new

# ------------------------------------------------------------------------
# Set the target technology, part number, package, and speed grade options
# ------------------------------------------------------------------------
set_option -technology SPARTAN6
set_option -part XC6SLX150
set_option -package CSG484
set_option -speed_grade -2
#set_option -disable_io_insertion 1
set_option -synthesis_onoff_pragma 1
set_option -log_file te0630_top_axi.log
set_option -include_path "$HW_TOP/src/fpga/"
set_option -include_path "$HW_TOP/src/includes/"
set_option -write_verilog 1
set_option -write_vhdl 0
#set_option -write_vif 1

hdl_define -clear "BFM"

# -------------------------
# Load all the necessary design files
# -------------------------
#Core files

# Top-level design file

add_file -constraint te0630_top.sdc

impl -add te0630_top_axi -type fpga

# Set top level module
set_option -top_module te0630_top

#set result format/file last
project -result_file "te0630_top_axi.edf"

# Save the existing Project to a file.
project -save "te0630_top_axi.prj"

# Synthesize the existing Project
project -run

Naturally I do not want the part inside `ifdef BFM to be synthesized.

I tried the hdl_define -clear "BFM" Synplify command in my synth script but it doesn't help.
If I completely exclude the statement hdl_define -clear "BFM" from my script then also there is no difference (I did a tkdiff of the synth log files).

Is anybody familiar with other Synopsys Pro commands such that I can explicitely specify not to synthesize anything that comes within BFM directive in my synthesis script?
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top