
CommandLineToolsUser
Guide
(FormerlytheDevelopmentSystemReferenceGuide)
UG628(v13.1)March2,2011

Xilinxisdisclosingthisuserguide,manual,releasenote,and/orspecication(the“Documentation”)toyou
solelyforuseinthedevelopmentofdesignstooperatewithXilinxhardwaredevices.Youmaynotreproduce,
distribute,republish,download,display,post,ortransmittheDocumentationinanyformorbyanymeans
including,butnotlimitedto,electronic,mechanical,photocopying,recording,orotherwise,withouttheprior
writtenconsentofXilinx.XilinxexpresslydisclaimsanyliabilityarisingoutofyouruseoftheDocumentation.
Xilinxreservestheright,atitssolediscretion,tochangetheDocumentationwithoutnoticeatanytime.Xilinx
assumesnoobligationtocorrectanyerrorscontainedintheDocumentation,ortoadviseyouofanycorrections
orupdates.Xilinxexpresslydisclaimsanyliabilityinconnectionwithtechnicalsupportorassistancethatmaybe
providedtoyouinconnectionwiththeInformation.
THEDOCUMENTATIONISDISCLOSEDTOYOU“ AS-IS”WITHNOWARRANTYOFANYKIND.XILINX
MAKESNOOTHERWARRANTIES,WHETHEREXPRESS,IMPLIED,ORSTATUTORY,REGARDING
THEDOCUMENTA TION,INCLUDINGANYW ARRANTIESOFMERCHANTABILITY,FITNESSFORA
PARTICULARPURPOSE,ORNONINFRINGEMENTOFTHIRD-PARTYRIGHTS.INNOEVENTWILL
XILINXBELIABLEFORANYCONSEQUENTIAL,INDIRECT,EXEMPLARY ,SPECIAL,ORINCIDENTAL
DAMAGES,INCLUDINGANYLOSSOFDATAORLOSTPROFITS,ARISINGFROMYOURUSEOFTHE
DOCUMENTA TION.
©Copyright2002-2011XilinxInc.AllRightsReserved.XILINX,theXilinxlogo,theBrandWindowandother
designatedbrandsincludedhereinaretrademarksofXilinx,Inc.Allothertrademarksarethepropertyoftheir
respectiveowners.ThePowerPCnameandlogoareregisteredtrademarksofIBMCorp.,andusedunderlicense.
Allothertrademarksarethepropertyoftheirrespectiveowners.
RevisionHistory
Thefollowingtableshowstherevisionhistoryforthisdocument.
Date
03/01/2011
03/02/2011
Version
13.1downloadAddinginformationforXilinx®7seriesFPGAdevices.
13.1WebreleaseAdditionalupdatesforXilinx7seriesFPGAdevices.
2w
w w . x i l i n x . c o m UG628(v13.1)March2,2011
CommandLineToolsUserGuide

TableofContents
RevisionHistory....................................................................................................2
Chapter1Introduction.................................................................................................9
CommandLineProgramOverview......................................................................9
CommandLineSyntax.........................................................................................10
CommandLineOptions......................................................................................10
InvokingCommandLinePrograms....................................................................14
Chapter2DesignFlow...............................................................................................15
DesignFlowOverview........................................................................................15
DesignEntryandSynthesis................................................................................18
DesignImplementation.......................................................................................22
DesignVerication...............................................................................................25
FPGADesignTips...............................................................................................31
Chapter3PARTGen...................................................................................................33
PARTGenOverview.............................................................................................33
PARTGenSyntax..................................................................................................39
PARTGenCommandLineOptions.....................................................................39
Chapter4NetGen.......................................................................................................43
NetGenOverview................................................................................................43
NetGenSimulationFlow.....................................................................................45
NetGenEquivalenceCheckingFlow..................................................................55
NetGenStaticTimingAnalysisFlow.................................................................59
PreservingandWritingHierarchyFiles.............................................................63
DedicatedGlobalSignalsinBack-AnnotationSimulation..............................65
Chapter5LogicalDesignRuleCheck(DRC)...........................................................67
LogicalDRCOverview........................................................................................67
LogicalDRCChecks............................................................................................67
Chapter6NGDBuild...................................................................................................71
NGDBuildOverview...........................................................................................71
NGDBuildSyntax................................................................................................74
NGDBuildOptions..............................................................................................75
Chapter7MAP............................................................................................................81
MAPOverview.....................................................................................................81
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 3

MAPProcess.........................................................................................................83
MAPSyntax..........................................................................................................84
MAPOptions........................................................................................................86
ResynthesisandPhysicalSynthesisOptimizations..........................................97
GuidedMapping..................................................................................................98
SimulatingMapResults......................................................................................99
MAPReport(MRP)File.....................................................................................100
PhysicalSynthesisReport(PSR)File................................................................105
HaltingMAP......................................................................................................107
Chapter8PhysicalDesignRuleCheck..................................................................109
DRCOverview...................................................................................................109
DRCSyntax........................................................................................................110
DRCOptions......................................................................................................110
DRCChecks.......................................................................................................111
DRCErrorsandWarnings.................................................................................111
Chapter9PlaceandRoute(PAR)...........................................................................113
PAROverview....................................................................................................113
PARProcess........................................................................................................115
PARSyntax.........................................................................................................116
DetailedListingofOptions...............................................................................117
PARReports.......................................................................................................123
ReportGen..........................................................................................................132
HaltingPAR........................................................................................................134
Chapter10SmartXplorer.........................................................................................135
What’sNew.........................................................................................................135
SmartXplorerOverview.....................................................................................136
UsingSmartXplorer...........................................................................................137
SelectingtheBestStrategy................................................................................143
RunningMultipleStrategiesinParallel...........................................................144
CustomStrategies..............................................................................................146
SmartXplorerCommandLineReference..........................................................148
SmartXplorerReports........................................................................................158
SettingUpSmartXplorertoRunonSSH.........................................................161
Chapter11XPWR(XPWR).......................................................................................163
XPWROverview................................................................................................163
XPWRSyntax......................................................................................................164
4w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

XPWRCommandLineOptions........................................................................165
XPWRCommandLineExamples......................................................................167
UsingXPWR.......................................................................................................167
PowerReports....................................................................................................169
Chapter12PIN2UCF................................................................................................171
PIN2UCFOverview...........................................................................................171
PIN2UCFSyntax................................................................................................174
PIN2UCFCommandLineOptions...................................................................175
Chapter13TRACE....................................................................................................177
TRACEOverview...............................................................................................177
TRACESyntax....................................................................................................178
TRACEOptions.................................................................................................179
TRACECommandLineExamples....................................................................183
TRACEReports..................................................................................................184
OFFSETConstraints...........................................................................................200
PERIODConstraints..........................................................................................207
HaltingTRACE..................................................................................................211
Chapter14Speedprint.............................................................................................213
SpeedprintOverview.........................................................................................213
SpeedprintCommandLineSyntax...................................................................217
SpeedprintCommandLineOptions.................................................................217
Chapter15BitGen....................................................................................................219
BitGenOverview...............................................................................................219
BitGenCommandLineSyntax..........................................................................221
BitGenCommandLineOptions.......................................................................222
Chapter16BSDLAnno.............................................................................................245
BSDLAnnoOverview........................................................................................245
BSDLAnnoCommandLineSyntax..................................................................246
BSDLAnnoCommandLineOptions................................................................246
BSDLAnnoFileComposition...........................................................................247
BoundaryScanBehaviorinXilinxDevices......................................................253
Chapter17PROMGen..............................................................................................255
PROMGenOverview.........................................................................................255
PROMGenSyntax..............................................................................................256
PROMGenOptions............................................................................................257
BitSwappinginPROMFiles............................................................................263
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 5

PROMGenExamples.........................................................................................264
Chapter18IBISWriter..............................................................................................265
IBISWriterOverview.........................................................................................265
IBISWriterSyntax..............................................................................................266
IBISWriterOptions............................................................................................267
Chapter19CPLDFit..................................................................................................269
CPLDFitOverview.............................................................................................269
CPLDFitSyntax..................................................................................................270
CPLDFitOptions................................................................................................271
Chapter20TSIM.......................................................................................................279
TSIMOverview..................................................................................................279
TSIMSyntax.......................................................................................................279
Chapter21TAEngine...............................................................................................281
TAEngineOverview...........................................................................................281
TAEngineSyntax................................................................................................282
TAEngineOptions..............................................................................................282
Chapter22Hprep6...................................................................................................283
Hprep6Overview...............................................................................................283
Hprep6Options..................................................................................................284
Chapter23XFLOW...................................................................................................287
XFLOWOverview..............................................................................................287
XFLOWSyntax...................................................................................................292
XFLOWFlowTypes...........................................................................................292
FlowFiles............................................................................................................297
XFLOWOptionFiles..........................................................................................300
XFLOWOptions.................................................................................................301
RunningXFLOW................................................................................................305
Chapter24NGCBuild...............................................................................................307
NGCBuildOverview.........................................................................................307
NGCBuildSyntax..............................................................................................308
NGCBuildOptions............................................................................................309
Chapter25Compxlib...............................................................................................315
CompxlibOverview...........................................................................................315
CompxlibSyntax................................................................................................316
CompxlibOptions..............................................................................................317
6w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

CompxlibCommandLineExamples................................................................322
SpecifyingRuntimeOptions.............................................................................323
SampleCongurationFile(WindowsV ersion)...............................................326
Chapter26XWebTalk...............................................................................................331
WebTalkOverview.............................................................................................331
XWebTalkSyntax...............................................................................................332
XWebTalkOptions.............................................................................................332
Chapter27TclReference........................................................................................335
TclOverview.......................................................................................................335
TclFundamentals...............................................................................................336
ProjectandProcessProperties...........................................................................338
XilinxTclCommandsforGeneralUse.............................................................356
XilinxTclCommandsforAdvancedScripting.................................................373
ExampleTclScripts............................................................................................388
AppendixAISEDesignSuiteFiles.........................................................................393
AppendixBEDIF2NGDandNGDBuild...................................................................397
EDIF2NGDOverview........................................................................................397
EDIF2NGDOptions...........................................................................................399
NGDBuild..........................................................................................................401
AppendixCAdditionalResources..........................................................................411
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 7

8w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Introduction
ThischapterdescribesthecommandlineprogramsfortheISE®DesignSuite.This
guidewasformerlyknownastheDevelopmentSystemReferenceGuide,buthasbeen
renamedtoCommandLineToolsUserGuide.
CommandLineProgramOverview
Xilinx®softwarecommandlineprogramsallowyoutoimplementandverifyyour
design.Thefollowingtableliststheprogramsyoucanuseforeachstepinthedesign
ow.Fordetailedinformation,seetheDesignFlowchapter.
CommandLineProgramsintheDesignFlow
Chapter1
DesignFlowStepCommandLineProgram
DesignImplementationNGDBuild,MAP ,PAR,SmartXplorer,BitGen
Timing-drivenPlacementandRouting,
Re-synthesis,&PhysicalSynthesis
Optimizations
TimingSimulationandBackAnnotation
(DesignVerication)
StaticTimingAnalysis
(DesignVerication)
Youcanruntheseprogramsinthestandarddesignoworusespecialoptionstorunthe
programsfordesignpreservation.Eachcommandlineprogramhasmultipleoptions,
whichallowyoutocontrolhowaprogramexecutes.Forexample,youcansetoptionsto
changeoutputlenames,tosetapartnumberforyourdesign,ortospecifylestoread
inwhenexecutingtheprogram.Youcanalsouseoptionstocreateguidelesandrun
guidemodetomaintaintheperformanceofapreviouslyimplementeddesign.
Someofthecommandlineprogramsdescribedinthisguideunderliemanyofthe
XilinxGraphicalUserInterfaces(GUIs).TheGUIscanbeusedwiththecommand
lineprogramsoralone.ForinformationontheGUIs,seetheonlineHelpprovided
witheachXilinxtool.
MAP
NoteMAPusesspeciedoptionstoenable
timing-drivenplacementandrouting
(-timing),andre-synthesisandphysical
synthesisoptimizationsthatcantransforma
designtomeettimingrequirements.
NetGen
TRACE
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 9

Chapter1:Introduction
CommandLineSyntax
Commandlinesyntaxalwaysbeginswiththecommandlineprogramname.The
programnameisfollowedbyanyoptionsandthenbylenames.Usethefollowing
ruleswhenspecifyingcommandlineoptions:
•Enteroptionsinanyorder,precededthemwithadash(minussignonthekeyboard)
andseparatethemwithspaces.
•Beconsistentwithuppercaseandlowercase.
•Whenanoptionrequiresaparameter,separatetheparameterfromtheoptionby
spacesortabs.Forexample,thefollowingshowsthecommandlinesyntaxfor
runningPARwiththeeffortlevelsettohigh:
–Correct:par-olhigh
–Incorrect:par-olhigh
•Whenusingoptionsthatcanbespeciedmultipletimes,precedeeachparameter
withtheoptionletter.Inthisexample,the-loptionshowsthelistoflibrariesto
search:
–Correct:-lxilinxun-lsynopsys
–Incorrect:-lxilinxunsynopsys
•Enterparametersthatareboundtoanoptionaftertheoption.
–Correct:-fcommand_file
–Incorrect:command_file-f
CommandLineOptions
-f(ExecuteCommandsFile)
Usethefollowingruleswhenspecifyinglenames:
•Enterlenamesintheorderspeciedinthechapterthatdescribesthecommand
lineprogram.Inthisexamplethecorrectorderisprogram,inputle,outputle,
andthenphysicalconstraintsle.
–Correct:parinput.ncdoutput.ncdfreq.pcf
–Incorrect:parinput.ncdfreq.pcfoutput.ncd
•Uselowercaseforallleextensions(forexample,.ncd).
Thefollowingoptionsarecommontomanyofthecommandlineprogramsprovided
withtheISE®DesignSuite.
•-f(ExecuteCommandsFile)
•-h(Help)
•-intstyle(IntegrationStyle)
•-p(PartNumber)
WithanyXilinx®commandlineprogramforusewithFPGAdesigns,youcanstore
commandlineprogramoptionsandlenamesinacommandle.Youcanthenexecute
theargumentsbyenteringtheprogramnamewiththe-foptionfollowedbythename
ofthecommandle.Thisisusefulifyoufrequentlyexecutethesameargumentseach
timeyouexecuteaprogramorifthecommandlinecommandbecomestoolong.
Syntax
-fcommand_file
10w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter1:Introduction
Youcanusetheleinthefollowingways:
•Tosupplyallofthecommandoptionsandlenamesfortheprogram,asinthe
followingexample:
par-fcommand_le
command_leisthenameofthelethatcontainsthecommandoptionsandle
names.
•Toinsertcertaincommandoptionsandlenameswithinthecommandline,asin
thefollowingexample:
par-fplaceoptions-frouteoptionsdesign_i.ncddesign_o.ncd
–placeoptionsisthenameofalecontainingplacementcommandparameters.
–routeoptionsisthenameofalecontainingroutingcommandparameters.
YoucreatethecommandleinASCIIformat.Usethefollowingruleswhencreating
thecommandle:
•Separateprogramoptionsandlenameswithspaces.
•Precedecommentswiththepoundsign(#).
•PutnewlinesortabsanywherewhitespaceisallowedontheLinuxorDOS
commandline.
•Putallargumentsonthesameline,oneargumentperline,oracombinationofthese.
•Allcarriagereturnsandothernon-printablecharactersaretreatedasspacesand
ignored.
•Nolinelengthlimitationexistswithinthele.
Example
Followingisanexampleofacommandle:
#commandlineoptionsforparfordesignmine.ncd
-w
0l5
/home/yourname/designs/xilinx/mine.ncd
#directoryforoutputdesigns
/home/yourname/designs/xilinx/output.dir
#usetimingconstraintsfile
/home/yourname/designs/xilinx/mine.pcf
-h(Help)
Whenyouentertheprogramnamefollowedbythisoption,youwillgetamessage
listingalloptionsfortheprogramandtheirparameters,aswellastheletypesusedby
theprogram.Themessagealsoexplainseachoftheoptions.
Syntax
-h
-help
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 11

Chapter1:Introduction
SymbolDescription
[]
{}
italicsIndicatesavariablenameornumberforwhich
,
-
:
|
()
Enclosesitemsthatareoptional.
Enclosesitemsthatmayberepeated.
youmustsubstituteinformation.
Showsarangeforanintegervariable.
Showsthestartofanoptionname.
Bindsavariablenametoarange.
LogicalORtoshowachoiceofoneoutof
manyitems.TheORoperatormayonly
separatelogicalgroupsorliteralkeywords.
Enclosesalogicalgroupingforachoice
betweensub-formats.
Example
Followingareexamplesofsyntaxusedforlenames:
•inle[.ncd]showsthattypingthe.ncdextensionisoptionalbutthattheextension
mustbe.ncd.
•inle.ednshowsthatthe.ednextensionisoptionalandisappendedonlyifthere
isnootherextensioninthelename.
Forarchitecture-specicprograms,suchasBitGen,youcanenterthefollowingtogeta
verbosehelpmessageforthespeciedarchitecture:
program_name-harchitecture_name
Youcanredirectthehelpmessagetoaletoreadlaterortoprintoutbyenteringthe
following:
program_name-h>lename
OntheLinuxcommandline,enterthefollowingtoredirectthehelpmessagetoale
andreturntothecommandprompt.
program_name-h>&lename
-intstyle(IntegrationStyle)
Thisoptionlimitsscreenoutput,basedontheintegrationstylethatyouarerunning,to
warninganderrormessagesonly.
Syntax
-intstyleise|xflow|silent
Whenusing-intstyle,oneofthreemodesmustbespecied:
•-intstyleiseindicatestheprogramisbeingrunaspartofanintegrateddesign
environment.
•-intstylexflowindicatestheprogramisbeingrunaspartofanintegrated
batchow.
•-intstylesilentlimitsscreenoutputtowarninganderrormessagesonly.
Note-intstyleisautomaticallyinvokedwhenrunninginanintegratedenvironment
suchasProjectNavigatororXFLOW.
12w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter1:Introduction
-p(PartNumber)
Thisoptionspeciesthepartintowhichyourdesignisimplemented.
Syntax
-ppart_number
Thisoptioncanspecifyanarchitectureonly,acompletepartspecication(device,
package,andspeed),orapartialspecication(forexample,deviceandpackageonly).
Thepartnumberordevicenamemustbefromadevicelibraryyouhaveinstalledon
yoursystem.
AcompleteXilinx®partnumberconsistsofthefollowingelements:
•Architecture(forexample,spartan3e)
•Device(forexample,xc3s100e)
•Package(forexample,vq100)
•Speed(forexample,-4)
NoteTheSpeedprintprogramlistsblockdelaysfordevicespeedgrades.The-soption
letsyouspecifyaspeedgrade.Ifyoudonotspecifyaspeedgrade,Speedprintreports
thedefaultspeedgradeforthedeviceyouaretargeting.
SpecifyingPartNumbers
Youcanspecifyapartnumberatvariouspointsinthedesignow,notallofwhich
requirethe-poption.
•Intheinputnetlist(doesnotrequirethe-poption)
•InaNetlistConstraintsFile(NCF)(doesnotrequirethe-poption)
•Withthe-poptionwhenyourunanetlistreader(EDIF2NGD)
•IntheUserConstraintsFile(UCF)(doesnotrequirethe-poption)
•Withthe-poptionwhenyourunNGDBuild
BythetimeyourunNGDBuild,youmusthavealreadyspeciedadevice
architecture.
•Withthe-poptionwhenyourunMAP
WhenyourunMAPyoumustspecifyanarchitecture,device,andpackage,either
ontheMAPcommandlineorearlierinthedesignow.Ifyoudonotspecifya
speed,MAPselectsadefaultspeed.YoucanonlyrunMAPusingapartnumber
fromthearchitectureyouspeciedwhenyouranNGCBuild.
•Withthe-poptionwhenyourunSmartXplorer(FPGAdesignsonly)
•Withthe-poptionwhenyourunCPLDFit(CPLDdesignsonly)
NotePartnumbersspeciedinalaterstepofthedesignowoverrideapartnumber
speciedinanearlierstep.Forexample,apartspeciedwhenyourunMAPoverridesa
partspeciedintheinputnetlist.
Examples
Thefollowingexamplesshowhowtospecifypartsonthecommandline.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 13

Chapter1:Introduction
SpecificationExamples
Architectureonly
Deviceonlyxc4vfx12
DevicePackagexc4fx12sf363
Device-Packagexc4vfx12-sf363
DeviceSpeed-Packagexc4vfx1210-sf363
DevicePackage-Speedxc4fx12sf363-10
Device-Speed-Packagexc4vfx12-10-sf363
Device-SpeedPackagexc4vfx12-10sf363
virtex4
virtex5
spartan3
spartan3a
xc9500
xpla3(CoolRunner™XPLA3devices)
xc3s100e
xc3s100evq100
xc3s100e-vq100
xc3s100e4-vq100
xc3s100evq100-4
xc3s100e-4-vq100
xc3s100e-4vq100
InvokingCommandLinePrograms
YoustartXilinx®commandlineprogramsbyenteringacommandattheLinuxorDOS
commandline.Seetheprogram-specicchaptersinthisbookfortheappropriatesyntax
XilinxalsoofferstheXFLOWprogram,whichletsyouautomatetherunningofseveral
programsatonetime.SeetheXFLOWchapterformoreinformation.
14w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

DesignFlow
Thischapterdescribestheprocessforcreating,implementing,verifying,and
downloadingdesignsforXilinx®FPGAandCPLDdevices.Foracomplete
descriptionofXilinxFPGAandCPLDsdevices,refertotheXilinxDataSheetsat:
t t p : / / w w w . x i l i n x . c o m / s u p p o r t / d o c u m e n t a t i o n / i n d e x . h t m
h
DesignFlowOverview
Thestandarddesignowcomprisesthefollowingsteps:
1.DesignEntryandSynthesis-CreateyourdesignusingaXilinx®-supported
schematiceditor,aHardwareDescriptionLanguage(HDL)fortext-basedentry ,or
both.IfyouuseanHDLfortext-basedentry ,youmustsynthesizetheHDLleinto
anEDIFleor,ifyouareusingtheXilinxSynthesisTechnology(XST)GUI,you
mustsynthesizetheHDLleintoanNGCle.
2.DesignImplementation-Convertthelogicaldesignleformat,suchasEDIF ,that
youcreatedinthedesignentryandsynthesisstageintoaphysicalleformatby
implementingtoaspecicXilinxarchitecture.Thephysicalinformationiscontained
intheNativeCircuitDescription(NCD)leforFPGAsandtheVM6leforCPLDs.
ThencreateabitstreamlefromtheselesandoptionallyprogramaPROMor
EPROMforsubsequentprogrammingofyourXilinxdevice.
3.DesignV erication-Usingagate-levelsimulatororcable,ensurethatyourdesign
meetstimingrequirementsandfunctionsproperly .SeetheiMPACTonlinehelpfor
informationaboutXilinxdownloadcablesanddemonstrationboards.
Chapter2
Thefulldesignowisaniterativeprocessofentering,implementing,andverifying
yourdesignuntilitiscorrectandcomplete.Thecommandlinetoolsprovidedwiththe
ISE®DesignSuiteallowquickdesigniterationsthroughthedesignowcycle.Xilinx
devicespermitunlimitedreprogramming.Youdonotneedtodiscarddeviceswhen
debuggingyourdesignincircuit.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 15

Chapter2:DesignFlow
XilinxDesignFlow
ThisgureshowsthestandardXilinxdesignow.
16w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

XilinxSoftwareDesignFlow(FPGAs)
ThisgureshowstheXilinxsoftwareowchartforFPGAdesigns.
Chapter2:DesignFlow
XilinxSoftwareDesignFlow(CPLDs)
ThisgureshowstheXilinxsoftwareowchartforCPLDdesigns.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 17

Chapter2:DesignFlow
DesignEntryandSynthesis
Youcanenteradesignwithaschematiceditororatext-basedtool.Designentrybegins
withadesignconcept,expressedasadrawingorfunctionaldescription.Fromthe
originaldesign,anetlistiscreated,thensynthesizedandtranslatedintoanativegeneric
object(NGO)le.ThisleisfedintotheXilinx®softwareprogramcalledNGDBuild,
whichproducesalogicalNativeGenericDatabase(NGD)le.
Thefollowinggureshowsthedesignentryandsynthesisprocess.
DesignEntryFlow
HierarchicalDesign
DesignhierarchyisimportantinbothschematicandHDLentryforthefollowing
reasons:
•Helpsyouconceptualizeyourdesign
•Addsstructuretoyourdesign
•Promoteseasierdesigndebugging
•Makesiteasiertocombinedifferentdesignentrymethods(schematic,HDL,orstate
editor)fordifferentpartsofyourdesign
•Makesiteasiertodesignincrementally ,whichconsistsofdesigning,implementing,
andverifyingindividualpartsofadesigninstages
•Reducesoptimizationtime
•Facilitatesconcurrentdesign,whichistheprocessofdividingadesignamonga
numberofpeoplewhodevelopdifferentpartsofthedesigninparallel.
Inhierarchicaldesigning,aspecichierarchicalnameidentieseachlibraryelement,
uniqueblock,andinstanceyoucreate.Thefollowingexampleshowsahierarchical
namewitha2-inputORgateintherstinstanceofamultiplexerina4-bitcounter:
/Acc/alu_1/mult_4/8count_3/4bit_0/mux_1/or2
Xilinx®stronglyrecommendsthatyounamethecomponentsandnetsinyourdesign.
ThesenamesarepreservedandusedbyFPGAEditor.Thesenamesarealsousedfor
back-annotationandappearinthedebugandanalysistools.Ifyoudonotnameyour
componentsandnets,theSchematicEditorautomaticallygeneratesthenames.For
example,ifleftunnamed,thesoftwaremightnamethepreviousexample,asfollows:
/$1a123/$1b942/$1c23/$1d235/$1e121/$1g123/$1h57
NoteItisdifculttoanalyzecircuitswithautomaticallygeneratednames,becausethe
namesonlyhavemeaningforXilinxsoftware.
18w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter2:DesignFlow
Partitions
Inhierarchicaldesignows,suchasDesignPreservationandPartialReconguration,
partitionsareusedtodenehierarchicalboundariessothatacomplexdesigncanbe
brokenupintosmallerblocks.Partitionscreateaboundaryorinsulationaroundthe
hierarchicalmodule,whichisolatesthemodulefromotherpartsofthedesign.A
partitionthathasbeenimplementedandexportedcanbere-insertedintothedesign
usingasimplecut-and-pastetypefunction,whichpreservestheplacementandrouting
resultsfortheisolatedmodule.Allofthepartitiondenitionsandcontrolsaredoneina
lecalledxpartition.pxml.Formoreinformationonusinghierarchicaldesignows
andimplementingpartitions,seetheHierarchicalDesignMethodologyGuide(UG748).
PXMLFile
Partitiondenitionsarecontainedinthexpartition.pxmlle.ThePXMLlename
iscase-sensitive,andmustbenamedxpartition.pxml.Thetoplevelmodule
ofthedesignmustbedenedasapartitioninadditiontoanyoptionallowerlevel
partitions.ThePXMLlecanbecreatedbyhand,fromscripts,orfromatoolsuchas
thePlanAhead™software.ThePXMLwillbepickedupautomaticallybytheISE®
DesignSuiteimplementationtoolswhenlocatedinthecurrentworkingdirectory.
Formoreinformationaboutusingthexpartition.pxmlle,seetheHierarchical
DesignMethodologyGuide(UG748).Anexamplexpartition.pxmlleisavailable
at%XILINX%/PlanAhead/testcases/templates(where%XILINX%isyour
installationdirectory)ifyouwishtocreateaPXMLlebyhand.
NoteAllpathsinthePXMLlemustbeabsolutepaths.
<?xmlversion="1.0"encoding="UTF-8"?>
<ProjectFileVersion="1.2"Name="Example"ProjectVersion="2.0">
<PartitionName="/top"State="implement"ImportLocation="NONE">
<PartitionName="/top/module_A"State="import"ImportLocation="/home/user/Example/import"Preserve="routing">
</Partition>
<PartitionName="/top/module_B"State="import"ImportLocation="/home/user/Example/import"Preserve="routing">
</Partition>
<PartitionName="/top/module_C"State="implement"ImportLocation="/home/user/Example/import"Preserve="placement">
</Partition>
</Partition>
</Project>
PXMLattributesforProjectdefinition
Attributename
FileVersion
Name
ProjectVersion2.0
Value
1.2
Project_Name
Description
Usedforinternalpurposes.Donotchangethis
value.
Project_Nameisuserdened.
Usedforinternalpurposes.Donotchangethis
value.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 19

Chapter2:DesignFlow
PXMLattributesforPartitiondefinition
Attributename
Name
State
ImportLocation
ImportTag
Preserve
BoundaryOpt
Value
Partition_Name
“implement”Partitionisimplementedfromscratch.
“import”
pathIgnoredifStatedoesnotequal“import.”
Partition_Name
“routing”
“placement”Placementispreservedbutroutingcanbe
“synthesis”Placementandroutingcanbemodied.
“inherit”Inheritvaluefromtheparentpartition.Thisis
“all”Enablestheimplementationtoolstodo
“none”
Description
Hierarchicalinstancenameofmoduleinwhich
thepartitionshouldbeapplied.
Partitionisimportedandpreservedaccording
tothelevelsetbyPreserve.
Thepathcanberelativeorabsolute,butthe
locationspeciedmustcontainavalid"export"
directorywhenState=import.“NONE”isa
predenedkeywordfornoimportdirectory .
Allowsapartitiontobeimportedintoa
differentlevelofhierarchythanitwasinitially
implementedin.Setthevaluetothehierarchical
instancenameofthepartitionwhereitwas
implemented.
100%placementandroutingispreserved.This
isthedefaultforthetoplevelPartition.
modied.
thedefaultforallpartitionsexceptthetoplevel
partition.
optimizationonpartitionportsconnectedto
constraintsaswellasunusedpartitionports.
Normalpartitionoptimizationrulesapply .
Optimizationisallowedonlywithinpartition
boundaries.Thisisthedefaultvalue.
SchematicEntryOverview
Schematictoolsprovideagraphicinterfacefordesignentry.Youcanusethesetoolsto
connectsymbolsrepresentingthelogiccomponentsinyourdesign.Youcanbuildyour
designwithindividualgates,oryoucancombinegatestocreatefunctionalblocks.
Thissectionfocusesonwaystoenterfunctionalblocksusinglibraryelementsandthe
COREGenerator™tool.
LibraryElements
Primitivesandmacrosarethe“buildingblocks”ofcomponentlibraries.Xilinx®
librariesprovideprimitives,aswellascommonhigh-levelmacrofunctions.Primitives
arebasiccircuitelements,suchasANDandORgates.Eachprimitivehasaunique
libraryname,symbol,anddescription.Macroscontainmultiplelibraryelements,which
canincludeprimitivesandothermacros.
YoucanusethefollowingtypesofmacroswithXilinxFPGAs:
•Softmacroshavepre-denedfunctionalitybuthaveexiblemapping,placement,
androuting.SoftmacrosareavailableforallFPGAs.
•Relationallyplacedmacros(RPMs)havexedmappingandrelativeplacement.
RPMsareavailableforalldevicefamilies,excepttheXC9500family .
20w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

HDLEntryandSynthesis
Macrosarenotavailableforsynthesisbecausesynthesistoolshavetheirownmodule
generatorsanddonotrequireRPMs.Ifyouwishtooverridethemodulegeneration,you
caninstantiatemodulescreatedusingCOREGenerator.Formostleading-edgesynthesis
tools,thisdoesnotofferanadvantageunlessitisforamodulethatcannotbeinferred.
COREGeneratorTool(FPGAsOnly)
TheXilinxCOREGeneratortooldeliversparameterizablecoresthatareoptimized
forXilinxFPGAs.Thelibraryincludescoresrangingfromsimpledelayelementsto
complexDSP(DigitalSignalProcessing)ltersandmultiplexers.Fordetails,refertothe
COREGeneratorHelp(partofISEHelp).Y oucanalsorefertotheXilinxIP(Intellectual
Property)CenterWebsiteath
solutions.Thesesolutionsincludedesignreusetools,freereferencedesigns,Digital
SignalProcessing(DSP),PCI™solutions,IPimplementationtools,cores,specialized
systemlevelservices,andverticalapplicationIPsolutions.
AtypicalHardwareDescriptionLanguage(HDL)supportsamixed-leveldescriptionin
whichgateandnetlistconstructsareusedwithfunctionaldescriptions.Thismixed-level
capabilityletsyoudescribesystemarchitecturesatahighlevelofabstractionandthen
incrementallyrenethedetailedgate-levelimplementationofadesign.
t t p : / / w w w . x i l i n x . c o m / i p c e n t e r ,whichoffersthelatestIP
Chapter2:DesignFlow
FunctionalSimulation
HDLdescriptionsofferthefollowingadvantages:
•Youcanverifydesignfunctionalityearlyinthedesignprocess.Adesignwrittenas
anHDLdescriptioncanbesimulatedimmediately .Designsimulationatthishigh
level,atthegate-levelbeforeimplementation,allowsyoutoevaluatearchitectural
anddesigndecisions.
•AnHDLdescriptionismoreeasilyreadandunderstoodthananetlistorschematic
description.HDLdescriptionsprovidetechnology-independentdocumentation
ofadesignanditsfunctionality.BecausetheinitialHDLdesigndescriptionis
technologyindependent,youcanuseitagaintogeneratethedesigninadifferent
technology,withouthavingtotranslateitfromtheoriginaltechnology .
•LargedesignsareeasiertohandlewithHDLtoolsthanschematictools.
AfteryoucreateyourHDLdesign,youmustsynthesizeit.Duringsynthesis,behavioral
informationintheHDLleistranslatedintoastructuralnetlist,andthedesignis
optimizedforaXilinx®device.XilinxsupportsHDLsynthesistoolsforseveral
third-partysynthesisvendors.Inaddition,Xilinxoffersitsownsynthesistool,Xilinx
SynthesisTechnology(XST).Formoreinformation,seetheXSTUserGuideforVirtex-4,
Virtex-5,Spartan-3,andNewerCPLDDevices(UG627)ortheXSTUserGuideforVirtex-6,
Spartan-6,and7SeriesDevices(UG687).Fordetailedinformationonsynthesis,seethe
SynthesisandSimulationDesignGuide(UG626).
Afteryoucreateyourdesign,youcansimulateit.Functionalsimulationteststhe
logicinyourdesigntodetermineifitworksproperly .Youcansavetimeduring
subsequentdesignstepsifyouperformfunctionalsimulationearlyinthedesignow.
SeeSimulationformoreinformation.
Constraints
Youmaywanttoconstrainyourdesignwithincertaintimingorplacementparameters.
Youcanspecifymapping,blockplacement,andtimingspecications.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 21

Chapter2:DesignFlow
MappingConstraints(FPGAsOnly)
BlockPlacement
YoucanenterconstraintsmanuallyorusetheConstraintsEditororFPGAEditor,which
aregraphicaluserinterface(GUI)toolsprovidedbyXilinx®.YoucanusetheTiming
AnalyzerGUIorTRACEcommandlineprogramtoevaluatethecircuitagainstthese
constraintsbygeneratingastatictiminganalysisofyourdesign.SeetheTRACEchapter
andtheonlineHelpprovidedwiththeISE®DesignSuiteformoreinformation.For
moreinformationonconstraints,seetheConstraintsGuide(UG625).
YoucanspecifyhowablockoflogicismappedintoCLBsusinganFMAPforall
Spartan®andVirtex®FPGAarchitectures.Thesemappingsymbolscanbeusedin
yourschematic.However,ifyouoverusethesespecications,itmaybedifcultto
routeyourdesign.
Blockplacementcanbeconstrainedtoaspeciclocation,tooneofmultiplelocations,or
toalocationrange.Locationscanbespeciedintheschematic,withsynthesistools,
orintheUserConstraintsFile(UCF).Poorblockplacementcanadverselyaffectboth
theplacementandtheroutingofadesign.OnlyI/Oblocksrequireplacementtomeet
externalpinrequirements.
TimingSpecifications
Youcanspecifytimingrequirementsforpathsinyourdesign.PARusesthesetiming
specicationstoachieveoptimumperformancewhenplacingandroutingyourdesign.
NetlistTranslationPrograms
NetlisttranslationprogramsletyoureadnetlistsintotheXilinx®softwaretools.
EDIF2NGDletsyoureadanElectronicDataInterchangeFormat(EDIF)200le.The
NGDBuildprogramautomaticallyinvokestheseprogramsasneededtoconvertyour
EDIFletoanNGDle,therequiredformatfortheXilinxsoftwaretools.NGCles
outputfromtheXilinxXSTsynthesistoolarereadinbyNGDBuilddirectly .
YoucannddetaileddescriptionsoftheEDIF2NGD,andNGDBuildprogramsinthe
NGDBuildchapterandtheEDIF2NGDandNGDBuildAppendix.
DesignImplementation
DesignImplementationbeginswiththemappingorttingofalogicaldesignletoa
specicdeviceandiscompletewhenthephysicaldesignissuccessfullyroutedanda
bitstreamisgenerated.Youcanalterconstraintsduringimplementationjustasyoudid
duringtheDesignEntrystep.SeeConstraintsforinformation.
ThefollowinggureshowsthedesignimplementationprocessforFPGAdesigns:
22w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

DesignImplementationFlow(FPGAs)
Chapter2:DesignFlow
ThefollowinggureshowsthedesignimplementationprocessforCPLDdesigns:
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 23

Chapter2:DesignFlow
DesignImplementationFlow(CPLDs)
Mapping(FPGAsOnly)
ForFPGAs,theMAPcommandlineprogrammapsalogicaldesigntoaXilinx®FPGA.
TheinputtoMAPisanNGDle,whichcontainsalogicaldescriptionofthedesignin
termsofboththehierarchicalcomponentsusedtodevelopthedesignandthelower-level
Xilinxprimitives,andanynumberofNMC(hardplaced-and-routedmacro)les,each
ofwhichcontainsthedenitionofaphysicalmacro.MAPthenmapsthelogictothe
components(logiccells,I/Ocells,andothercomponents)inthetargetXilinxFPGA.
TheoutputdesignfromMAPisanNCDle,whichisaphysicalrepresentationof
thedesignmappedtothecomponentsintheXilinxFPGA.TheNCDlecanthenbe
placedandrouted,usingthePARcommandlineprogram.SeetheMAPchapterfor
detailedinformation.
24w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

NoteMAPprovidesoptionsthatenableadvancedoptimizationsthatarecapable
ofimprovingtimingresultsbeyondstandardimplementations.Theseadvanced
optimizationscantransformadesignpriortoorafterplacement.Optimizationscan
beappliedattwodifferentstagesintheXilinxdesignow.Therststagehappens
rightaftertheinitialmappingofthelogictothearchitectureslices;thesecondstageif
afterplacement.SeeRe-SynthesisandPhysicalSynthesisOptimizationsintheMAP
chapterformoreinformation.
PlacingandRouting(FPGAsOnly)
ForFPGAs,thePARcommandlineprogramtakesamappedNCDleasinput,places
androutesthedesign,andoutputsaplacedandroutedNativeCircuitDescription
(NCD)le,whichisusedbythebitstreamgenerator,BitGen.TheoutputNCDlecan
alsoactasaguidelewhenyoureiterateplacementandroutingforadesigntowhich
minorchangeshavebeenmadeafterthepreviousiteration.SeethePARchapterfor
detailedinformation.
YoucanalsouseFPGAEditortodothefollowing:
•Placeandroutecriticalcomponentsbeforerunningautomaticplaceandroutetools
onanentiredesign.
•Modifyplacementandroutingmanually.Theeditorallowsbothautomaticand
manualcomponentplacementandrouting.
Chapter2:DesignFlow
NoteFormoreinformation,seetheonlineHelpprovidedwithFPGAEditor.
BitstreamGeneration(FPGAsOnly)
ForFPGAs,theBitGencommandlineprogramproducesabitstreamforXilinx®
deviceconguration.BitGentakesafullyroutedNCDleasitsinputandproduces
acongurationbitstream,whichisabinarylewitha.bitextension.TheBITle
containsallofthecongurationinformationfromtheNCDledeningtheinternal
logicandinterconnectionsoftheFPGA,plusdevice-specicinformationfromotherles
associatedwiththetargetdevice.SeetheBitGenchapterfordetailedinformation.
AfteryougenerateyourBITle,youcandownloadittoadeviceusingtheiMPACTGUI.
YoucanalsoformattheBITleintoaPROMleusingthePROMGencommandline
programandthendownloadittoadeviceusingtheiMPACTGUI.SeethePROMGen
chapterofthisguideortheiMPACTonlinehelpformoreinformation.
DesignVerification
Designvericationistestingthefunctionalityandperformanceofyourdesign.Y oucan
verifyXilinx®designsinthefollowingways:
•Simulation(functionalandtiming)
•Statictiminganalysis
•In-circuitverication
Thefollowingtableliststhedifferentdesigntoolsusedforeachvericationtype.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 25

Chapter2:DesignFlow
VerificationTools
VerificationTypeTools
SimulationThird-partysimulators(integratedand
non-integrated)
StaticTimingAnalysisTRACE(commandlineprogram)
TimingAnalyzer(GUI)
MentorGraphicsTAUandInnovedaBLAST
softwareforusewiththeSTAMPleformat
(forI/Otimingvericationonly)
In-CircuitVericationDesignRuleChecker(commandlineprogram)
Downloadcable
Designvericationproceduresshouldoccurthroughoutyourdesignprocess,asshown
inthefollowinggures.
ThreeVerificationMethodsoftheDesignFlow(FPGAs)
ThefollowinggureshowsthevericationmethodsofthedesignowforCPLDs.
26w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

ThreeVerificationMethodsoftheDesignFlow(CPLDs)
Chapter2:DesignFlow
Simulation
Youcanrunfunctionalortimingsimulationtoverifyyourdesign.Thissectiondescribes
theback-annotationprocessthatmustoccurpriortotimingsimulation.Italsodescribes
thefunctionalandtimingsimulationmethodsforbothschematicandHDL-based
designs.
Back-Annotation
Beforetimingsimulationcanoccur,thephysicaldesigninformationmustbetranslated
anddistributedbacktothelogicaldesign.ForFPGAs,thisback-annotationprocessis
donewithaprogramcalledNetGen.ForCPLDs,back-annotationisperformedwith
theTSimTimingSimulator.Theseprogramscreateadatabase,whichtranslatesthe
back-annotatedinformationintoanetlistformatthatcanbeusedfortimingsimulation.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 27

Chapter2:DesignFlow
Back-AnnotationFlowforFPGAs
Back-Annotation(CPLDs)
NetGen
NetGenisacommandlineprogramthatdistributesinformationaboutdelays,setup
andholdtimes,clocktoout,andpulsewidthsfoundinthephysicalNativeCircuit
Description(NCD)designlebacktothelogicalNativeGenericDatabase(NGD)le
andgeneratesaVerilogorVHDLnetlistforusewithsupportedtimingsimulation,
equivalencechecking,andstatictiminganalysistools.
NetGenreadsanNCDasinput.TheNCDlecanbeamapped-onlydesign,ora
partiallyorfullyplacedandrouteddesign.AnNGMle,createdbyMAP ,isanoptional
sourceofinput.NetGenmergesmappinginformationfromtheoptionalNGMlewith
placement,routing,andtiminginformationfromtheNCDle.
NoteNetGenreadsanNGAleasinputtogenerateatimingsimulationnetlistfor
CPLDdesigns.
SeetheNetGenchapterfordetailedinformation.
FunctionalSimulation
Functionalsimulationdeterminesifthelogicinyourdesigniscorrectbeforeyou
implementitinadevice.Functionalsimulationcantakeplaceattheearlieststagesof
thedesignow .Becausetiminginformationfortheimplementeddesignisnotavailable
atthisstage,thesimulatorteststhelogicinthedesignusingunitdelays.
28w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

NoteItisusuallyfasterandeasiertocorrectdesignerrorsifyouperformfunctional
simulationearlyinthedesignow.
TimingSimulation
Timingsimulationveriesthatyourdesignrunsatthedesiredspeedforyourdevice
underworst-caseconditions.Thisprocessisperformedafteryourdesignismapped,
placed,androutedforFPGAsorttedforCPLDs.Atthistime,alldesigndelaysare
known.
Timingsimulationisvaluablebecauseitcanverifytimingrelationshipsanddetermine
thecriticalpathsforthedesignunderworst-caseconditions.Itcanalsodetermine
whetherornotthedesigncontainsset-uporholdviolations.
Beforeyoucansimulateyourdesign,youmustgothroughtheback-annotationprocess,
above.Duringthisprocess,NetGencreatessuitableformatsforvarioussimulators.
HDL-BasedSimulation
Xilinx®supportsfunctionalandtimingsimulationofHDLdesignsatthefollowing
points:
•RegisterTransferLevel(RTL)simulation,whichmayincludethefollowing:
•Post-synthesisfunctionalsimulationwithoneofthefollowing:
•Post-implementationback-annotatedtimingsimulationwiththefollowing:
Chapter2:DesignFlow
–InstantiatedUNISIMlibrarycomponents
–COREGenerator™models
–HardIP(SecureIP)
–Gate-levelUNISIMlibrarycomponents
–COREGeneratormodels
–HardIP(SecureIP)
–SIMPRIMlibrarycomponents
–HardIP(SecureIP)
–StandardDelayFormat(SDF)le
Thefollowinggureshowswhenyoucanperformfunctionalandtimingsimulation:
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 29

Chapter2:DesignFlow
SimulationPointsforHDLDesigns
Thethreeprimarysimulationpointscanbeexpandedtoallowfortwopost-synthesis
simulations.ThesepointscanbeusedifthesynthesistoolcannotwriteVHDLor
Verilog,orifthenetlistisnotintermsofUNISIMcomponents.Thefollowingtablelists
allthesimulationpointsavailableintheHDLdesignow .
FiveSimulationPointsinHDLDesignFlow
SimulationUNISIMSIMPRIMSDF
RTL
Post-Synthesis
Functional
Post-NGDBuild
(Optional)
FunctionalPost-MAP
(Optional)
Post-RouteTiming
Thesesimulationpointsaredescribedinthe“SimulationPoints”sectionoftheSynthesis
andSimulationDesignGuide(UG626).
Thelibrariesrequiredtosupportthesimulationowsaredescribedindetailin
the“VHDL/VerilogLibrariesandModels”sectionoftheSynthesisandSimulation
DesignGuide(UG626).Theowsandlibrariessupportclosefunctionalequivalenceof
initializationbehaviorbetweenfunctionalandtimingsimulations.Thisisduetothe
additionofmethodologiesandlibrarycellstosimulateGlobalSet/Reset(GSR)and
Global3-State(GTS)behavior.
X
X
X
XX
XX
XilinxVHDLsimulationsupportstheVITALstandard.Thisstandardallowsyou
tosimulatewithanyVITAL-compliantsimulator.Built-inVerilogsupportallows
youtosimulatewiththeCadenceVerilog-XLandcompatiblesimulators.XilinxHDL
simulationsupportsallcurrentXilinxFPGAandCPLDdevices.RefertotheSynthesis
andSimulationDesignGuide(UG626)forthelistofsupportedVHDLandV erilog
standards.
30w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

StaticTimingAnalysis(FPGAsOnly)
Statictimingallowsyoutodeterminepathdelaysinyourdesign.Followingarethe
twomajorgoalsofstatictiminganalysis:
•Timingverication
Thisisverifyingthatthedesignmeetsyourtimingconstraints.
•Reporting
Thisisenumeratinginputconstraintviolationsandplacingthemintoanaccessible
le.Youcananalyzepartiallyorcompletelyplacedandrouteddesigns.Thetiming
informationdependsontheplacementandroutingoftheinputdesign.
YoucanrunstatictiminganalysisusingtheTimingReporterAndCircuitEvaluator
(TRACE)commandlineprogram.SeetheTRACEchapterfordetailedinformation.Y ou
canalsousetheTimingAnalyzertoperformthisfunction.SeetheHelpthatcomeswith
TimingAnalyzerforadditionalinformation.Useeithertooltoevaluatehowwellthe
placeandroutetoolsmettheinputtimingconstraints.
In-CircuitVerification
Asanaltest,youcanverifyhowyourdesignperformsinthetargetapplication.
In-circuitvericationteststhecircuitundertypicaloperatingconditions.Becauseyou
canprogramyourFPGAdevicesrepeatedly ,youcaneasilyloaddifferentiterationsof
yourdesignintoyourdeviceandtestitin-circuit.Toverifyyourdesignin-circuit,
downloadyourdesignbitstreamintoadevicewiththeappropriateXilinx®cable.
Chapter2:DesignFlow
NoteForinformationaboutXilinxcablesandhardware,seetheiMPACTonlinehelp.
DesignRuleChecker(FPGAsOnly)
Beforegeneratingthenalbitstream,itisimportanttousetheDRCoptioninBitGen
toevaluatetheNCDleforproblemsthatcouldpreventthedesignfromfunctioning
properly.DRCisinvokedautomaticallyunlessyouusethe-doption.SeethePhysical
DesignRuleCheckchapterandtheBitGenchapterfordetailedinformation.
Probe
TheXilinxPROBEfunctioninFPGAEditorprovidesreal-timedebugcapabilitygood
foranalyzingafewsignalsatatime.UsingPROBEadesignercanquicklyidentifyand
routeanyinternalsignalstoavailableI/Opinswithouthavingtoreplaceandroutethe
design.Thereal-timeactivityofthesignalcanthenbemonitoredusingnormallabtest
equipmentsuchaslogic/stateanalyzersandoscilloscopes.
ChipScope™ILAandChipScopePro
TheChipScopetoolsetwasdevelopedtoassistengineersworkingatthePCBlevel.
ChipScopeILAactuallyembedslogicanalyzercoresintoyourdesign.Theselogiccores
allowtheusertoviewalltheinternalsignalsandnodeswithinanFPGA.Triggersare
changeableinreal-timewithoutaffectingtheuserlogicorrequiringrecompilation
oftheuserdesign.
FPGADesignTips
TheXilinx®FPGAarchitectureisbestsuitedforsynchronousdesign.Strictsynchronous
designensuresthatallregistersaredrivenfromthesametimebasewithnoclockskew.
Thissectiondescribesseveraltipsforproducinghigh-performancesynchronousdesigns.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 31

Chapter2:DesignFlow
DesignSizeandPerformance
Informationaboutdesignsizeandperformancecanhelpyoutooptimizeyourdesign.
Whenyouplaceandrouteyourdesign,theresultingreportleslistthenumberof
CLBs,IOBs,andotherdeviceresourcesavailable.Arstpassestimatecanbeobtained
byprocessingthedesignthroughtheMAPprogram.
Ifyouwanttodeterminethedesignsizeandperformancewithoutrunningautomatic
implementationsoftware,youcanquicklyobtainanestimatefromaroughcalculation
basedontheXilinxFPGAarchitecture.
32w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

PARTGen
ThischapterdescribesPARTGen.
PARTGenOverview
PARTGenisaXilinx®commandlinetoolthatdisplaysarchitecturaldetailsabout
supportedXilinxdevices.
DeviceSupport
Thisprogramiscompatiblewiththefollowingdevicefamilies:
•7series
•Spartan®-3,Spartan-3A,Spartan-3E,andSpartan-6
•Virtex®-4,Virtex-5,andVirtex-6
•CoolRunner™XPLA3andCoolRunner-II
•XC9500andXC9500XL
Chapter3
PARTGenInputFiles
PARTGendoesnothaveanyuserinputles.
PARTGenOutputFiles
PARTGenoutputstwoletypes:
•PARTGenPartlistFiles(ASCIIandXML)
•PARTGenPackageFiles(ASCII)
PARTGenPartlistFiles
PARTGenpartlistlescontaindetailedinformationaboutarchitecturesanddevices,
includingsupportedsynthesistools.PartlistlesaregeneratedinbothASCII(.xct)
andXML(.xml)formats.
ThepartlistleisautomaticallygeneratedinXMLformatwheneverapartlistleis
createdwiththePARTGen-p(GeneratePartlistandPackageFiles)orPARTGen-v
(GeneratePartlistandPackageFiles)options.Noseparatecommandlineoptionis
required.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 33

Chapter3:PARTGen
Thepartlistleisaseriesofpartentries.Thereisoneentryforeverypartsupported
intheinstalledsoftware.Thefollowingsectionsdescribetheinformationcontained
inthepartlistle.
•PARTGenPartlistFileHeader
•PARTGenPartlistFileDeviceAttributesforBoth-pand-vOptions
•PARTGenPartlistFileDeviceAttributesfor-vOptionOnly
PARTGenPartlistFileHeader
TherstpartofaP ARTGenpartlistleisaheaderfortheentry .
partarchitecturefamilypartnamedienamepackagefilename
PARTGenPartlistFileHeaderExampleforXC6VLX550TFF1759Device
partVIRTEXXC6VLX550Tff1759NA.diexc6vlx550tff1759.pkg
PARTGenPartlistFileDeviceAttributesforboth-pand-vOptions
ThefollowingPARTGenpartlistledeviceattributesdisplayforboththe-pand-v
commandlineoptions.
•CLBrowandcolumnsizes
NCLBROWS=#NCLBCOLS=#
•Sub-familydesignation
STYLE=sub_family(Forexample,STYLE=Virtex6)
•Inputregisters
IN_FF_PER_IOB=#
•Outputregisters
OUT_FF_PER_IOB=#
•Numberofpadsperrowandpercolumn
NPADS_PER_ROW=#NP ADS_PER_COL=#
•Bitstreaminformation
–Numberofframes:NFRAMES=#
–Numberbits/frame:NBITSPERFRAME=#
•Steppinglevelssupported:STEP=#
•I/OStandards
ForeachI/Ostandard,PARTGennowreportsallpropertiesinaparsableformat.
ThisallowsthirdpartytoolstoperformcompleteI/Obankingdesignruleschecking
(DRC).
Thefollowinginformationhasbeenaddedtothepartlist.xctand
partlist.xmloutputforeachavailableI/Ostandard:
IOSTD_NAME:LVTTL\
IOSTD_DRIVE:1224681624\
IOSTD_SLEW:SLOWFAST\
IOSTD_DIRECTION:INPUT=1OUTPUT=1BIDIR=1\
IOSTD_INPUTTERM:NONE\
IOSTD_OUTPUTTERM:NONE\
IOSTD_VCCO:3.300000\
IOSTD_VREF:100.000000\
IOSTD_VRREQUIRED:0\
IOSTD_DIFFTERMREQUIRED:0\
34w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter3:PARTGen
ForIOSTD_DRIVEandIOSTD_SLEW,thedefaultvaluesarereportedrstinthe
list.Fortrue/falsevalues:
–1indicatestrue
–0indicatesfalse
Avalueof100.000000forIOSTD_VREFindicatesthatthiskeywordisundened
forthisstandard.
•SOandWASSOCalculations
PARTGennowexportsI/Ostandardanddevicepropertiesinamachinereadable
format.ThisallowsthirdpartytoolstoperformSSOandW ASSOcalculations.
SSOdataconsistsoftwoparts:
–ThemaximumnumberofSSOsallowedperpower/groundpair
–Thenumberofpower/groundpairsforagivenbank.
Thisdatahasbeenaddedtothepartlist.xctandpartlist.xmloutputfor
eachdevice/packagecombination.Thenumberofpower/groundpairsislisted
bybanknumber:
PER_BANK_PWRGND_PAIRS\
BANK_SSONAME=0TYPE=INT1\
BANK_SSONAME=1TYPE=INT1\
BANK_SSONAME=2TYPE=INT1\
BANK_SSONAME=3TYPE=INT1\
BANK_SSONAME=4TYPE=INT1\
BANK_SSONAME=5TYPE=INT5\
BANK_SSONAME=6TYPE=INT5\
BANK_SSONAME=7TYPE=INT3\
BANK_SSONAME=8TYPE=INT3\
ThemaximumnumberofSSOsallowedperpower/groundpairisreportedusing
theSSO_PER_IOSTDkeyword.EachentryreectsthemaximumnumberofSSOs
(column6)fortheI/Ostandard(column3),drivestrength(column2),andslew
rate(column4)shown.
Forexample,L VTTL,withdrivestrength12andslewrateSLOW ,hasamaximumof
15SSOsperpower/groundpair.
MAX_SSO_PER_IOSTD_PER_BANK\
IOSTD_SSODRIVE=12NAME=LVTTLSLEW=SLOWTYPE=INT15\
IOSTD_SSODRIVE=12NAME=LVTTLSLEW=FASTTYPE=INT10\
IOSTD_SSODRIVE=2NAME=LVTTLSLEW=SLOWTYPE=INT68\
IOSTD_SSODRIVE=2NAME=LVTTLSLEW=FASTTYPE=INT40\
IOSTD_SSODRIVE=4NAME=LVTTLSLEW=SLOWTYPE=INT41\
IOSTD_SSODRIVE=4NAME=LVTTLSLEW=FASTTYPE=INT24\
IOSTD_SSODRIVE=6NAME=LVTTLSLEW=SLOWTYPE=INT29\
IOSTD_SSODRIVE=6NAME=LVTTLSLEW=FASTTYPE=INT17\
IOSTD_SSODRIVE=8NAME=LVTTLSLEW=SLOWTYPE=INT22\
IOSTD_SSODRIVE=8NAME=LVTTLSLEW=FASTTYPE=INT13\
IOSTD_SSODRIVE=16NAME=LVTTLSLEW=SLOWTYPE=INT11\
IOSTD_SSODRIVE=16NAME=LVTTLSLEW=FASTTYPE=INT8\
IOSTD_SSODRIVE=24NAME=LVTTLSLEW=SLOWTYPE=INT7\
IOSTD_SSODRIVE=24NAME=LVTTLSLEW=FASTTYPE=INT5\
•Deviceglobal,localandregionalclockingproperties
Foreachtypeofclockavailableonthedevice,PARTGennowreports:
–Whichpinnumbercanbehaveaswhichclocktype
–WhichI/Ocanbedrivenbythisclockpin
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 35

Chapter3:PARTGen
ThisallowsthirdpartytoolstoassignpinsonXilinx®packageswithoutviolating
clockingrules.
Thefollowinginformationhasbeenaddedtothepartlist.xctand
partlist.xmloutputforeachclockregionofadevice:
DEVICE_CLKRGN\
NUM_CLKRGNTYPE=INT8\
NUM_CLKRGN_ROWTYPE=INT4\
NUM_CLKRGN_COLTYPE=INT2\
CLKRGNTYPE=STRINGX0Y0\
CLK_CAPABLE_SCOPE\
UNASSOCIATED_PINS\
NUM_UNBONDED_PINSTYPE=INT2\
UNBONDED_PIN_LISTTYPE=STRINGLISTT17R17\
UNBONDED_IOB_LISTTYPE=STRINGLISTIOB_X0Y15IOB_X0Y17\
ASSOCIATED_BUFIO\
NUM_BUFIOTYPE=INT4\
BUFIO_SITESTYPE=STRINGLISTBUFIO_X0Y0BUFIO_X0Y1BUFIO_X1Y0BUFIO_X1Y1\
ASSOCIATED_BUFR\
NUM_BUFRTYPE=INT2\
BUFR_SITESTYPE=STRINGLISTBUFR_X0Y0BUFR_X0Y1\
ASSOCIATED_PINS\
NUM_BONDED_PINSTYPE=INT39\
BONDED_PIN_LISTTYPE=STRINGLISTV18V17W17Y17W19W18U17U16V20V19U15T15U19U18T18\
T17R18R17T20T19R16R15R20R19W8W9Y9Y10W7Y7W10W11W6Y6Y11Y12W5Y5W12\
BONDED_IOB_LISTTYPE=STRINGLISTIOB_X0Y0IOB_X0Y1IOB_X0Y2IOB_X0Y3IOB_X0Y4IOB_X0Y5IOB_\
X0Y6IOB_X0Y7IOB_X0Y8IOB_X0Y9IOB_X0Y10IOB_X0Y11IOB_X0Y12IOB_X0Y13IOB_X0Y14IOB_\
X0Y15IOB_X0Y16IOB_X0Y17IOB_X0Y18IOB_X0Y19IOB_X0Y22IOB_X0Y23IOB_X0Y24IOB_X0Y25IOB_\
X1Y16IOB_X1Y17IOB_X1Y18IOB_X1Y19IOB_X1Y20IOB_X1Y21IOB_X1Y22IOB_X1Y23IOB_X1Y24IOB_\
X1Y25IOB_X1Y26IOB_X1Y27IOB_X1Y28IOB_X1Y29IOB_X1Y30\
PARTGenPartlistFileDeviceAttributesforpartgen-vOptionOnly
ThefollowingPARTGenpartlistledeviceattributesdisplayforthe-vcommand
lineoptiononly.
•NumberofIOBSindevice
NIOBS=#
•NumberofbondedIOBS
NBIOBS=#
•SlicesperCLB:SLICES_PER_CLB=#
Forslice-basedarchitectures.Fornon-slicebasedarchitectures,assumeoneslice
perCLB.
•Flip-opsforeachslice
FFS_PER_SLICE=#
•Latchesforeachslice
CANBELATCHES={TRUE|FALSE}
•NumberofDCMs,PLLsand/orMMCMs
•LUTsinaslice:LUT_NAME=nameLUT_SIZE=#
•Numberofglobalbuffers:NUM_GLOBAL_BUFFERS=#
(Thenumberofplaceswhereabuffercandriveaglobalclockcombination)
•BlockRAM
36w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter3:PARTGen
NUM_BLK_RAMS=#BLK_RAM_COLS=#BLK_RAM_COL0=#BLK_RAMCOL1=#
BLK_RAM_COL2=#BLK_RAM_COL_3=#BLK_RAM_SIZE=4096x1
BLK_RAM_SIZE=2048x2BLK_RAM_SIZE=512x8BLK_RAM_SIZE=256x16
BlockRAMlocationsaregivenwithreferencetoCLBcolumns.Inthefollowing
example,BlockRAM5ispositionedinCLBcolumn32.
NUM_BLK_RAMS=10BLK_RAM_COL_5=32BLK_RAM_SIZE=4096X1
•SelectRAM
NUM_SEL_RAMS=#SEL_RAM_SIZE=#X#
•SelectDualPortRAM
SEL_DP_RAM={TRUE|FALSE}
ThiseldindicateswhethertheselectRAMcanbeusedasadualportram.The
assumptionisthatthenumberofaddressableelementsisreducedbyhalf,thatis,the
sizeoftheselectRAMinDualPortModeishalfthatindicatedbySEL_RAM_SIZE.
•Speedgradeinformation:SPEEDGRADE=#
DelaysinformationnolongerappearsintheXCTandXMLpartlistles.Delay
informationcanbeobtainedusingSpeedprint.Formoreinformation,seethe
Speedprintchapterinthisdocument.
•MaximumLUTconstructedinaslice
MAX_LUT_PER_SLICE=#(FromalltheLUTsintheslice)
•MaxLUTconstructedinaCLB:MAX_LUT_PER_CLB=#
ThiselddescribeshowwideaLUTcanbeconstructedintheCLBfromthe
availableLUTsintheslice.
•Numberofinternaltristatebuffersinadevice
NUM_TBUFSPERROW=#
•Ifavailableonaparticulardeviceorpackage,PartGenreports:
PARTGenPackageFiles
PARTGenpackagelesareASCIIformattedlesthatcorrelateIOBswithoutput
pinnames.PackagelesareinXACTpackageformat,whichisasetofcolumnsof
informationaboutthepinsofaparticularpackage.The-p(terse)commandlineoption
generatesathreecolumnentrydescribingthepins.The-v(verbose)commandline
optionaddssixmorecolumnsdescribingthepins.Thefollowingsectionsdescribethe
informationcontainedinthepackageles.
•PARTGenPackageFilesWiththe-pOption
•PARTGenPackageFilesWiththe-vOption
PARTGenPackageFilesUsingthe-pOption
Thepartgen-pcommandlineoptiongeneratespackagelesanddisplaysa
three-columnentrydescribingthepins.Seethefollowingtable.
NUM_PPC=#
NUM_GT=#
NUM_MONITOR=#
NUM_DPM=#
NUM_PMCD=#
NUM_DSP=#
NUM_FIFO=#
NUM_EMAC=#
NUM_MULT=#
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 37

Chapter3:PARTGen
PackageFilesColumnDescriptions
ColumnContentsDescription
1
2
3
Forexample,thecommandpartgen-pxc6vlx75tgeneratesthefollowingpackage
les:
•xc6vlx75tff484.pkg
•xc6vlx75tff784.pkg
PackageFileExampleUsingthe-pOption
Followingisanexampleofaportionofthepackageleforanxc6vlx75tff484package:
pin(useraccessiblepin)orpkgpin
(dedicatedpin)
pinname
packagepinSpeciesthepackagepin
Containseitherpin(useraccessiblepin)
orpkgpin(dedicatedpin)
Foruseraccessiblepins,thenameofthe
pinisthebondedpadnameassociated
withanIOBonthedevice,orthename
ofamulti-purposepin.Fordedicated
pins,thenameiseitherthefunctional
nameofthepin,ornoconnection(N.C.
packagexc6vlx75tff484
pinIPAD_X1Y25G3
pinIPAD_X0Y31M11
pinIOB_X0Y39M18
.
.
.
PARTGenPackageFilesUsingthe-vOption
Thepartgen-vcommandlineoptiongeneratespackagelesanddisplaysa
nine-columnentrydescribingthepins.Seethefollowingtable.
PackageFilesColumnDescriptions
ColumnContentsDescription
1
2
3
4
5
6
pin(useraccessiblepin)orpkgpin
(dedicatedpin)
pinname
packagepinSpeciesthepackagepin
VREFBANK
VCCOBANK
functionnameConsistsofastringindicatinghowthe
Containseitherpin(useraccessiblepin)
orpkgpin(dedicatedpin)
Foruseraccessiblepins,thenameofthe
pinisthebondedpadnameassociated
withanIOBonthedevice,orthename
ofamulti-purposepin.Fordedicated
pins,thenameiseitherthefunctional
nameofthepin,ornoconnection(N.C.
Apositiveintegerassociatedwith
therelativebank,or1fornobank
association
Apositiveintegerassociatedwith
therelativebank,or1fornobank
association
pinisused.Ifthepinisdedicated,
thenthestringwillindicateaspecic
function.Ifthepinisagenericuser
38w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

ColumnContentsDescription
7
8
9
CLB
LVDSIOB
ight-timedataFlight-timedatainunitsofmicrons.
PARTGenVerbosePinDescriptorsExample
FollowingareexamplesoftheverbosepindescriptorsinPARTGen.
Chapter3:PARTGen
pin,thestringis“IO”.Ifthepinis
multipurpose,anunderscore-separated
setofcharacterswillmakeupthestring
ClosestCLBroworcolumntothepin,
andappearsintheform
R[0-9]C[0-9]orx[0-9]y[0-9]
Astringforeachpinassociatedwitha
LVDSIOB.Thestringconsistsofand
indexandtheletterMorS.Indexvalues
willgofrom0tothenumberofL VDS
pairs.Thevalueforanon-L VDSpin
defaultstoN.A.
Ifnoight-timedataisavailable,this
columncontainsN/A.
packagexc6vlx75tff484
#PartGenL.44
#padpinvrefvccofunctionnearestdiff.tracelength
#namenamebankbanknameCLBpair(um)
pinIPAD_X1Y25G3-1-1MGTRXP0_115N.A.N.A.8594
pinIPAD_X0Y31M1100VN_0N.A.N.A.1915
pinIOB_X0Y39M181414IO_L0P_14X0Y380M4111
pinIOB_X0Y38N181414IO_L0N_14X0Y380S3390
PARTGenSyntax
ThePARTGencommandlinesyntaxis:
partgenoptions
optionscanbeanynumberoftheoptionslistedinP ARTGenCommandLineOptions.
Enteroptionsinanyorder,precededthemwithadash(minussignonthekeyboard)
andseparatethemwithspaces.
Bothpackageandpartlistlescanbegeneratedusingthepartgen-p(terse)and
partgen-v(verbose)options.
•partgen-pgeneratesathreecolumnentrydescribingthepins.
•partgen-vaddssixmorecolumnsdescribingthepins.
PARTGenCommandLineOptions
ThissectiondescribesthePARTGencommandlineoptions.
•PARTGen–arch(OutputInformationforSpeciedArchitecture)
•PARTGen–i(OutputListofDevices,Packages,andSpeeds)
•PARTGen–intstyle(SpecifyIntegrationStyle)
•PARTGen–nopkgle(GenerateNoPackageFile)
•PARTGen–p(GeneratePartlistandPackageFiles)
•PARTGen–v(GeneratePartlistandPackageFiles)
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 39

Chapter3:PARTGen
-arch(OutputInformationforSpecifiedArchitecture)
Thisoptionoutputsalistofdevices,packages,andspeedsforaspeciedarchitecture.
Syntax
-archarchitecture_name
Allowedvaluesforarchitecture_nameare:
•acr2(forAutomotiveCoolRunner™-II)
•aspartan3(forAutomotiveSpartan®-3)
•aspartan3a(forAutomotiveSpartan-3A)
•aspartan3adsp(forAutomotiveSpartan-3ADSP)
•aspartan3e(forAutomotiveSpartan-3E)
•aspartan6(forAutomotiveSpartan-6)
•kintex7(forKintex™-7)
•kintex7l(forKintex-7LowerPower)
•qrvirtex4(forQPro™Virtex®-4RadTolerant)
•qvirtex4(forQProVirtex-4Hi-Rel)
•qvirtex5(forQProVirtex-5Hi-Rel)
•qspartan6(forQProSpartan-6Hi-Rel)
•qvirtex6(forQProVirtex-6Hi-Rel)
•spartan3(forSpartan-3)
•spartan3a(forSpartan-3A)
•spartan3adsp(forSpartan-3ADSP)
•spartan3e(forSpartan-3E)
•spartan6(forSpartan-6)
•virtex4(forVirtex-4)
•virtex5(forVirtex-5)
•virtex6(forVirtex-6)
•virtex6l(forVirtex-6LowerPower)
•virtex7(forVirtex-7)
•virtex7l(forVirtex-7LowerPower)
•xa9500xl(forAutomotiveXC9500XL)
•xbr(forCoolRunner-II)
•xc9500(forXC9500)
•xc9500xl(forXC9500XL)
•xpla3(forCoolRunnerXPLA3)
-i(OutputListofDevices,Packages,andSpeeds)
Thisoptionoutputsalistofdevices,packages,andspeedsforeveryinstalleddevice.
Syntax
-i
40w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-intstyle(IntegrationStyle)
Thisoptionlimitsscreenoutput,basedontheintegrationstylethatyouarerunning,to
warninganderrormessagesonly.
Syntax
-intstyleise|xflow|silent
Whenusing-intstyle,oneofthreemodesmustbespecied:
•-intstyleiseindicatestheprogramisbeingrunaspartofanintegrateddesign
environment.
•-intstylexflowindicatestheprogramisbeingrunaspartofanintegrated
batchow.
•-intstylesilentlimitsscreenoutputtowarninganderrormessagesonly.
Note-intstyleisautomaticallyinvokedwhenrunninginanintegratedenvironment
suchasProjectNavigatororXFLOW.
-nopkgfile(GenerateNoPackageFile)
Chapter3:PARTGen
Thisoptioncancelstheproductionofthepackageleswhenthe-pand-voptionsare
used.The-nopkgfileoptionallowsyoutobypasscreatingpackageles.
Syntax
-nopkgfile
-p(GeneratePartlistandPackageFiles)
Thiscommandlineoptiongenerates:
•PartlistlesinASCII(.xct)andXML(.xml)formats
•PackagelesinASCII(.pkg)format
Syntax
-pname
Validentriesfornameinclude:
•architectures
•devices
•parts
Alllesareplacedintheworkingdirectory.
Ifanarchitecture,device,orpartisnotspeciedwiththisoption,detailedinformation
foreveryinstalleddeviceissubmittedtothepartlist.xctle.Formoreinformation,
seePARTGenPartlistFiles.
The-poptiongeneratesmoredetailedinformationthanthe-archoption,butless
informationthanthe-voption.The-pand-voptionsaremutuallyexclusive.Youcan
specifyoneortheotherbutnotboth.Formoreinformationsee:
•PARTGenPackageFiles
•PARTGenPartlistFiles
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 41

Chapter3:PARTGen
-v(GeneratePartlistandPackageFiles)
ExamplesofValidCommandLineEntries
NameExampleCommandLineEntry
architecture
device
part
-pvirtex5
-pxc5vlx110t
-pxc5vlx110tff1136
Thiscommandlineoptiongenerates:
•PartlistlesinASCII(.xct)andXML(.xml)formats
•PackagelesinASCII(.pkg)format
Syntax
-vname
Validentriesfornameinclude:
•architectures
•devices
•parts
Ifnoarchitecture,device,orpartisspeciedwiththe-voption,informationforevery
installeddeviceissubmittedtothepartlistle.Formoreinformation,seePARTGen
PartlistFiles.
The-voptiongeneratesmoredetailedinformationthanthe-poption.The-pand-v
optionsaremutuallyexclusive.Youcanspecifyoneortheotherbutnotboth.For
moreinformation,see:
•PARTGenPackageFiles
•PARTGenPartlistFiles
ExamplesofCommandLineEntriesforthe-vOption
NameExampleCommandLineEntry
architecture
device
part
partgen-vvirtex6
partgen-vxc5vlx110t
partgen-vxc5vlx110tff1136
42w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

NetGen
NetGenOverview
Chapter4
ThischapterdescribestheNetGenprogram,whichgeneratesnetlistsforusewith
third-partytools.
NetGenisacommandlineexecutablethatreadsXilinx®designlesasinput,extracts
datafromthedesignles,andgeneratesnetliststhatareusedwithsupported
third-partysimulation,equivalencechecking,andstatictiminganalysistools.
NetGencantakeanimplementeddesignleandwriteoutasinglenetlistforthe
entiredesign,ormultiplenetlistsforeachmoduleofahierarchicaldesign.Individual
modulesofadesigncanbesimulatedontheirown,ortogetheratthetop-level.
ModulesidentiedwiththeKEEP_HIERARCHYattributearewrittenasuser-specied
Verilog,VHDL,andSDFnetlistswiththe-mhf(MultipleHierarchicalFiles)option.See
PreservingandWritingHierarchyFilesforadditionalinformation.
NetGenFlows
NetGencanbedescribedashavingthreefundamentalows:simulation,equivalency
checking,andthird-partystatictiminganalysis.Thischaptercontainsow-specic
sectionsthatdetailtheuseandfeaturesofNetGensupportowsanddescribeany
sub-ows.Forexample,thesimulationowincludestwoowstypes:functional
simulationandtimingsimulation.
Eachow-specicsectionincludescommandlinesyntax,inputles,outputles,and
availablecommandlineoptionsforeachNetGenow.
NetGensyntaxisbasedonthetypeofNetGenowyouarerunning.Fordetailson
NetGenowsandsyntax,refertotheow-specicsectionsthatfollow.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 43

Chapter4:NetGen
Validnetlistowsare:
•-sim(Simulation)-generatesasimulationnetlistforfunctionalsimulationortiming
simulation.Forthisnetlisttype,youmustspecifytheoutputletypeasVerilogor
VHDLwiththe-ofmtoption.
netgen-sim[options]
•-ecn(Equivalence)-generatesaVerilog-basedequivalencecheckingnetlist.Forthis
netlisttype,youmustspecifyatoolnameafterthe-ecnoption.Possibletoolnames
forthisnetlisttypeareconformalorformality.
netgen-ecnconformal|formality[options]
•-sta(StaticTimingAnalysis)-generatesaVerilognetlistforstatictiminganalysis.
netgen-sta[options]
NetGensupportsthefollowingowtypes:
•FunctionalSimulationforFPGAandCPLDdesigns
•TimingSimulationforFPGAandCPLDdesigns
•EquivalenceCheckingforFPGAdesigns
•StaticTimingAnalysisforFPGAdesigns
TheowtypethatNetGenrunsisbasedontheinputdesignle(NGC,NGD,orNCD).
Thefollowingtableshowstheoutputletypes,basedontheinputdesignles:
InputDesignFileOutputFileType
NGC
NGD
NGAfromCPLDSIMPRIM-basednetlist,alongwithafull
NCDfromMAPSIMPRIM-basednetlist,alongwithapartial
NCDfromPARSIMPRIM-basednetlist,alongwithafull
NetGenDeviceSupport
Thisprogramiscompatiblewiththefollowingdevicefamilies:
•7series
•Spartan®-3,Spartan-3A,Spartan-3E,andSpartan-6
•Virtex®-4,Virtex-5,andVirtex-6
•CoolRunner™XPLA3andCoolRunner-II
•XC9500andXC9500XL
NetGenOutputFiles
UNISIM-basedfunctionalsimulationnetlist
SIMPRIM-basedfunctionalnetlist
timingSDFle.
timingSDFle
timingSDFle
44w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

NetGenSimulationFlow
WithintheNetGenSimulationow ,therearetwosub-ows:functionalsimulationand
timingsimulation.ThefunctionalsimulationowmaybeusedforUNISIM-basedor
SIMPRIM-basednetlists,basedontheinputle.AninputNGClewillgeneratea
UNISIM-basednetlistforfunctionalsimulation.AninputNGDlewillgeneratea
SIMPRIM-basednetlistforfunctionalsimulation.Similarly ,timingsimulationcanbe
brokendownfurthertopost-maptimingsimulationandpost-partimingsimulation,
bothofwhichuseSIMPRIM-basednetlists.
NoteNetGendoesnotlistLOCparameterswhenanNGDleisusedasinput.Inthis
case,UNPLACEDisreportedasthedefaultvalueforLOCparameters.
OptionsfortheNetGenSimulationow(andsub-ows)canbeviewedbyrunning
netgen-hsimfromthecommandline.
NetGenFunctionalSimulationFlow
Thissectiondescribesthefunctionalsimulationow ,whichisusedtotranslateNGC
andNGDlesintoVerilogorVHDLnetlists.
WhenyouenteranNGCleasinputontheNetGencommandline,NetGeninvokes
thefunctionalsimulationowtoproduceaUNISIM-basednetlist.Similarly,whenyou
enteranNGDleasinputontheNetGencommandline,NetGeninvokesthefunctional
simulationowtoproduceaSIMPRIM-basednetlist.Youmustalsospecifythetypeof
netlistyouwanttocreate:VerilogorVHDL.
Chapter4:NetGen
TheFunctionalSimulationowusesthefollowinglesasinput:
•NGC-ThisleoutputbyXSTisusedtocreateaUNISIM-basednetlistsuitablefor
usingwithIPCoresandperformingpost-synthesisfunctionalsimulation.
•NGD-ThisleoutputbyNGDBuildcontainsalogicaldescriptionofthedesign
andisusedtocreateaSIMPRIM-basednetlist.
FunctionalSimulationforUNISIM-basedNetlists
ForXSTusers,theoutputNGClecanbeenteredonthecommandline.Forthird-party
synthesistoolusers,youmustrstusethengcbuildcommandtoconvertallofthe
designnetliststoasingleNGCle,whichNetGentakesasinput.
Thefollowingcommandreadsthetop-levelEDIFnetlistandconvertsittoanNGCle:
ngcbuild[options]top_level_netlist_fileoutput_ngc_file
OutputfilesforNetGenFunctionalSimulation
•Vle-AIEEE1364-2001compliantVerilogHDLlethatcontainsnetlist
informationobtainedfromtheinputdesignles.Thisleisasimulationmodel.It
cannotbesynthesized,andcanonlybeusedforsimulation.
•VHDle-AVHDLIEEE1076.4VITAL-2000compliantVHDLlethatcontains
netlistinformationobtainedfromtheinputdesignles.Thisleisasimulation
model.Itcannotbesynthesized,andcanonlybeusedforsimulation.
SyntaxforNetGenFunctionalSimulation
ThefollowingcommandrunstheNetGenFunctionalSimulationow:
netgen-ofmt[verilog|vhdl][options]input_file[.ngd|.ngc]
-ofmtspeciestheoutputnetlistformat(verilogorvhdl).
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 45

Chapter4:NetGen
optionsisoneormoreoftheoptionslistedintheOptionsforNetGenSimulation
Flowsection.Inadditiontocommonoptions,thissectionalsocontainsVerilogand
VHDL-specicoptions.
input_leistheinputlename.IfanNGDleisused,the.ngdextensionmustbe
specied.
NetGenTimingSimulationFlow
ThissectiondescribestheNetGenTimingSimulationow,whichisusedfortiming
vericationonFPGAandCPLDdesigns.ForFPGAdesigns,timingsimulationisdone
afterPAR,butmayalsobedoneafterMAPifonlycomponentdelayandnoroute
delayinformationisneeded.Whenperformingtimingsimulation,youmustspecify
thetypeofnetlistyouwanttocreate:V erilogorVHDL.Inadditiontothespecied
netlist,NetGenalsocreatesanSDFleasoutput.TheoutputVerilogandVHDLnetlists
containthefunctionalityofthedesignandtheSDFlecontainsthetiminginformation
forthedesign.
InputletypesdependonwhetheryouareusinganFPGAorCPLDdesign.Pleaserefer
toFPGATimingSimulationandCPLDTimingSimulationbelowfordesign-specic
information,includinginputletypes.
FPGATimingSimulation
YoucanverifythetimingofanFPGAdesignusingtheNetGenTimingSimulationow
togenerateaVerilogorVHDLnetlistandanSDFle.Thegurebelowillustratesthe
NetGenTimingSimulationowusinganFPGAdesign.
TheFPGATimingSimulationowusesthefollowinglesasinput:
•NCD-Thisphysicaldesignlemaybemappedonly ,partiallyorfullyplaced,or
partiallyorfullyrouted.
•PCF(optional)-Thisisaphysicalconstraintsle.Ifproratedvoltageortemperature
isappliedtothedesign,thePCFmustbeincludedtopassthisinformationto
NetGen.See-pcf(PCFFile)formoreinformation.
•ELF(MEM)(optional)-ThislepopulatestheBlockRAMsspeciedinthe.bmm
le.See-bd(BlockRAMDataFile)formoreinformation.
TheFPGATimingSimulationowcreatesthefollowingoutputles:
•SDFle-ThisSDF3.0compliantstandarddelayformatlecontainsdelays
obtainedfromtheinputdesignles.
•Vle-ThisisaIEEE1364-2001compliantVerilogHDLlethatcontainsthenetlist
informationobtainedfromtheinputdesignles.Thisleisasimulationmodel.It
cannotbesynthesized,andcanonlybeusedforsimulation.
•VHDle-ThisVHDLIEEE1076.4VITAL-2000compliantVHDLlecontainsthe
netlistinformationobtainedfromtheinputdesignles.Thisleisasimulation
model.Itcannotbesynthesized,andcanonlybeusedforsimulation.
46w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

CPLDTimingSimulation
YoucanusetheNetGenTimingSimulationowtoverifythetimingofaCPLDdesign
afteritisimplementedusingCPLDFitandthedelaysareannotatedusingthe-tsim
option.TheinputleistheannotatedNGAlefromtheTSIMprogram.
NoteSeetheCPLDFitchapterandtheTSIMchapterforadditionalinformation.
TheCPLDTimingSimulationowusesthefollowinglesasinput:
NGAle-ThisnativegenericannotatedleisalogicaldesignlefromTSIMthat
containsXilinx®primitives.SeetheTSIMchapterforadditionalinformation.
Chapter4:NetGen
TheNetGenSimulationFlowcreatesthefollowingoutputles:
•SDFle-Astandarddelayformatlethatcontainsdelaysobtainedfromtheinput
NGAle.
•Vle-AnIEEE1364-2001compliantV erilogHDLlethatcontainsnetlist
informationobtainedfromtheinputNGAle.Thisleisasimulationmodel.It
cannotbesynthesized,andcanonlybeusedforsimulation.
•VHDle-AVHDLIEEE1076.4VITAL-2000compliantVHDLlethatcontains
netlistinformationobtainedfromtheinputNGAle.Thisleisasimulationmodel.
Itcannotbesynthesized,andcanonlybeusedforsimulation.
SyntaxforNetGenTimingSimulationFlow
ThefollowingcommandrunstheNetGenTimingSimulationow:
netgen-sim-ofmt[verilog|vhdl][options]input_file[.ncd]
verilogorvhdlistheoutputnetlistformatthatyouspecifywiththerequired-ofmt
option.
optionsisoneormoreoftheoptionslistedintheOptionsforNetGenSimulationFlow
section.Inadditiontocommonoptions,thissectionalsocontainsVerilogandVHDLspecicoptions.
input_leistheinputlename.
TogethelponthecommandlineforNetGenTimingSimulationcommands,type
netgen-hsim.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 47

Chapter4:NetGen
OptionsforNetGenSimulationFlow
ThissectiondescribesthesupportedNetGencommandlineoptionsfortiming
simulation.
•-aka(WriteAlso-Known-AsNamesasComments)
•-bd(BlockRAMDataFile)
•-bx(BlockRAMInitFilesDirectory)
•-dir(DirectoryName)
•-fn(ControlFlatteningaNetlist)
•-gp(BringOutGlobalResetNetasPort)
•-insert_pp_buffers(InsertPathPulseBuffers)
•-intstyle(IntegrationStyle)
•-mhf(MultipleHierarchicalFiles)
•-ofmt(OutputFormat)
•-pcf(PCFFile)
•-s(Speed)
•-sim(GenerateSimulationNetlist)
•-tb(GenerateTestbenchT emplateFile)
•-ti(TopInstanceName)
•-tp(BringOutGlobal3-StateNetasPort)
•-w(OverwriteExistingFiles)
-aka(WriteAlso-Known-AsNamesasComments)
Thisoptionincludesoriginaluser-denedidentiersascommentsinthenetlist.This
optionisusefulifuser-denedidentiersarechangedbecauseofnamelegalization
processesinNetGen.
Syntax
-aka
-bd(BlockRAMDataFile)
ThisoptionspeciesthepathandlenameoftheleusedtopopulatetheBlockRAM
instancesspeciedinthe.bmmle.Data2MEMcandeterminetheADDRESS_BLOCKin
whichtoplacethedatafromaddressanddatainformationinthe.elf(fromEDK)or
.memle.Youcanincludemorethanoneinstanceof-bd.
Optionally,youcanspecifytagtagname,inwhichcaseonlytheaddressspaceswith
thesamenameinthe.bmmleareusedfortranslation,anddataoutsideofthetagname
addressspacesareignored.
Syntax
-bdfilename[.elf|.mem][tagtagname]
NoteWhenusingthisoption,youmustalsouse-bx(BlockRAMInitFilesDirectory)to
specifythedirectoryintowhichtheBlockRAMInitializationleswillbewritten.
-bx(BlockRAMInitFilesDirectory)
ThisoptionspeciesthedirectoryintowhichtheBlockRAMInitializationleswill
bewritten.
48w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Syntax
-bxbram_output_dir
-dir(DirectoryName)
Thisoptionspeciesthedirectoryfortheoutputles.
Syntax
-dirdirectory_name
-fn(ControlFlatteningaNetlist)
Thisoptionoutputsaattenednetlist.Aatnetlistdoesnotincludeanydesign
hierarchy.
Syntax
-fn
-gp(BringOutGlobalResetNetasPort)
Chapter4:NetGen
ThisoptioncausesNetGentobringouttheglobalresetsignal(whichisconnectedtoall
ip-opsandlatchesinthephysicaldesign)asaportonthetop-leveldesignmodule.
Specifyingtheportnameallowsyoutomatchtheportnameyouusedinthefrontend.
Thisoptionisusedonlyiftheglobalresetnetisnotdriven.Forexample,ifyouinclude
aSTARTUP_VIRTEX5componentinaVirtex®-5design,youshouldnotenterthe-gp
optionbecausetheST ARTUP_VIRTEX5componentdrivestheglobalresetnet.
Syntax
-gpport_name
NoteDonotuseGR,GSR,PRLD,PRELOAD,orRESETasportnames,becausethese
arereservednamesintheXilinx®software.ThisoptionisignoredbyUNISIM-based
ows,whichuseanNGCleasinput.
-insert_pp_buffers(InsertPathPulseBuffers)
Thisoptioncontrolswhetherpathpulsebuffersareinsertedintotheoutputnetlistto
eliminatepulseswallowing.Pulseswallowingisseenonsignalsinback-annotated
timingsimulationswhenthepulsewidthisshorterthanthedelayontheinputport
ofthecomponent.Forexample,ifaclockofperiod5ns(2.5nshigh/2.5nslow)is
propagatedthroughabuffer,butintheSDF,thePORTorIOPATHdelayfortheinput
portofthatbufferisgreaterthan2.5ns,theoutputwillbeunchangedinthewaveform
window(e.g.,iftheoutputwas"X"atthestartofsimulation,itwillremainat"X").
NoteThisoptionisavailablewhentheinputisanNCDle.
Syntax
-insert_pp_bufferstrue|false
Bydefaultthiscommandissettofalse.
-intstyle(IntegrationStyle)
Thisoptionlimitsscreenoutput,basedontheintegrationstylethatyouarerunning,to
warninganderrormessagesonly.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 49

Chapter4:NetGen
Syntax
-intstyleise|xflow|silent
Whenusing-intstyle,oneofthreemodesmustbespecied:
•-intstyleiseindicatestheprogramisbeingrunaspartofanintegrateddesign
environment.
•-intstylexflowindicatestheprogramisbeingrunaspartofanintegrated
batchow.
•-intstylesilentlimitsscreenoutputtowarninganderrormessagesonly.
Note-intstyleisautomaticallyinvokedwhenrunninginanintegratedenvironment
suchasProjectNavigatororXFLOW.
-mhf(MultipleHierarchicalFiles)
Thisoptionisusedtowritemultiplehierarchicalles.Onehierarchicallewillbe
writtenforeachmodulethathastheKEEP_HIERARCHYattribute.
NoteSeePreservingandW ritingHierarchyFilesforadditionalinformation.
Syntax
-ofmt(OutputFormat)
-pcf(PCFFile)
-s(ChangeSpeed)
-mhf
Thisisarequiredoptionthatspeciestheoutputformatfornetlists(eitherVerilog
orVHDL).
Syntax
-ofmtverilog|vhdl
ThisoptionletsyouspecifyaPhysicalConstraintsFile(PCF)asinputtoNetGen.You
onlyneedtospecifyaPCFleifyouuseproratingconstraints(temperatureand/or
voltage).
TemperatureandvoltageconstraintsandprorateddelaysaredescribedintheConstraints
Guide(UG625).
Syntax
-pcfpcf_file.pcf
ThisoptioninstructsNetGentoannotatethedevicespeedgradeyouspecifytothe
netlist.
Syntax
-sspeedgrade|min
speedgradecanbeenteredwithorwithouttheleadingdash.Forexample,both-s3
and-s-3areallowed.
50w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Somearchitecturessupportthe-sminoption,whichinstructsNetGentoannotate
aprocessminimumdelay,ratherthanamaximumworst-casetothenetlist.Usethe
SpeedprintorPARTGenutilityprogramsinthesoftwaretodeterminewhetherprocess
minimumdelaysareavailableforyourtargetarchitecture.SeethePARTGenchapterfor
additionalinformation.
SettingsmadewiththisoptionoverrideproratedtimingparametersinthePhysical
ConstraintsFile(PCF).Ifyouuse-smin,alleldsintheresultingSDFle
(MIN:TYP:MAX)aresettotheprocessminimumvalue.
-sim(GenerateSimulationNetlist)
Thisoptionwritesasimulationnetlist.ThisisthedefaultoptionforNetGen.
Syntax
-sim
-tb(GenerateTestbenchTemplateFile)
Thisoptiongeneratesatestbenchlewitha.tvextensionforverilog,and.tvhd
extensionforvhd.Itisaready-to-useVerilogorVHDLtemplatele,basedontheinput
NCDle.Thetypeoftemplatele(VerilogorVHDL)isspeciedwiththe-ofmtoption.
Chapter4:NetGen
Syntax
-tb
-ti(TopInstanceName)
Thisoptionspeciesauserinstancenameforthedesignundertestinthetestbench
lecreatedwiththe-tboption.
Syntax
-titop_instance_name
-tp(BringOutGlobal3-StateNetasPort)
ThisoptioncausesNetGentobringouttheglobal3-statesignal(whichforcesallFPGA
outputstothehigh-impedancestate)asaportonthetop-leveldesignmoduleor
outputle.Specifyingtheportnameallowsyoutomatchtheportnameyouusedin
thefront-end.
Thisoptionisonlyusediftheglobal3-statenetisnotdriven.
NoteDonotusethenameofanywireorportthatalreadyexistsinthedesign,because
thiscausesNetGentoissueanerror.ThisoptionisignoredinUNISIM-basedows,
whichuseanNGCleasinput.
Syntax
-tpport_name
-w(OverwriteExistingFiles)
ThisoptioncausesNetGentooverwritethenetlist(.vhdor.v)leifitexists.By
default,NetGendoesnotoverwritethenetlistle.
NoteAllotheroutputlesareautomaticallyoverwritten.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 51

Chapter4:NetGen
Syntax
-w
Verilog-SpecificOptionsforFunctionalandTimingSimulation
ThissectiondescribestheVerilog-speciccommandlineoptionsfortimingsimulation.
•-insert_glbl(Insertglbl.vModule)
•-ism(IncludeSimPrimModulesinVerilogFile)
•-ne(NoNameEscaping)
•-pf(GeneratePINFile)
•-sdf_anno(Include$sdf_annotate)
•-sdf_path(FullPathtoSDFFile)
•-shm(Write$shmStatementsinTestFixtureFile)
•-ul(WriteuselibDirective)
•-vcd(Write$dumpStatementsInTestFixtureFile)
-insert_glbl(Insertglbl.vModule)
ThisoptiontellsNetGentoincludetheglbl.vmoduleintheoutputV erilogsimulation
netlist.
Syntax
-insert_glbl[true|false]
Thedefaultvalueofthisoptionistrue.
Ifyousetthisoptiontofalse,theoutputVerilognetlistwillnotcontaintheglbl.v
module.Formoreinformationonglbl.v,seetheSynthesisandSimulationDesignGuide
(UG626)
NoteIfthe-mhf(multiplehierarchicalles)optionisused,-insert_glblcannot
besettotrue.
-ism(IncludeSIMPRIMModulesinVerilogFile)
ThisoptionincludesSIMPRIMmodulesfromtheSIMPRIMlibraryintheoutputVerilog
(.v)le.Thisoptionletsyouavoidspecifyingthelibrarypathduringsimulation,but
increasesthesizeofyournetlistleandyourcompiletime.
Whenyouusethisoption,NetGenchecksthatyourlibrarypathissetupproperly .
Followingisanexampleoftheappropriatepath:
$XILINX/verilog/src/simprim
Ifyouareusingcompiledlibraries,thisswitchoffersnoadvantage.Ifyouusethis
switch,donotusethe-ulswitch.
NoteThe-ismoptionisvalidforpost-translate(NGD),post-map,andpost-placeand
routesimulationows.
Syntax
-ism
52w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-ne(NoNameEscaping)
Thisoptionreplacesinvalidcharacterswithunderscores,sothatnameescapingdoes
notoccur.Forexample,thenetname“p1$40/empty”becomes“p1$40_empty”when
youdonotusenameescaping.Theleadingbackslashdoesnotappearaspartofthe
identier.TheresultingVeriloglecanbeusedifavendor’sVerilogsoftwarecannot
interpretescapedidentierscorrectly.
Syntax
-ne
Bydefault(withoutthe-neoption),NetGen“escapes”illegalblockornetnamesinyour
designbyplacingaleadingbackslash(\)beforethenameandappendingaspaceatthe
endofthename.Forexample,thenetname“p1$40/empty”becomes“\p1$40/empty
”whennameescapingisused.IllegalVerilogcharactersarereservedVerilognames,
suchas“input”and“output,”andanycharactersthatdonotconformtoVerilognaming
standards.
-pf(GeneratePINFile)
ThisoptiontellsNetGentogenerateaPINle.
ThisoptionisavailableforFPGA/Cadenceonly .
Chapter4:NetGen
Syntax
-pf
-sdf_anno(Include$sdf_annotate)
Thisoptioncontrolstheinclusionofthe$sdf_annotateconstructinaVerilognetlist.The
defaultforthisoptionistrue.T odisablethisoption,usefalse.
NoteThe-sdf_annooptionisvalidforthetimingsimulationow .
Syntax
-sdf_anno[true|false]
-sdf_path(FullPathtoSDFFile)
ThisoptionoutputstheSDFletothespeciedfullpath.Thisoptionwritesthe
fullpathandtheSDFlenametothe$sdf_annotatestatement.Ifafullpathisnot
specied,itwritesthefullpathofthecurrentworkdirectoryandtheSDFlename
tothe$sdf_annotatestatement.
NoteThe-sdf_pathoptionisvalidforthetimingsimulationow .
Syntax
-sdf_path[path_name]
-shm(Write$shmStatementsinTestFixtureFile)
Thisoptionplaces$shmstatementsinthestructuralVeriloglecreatedbyNetGen.
These$shmstatementsallowNC-Verilogtodisplaysimulationdataaswaveforms.This
optionisforusewithCadenceNC-Veriloglesonly.
Syntax
-shm
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 53

Chapter4:NetGen
-ul(WriteuselibDirective)
ThisoptioncausesNetGentowritealibrarypathpointingtotheSimPrimlibraryinto
theoutputVerilog(.v)le.Thepathiswrittenasshownbelow:
uselibdir=$XILINX/verilog/src/simprimslibext=.v
$XILINXisthelocationoftheXilinxsoftware.
Ifyoudonotentera-uloption,the‘useliblineisnotwrittenintotheVerilogle.
NoteAblank‘uselibstatementisautomaticallyappendedtotheendoftheVerilogle
toclearoutthe‘uselibdata.Ifyouusethisoption,donotusethe-ismoption.
NoteThe-uloptionisvalidforSIMPRIM-basedfunctionalsimulationandtiming
simulationows;althoughnotallsimulatorssupportthe‘uselibdirective.Xilinx
recommendsusingthisoptionwithcaution.
Syntax
-ul
-vcd(Write$dumpStatementsInTestFixtureFile)
Thisoptionwrites$dumple/$dumpvarsstatementsintestxture.Thisoptionisforuse
withCadenceVeriloglesonly .
Syntax
-vcd
VHDL-SpecificOptionsforFunctionalandTimingSimulation
ThissectiondescribestheVHDL-speciccommandlineoptionsfortimingsimulation.
•-a(ArchitectureOnly)
•-ar(RenameArchitectureName)
•-extid(ExtendedIdentiers)
•-rpw(SpecifythePulseWidthforROC)
•-tpw(SpecifythePulseWidthforTOC)
-a(ArchitectureOnly)
Thisoptionsuppressesgenerationofentitiesintheoutput.Whenspecied,only
architecturesappearintheoutput.Bydefault,NetGengeneratesbothentitiesand
architecturesfortheinputdesign.
Syntax
-a
-ar(RenameArchitectureName)
ThisoptionletsyouchangethearchitecturenamegeneratedbyNetGen.Thedefault
architecturenameforeachentityinthenetlistisSTRUCTURE.
Syntax
-ararchitecture_name
54w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-extid(ExtendedIdentifiers)
ThisoptioninstructsNetGentowriteVHDLextendedidentiers.Therearetwotypes
ofidentiers:basicandextended.Bydefault,NetGenwritesbasicidentiersonly .
Syntax
-extid
-rpw(SpecifythePulseWidthforROC)
Thisoptionspeciesthepulsewidth,innanoseconds,fortheROCcomponent.You
mustspecifyapositiveintegertosimulatethecomponent.Thisoptionisnotrequired.
Bydefault,theROCpulsewidthissetto100ns.
Syntax
-rpwroc_pulse_width
-tpw(SpecifythePulseWidthforTOC)
Chapter4:NetGen
Thisoptionspeciesthepulsewidth,innanoseconds,fortheTOCcomponent.You
mustspecifyapositiveintegertosimulatethecomponent.Thisoptionisrequiredwhen
youinstantiatetheTOCcomponent(forexample,whentheglobalset/resetandglobal
3-Statenetsaresourcelessinthedesign).
Syntax
-tpwtoc_pulse_width
NetGenEquivalenceCheckingFlow
ThissectiondescribestheNetGenEquivalenceCheckingow,whichisusedforformal
vericationofFPGAdesigns.ThisowcreatesaVerilognetlistandconformalor
formalityassertionleforusewithsupportedequivalencecheckingtools.
Post-NGDBuildFlowforFPGAs
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 55

Chapter4:NetGen
Post-ImplementationFlowforFPGAs
InputfilesforNetGenEquivalenceChecking
TheNetGenEquivalenceCheckingowusesthefollowinglesasinput:
•NGDle-ThisleisalogicaldescriptionofanunmappedFPGAdesign.
•NCDle-Thisphysicaldesignlemaybemappedonly ,partiallyorfullyplaced,
orpartiallyorfullyrouted.
•NGMle-ThismappeddesignleisgeneratedbyMAPandcontainsinformation
onwhatwastrimmedandtransformedduringtheMAPprocess.See-ngm(Design
CorrelationFile)formoreinformation.
•ELF(MEM)(optional)-ThisleisusedtopopulatetheBlockRAMsspeciedinthe
.bmmle.See-bd(BlockRAMDataFile)formoreinformation.
OutputfilesforNetGenEquivalenceChecking
TheNetGenEquivalenceCheckingowusesthefollowinglesasoutput:
•Verilog(.v)le-AnIEEE1364-2001compliantVerilogHDLlethatcontainsthe
netlistinformationobtainedfromtheinputle.Thisleisanequivalencechecking
modelandcannotbesynthesizedorusedinanyothermannerthanequivalence
checking.
•Formality(.svf)le-AnassertionlewrittenfortheFormalityequivalence
checkingtool.Thisleprovidesinformationaboutsomeofthetransformationsthat
adesignwentthrough,afteritwasprocessedbyXilinximplementationtools.
•Conformal-LEC(.vxc)le-AnassertionlewrittenfortheConformal-LEC
equivalencecheckingtool.Thisleprovidesinformationaboutsomeofthe
transformationsthatadesignwentthrough,afteritwasprocessedbyXilinx
implementationtools.
NoteForspecicinformationonConformal-LECandFormalitytools,pleasereferto
theSynthesisandSimulationDesignGuide(UG626).
SyntaxforNetGenEquivalenceChecking
ThefollowingcommandrunstheNetGenEquivalenceCheckingow:
netgen-ecn[tool_name][options]input_file[.ncd|.ngd]ngm_file
optionsisoneormoreoftheoptionslistedintheOptionsforNetGenEquivalence
CheckingFlowsection.
tool_nameisarequiredswitchthatgeneratesanetlistcompatiblewithequivalence
checkingtools.Validtool_nameargumentsareconformalorformality.For
additionalinformationonequivalencecheckingandformalvericationtools,please
refertotheSynthesisandSimulationDesignGuide.
56w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

input_leistheinputlename.IfanNGDleisused,the.ngdextensionmustbe
specied.
ngm_le(optional,butrecommended)istheinputlename,whichisadesignle,
producedbyMAP ,thatcontainsinformationaboutwhatwastrimmedandtransformed
duringtheMAPprocess.
TogethelponthecommandlineforNetGenEquivalenceCheckingcommands,type
netgen-hecn.
OptionsforNetGenEquivalenceCheckingFlow
ThissectiondescribesthesupportedNetGencommandlineoptionsforequivalence
checking.
•-aka(WriteAlso-Known-AsNamesasComments)
•-bd(BlockRAMDataFile)
•-bx(BlockRAMInitFileDirectory)
•-dir(DirectoryName)
•-ecn(EquivalenceChecking)
•-fn(ControlFlatteningaNetlist)
•-intstyle(IntegrationStyle)
•-mhf(MultipleHierarchicalFiles)
•-ne(NoNameEscaping)
•-ngm(DesignCorrelationFile)
•-w(OverwriteExistingFiles)
Chapter4:NetGen
-aka(WriteAlso-Known-AsNamesasComments)
Thisoptionincludesoriginaluser-denedidentiersascommentsinthenetlist.This
optionisusefulifuser-denedidentiersarechangedbecauseofnamelegalization
processesinNetGen.
Syntax
-aka
-bd(BlockRAMDataFile)
ThisoptionspeciesthepathandlenameoftheleusedtopopulatetheBlockRAM
instancesspeciedinthe.bmmle.Data2MEMcandeterminetheADDRESS_BLOCKin
whichtoplacethedatafromaddressanddatainformationinthe.elf(fromEDK)or
.memle.Youcanincludemorethanoneinstanceof-bd.
Optionally,youcanspecifytagtagname,inwhichcaseonlytheaddressspaceswith
thesamenameinthe.bmmleareusedfortranslation,anddataoutsideofthetagname
addressspacesareignored.
Syntax
-bdfilename[.elf|.mem][tagtagname]
NoteWhenusingthisoption,youmustalsouse-bx(BlockRAMInitFilesDirectory)to
specifythedirectoryintowhichtheBlockRAMInitializationleswillbewritten.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 57

Chapter4:NetGen
-bx(BlockRAMInitFilesDirectory)
ThisoptionspeciesthedirectoryintowhichtheBlockRAMInitializationleswill
bewritten.
Syntax
-bxbram_output_dir
-dir(DirectoryName)
Thisoptionspeciesthedirectoryfortheoutputles.
Syntax
-dirdirectory_name
-ecn(EquivalenceChecking)
Thisoptiongeneratesanequivalencecheckingnetlisttouseinformalvericationofan
FPGAdesign.
Foradditionalinformationonequivalencecheckingandformalvericationtools,please
refertotheSynthesisandSimulationDesignGuide(UG626).
Syntax
netgen-ecntool_name
tool_nameisthenameofthetoolforwhichtooutputthenetlist.V alidtoolnamesare
conformalandformality.
-fn(ControlFlatteningaNetlist)
Thisoptionoutputsaattenednetlist.Aatnetlistdoesnotincludeanydesign
hierarchy.
Syntax
-fn
-intstyle(IntegrationStyle)
Thisoptionlimitsscreenoutput,basedontheintegrationstylethatyouarerunning,to
warninganderrormessagesonly.
Syntax
-intstyleise|xflow|silent
Whenusing-intstyle,oneofthreemodesmustbespecied:
•-intstyleiseindicatestheprogramisbeingrunaspartofanintegrateddesign
environment.
•-intstylexflowindicatestheprogramisbeingrunaspartofanintegrated
batchow.
•-intstylesilentlimitsscreenoutputtowarninganderrormessagesonly.
Note-intstyleisautomaticallyinvokedwhenrunninginanintegratedenvironment
suchasProjectNavigatororXFLOW.
58w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-mhf(MultipleHierarchicalFiles)
Thisoptionisusedtowritemultiplehierarchicalles.Onehierarchicallewillbe
writtenforeachmodulethathastheKEEP_HIERARCHYattribute.
NoteSeePreservingandW ritingHierarchyFilesforadditionalinformation.
Syntax
-mhf
-ne(NoNameEscaping)
Thisoptionreplacesinvalidcharacterswithunderscores,sothatnameescapingdoes
notoccur.Forexample,thenetname“p1$40/empty”becomes“p1$40_empty”when
youdonotusenameescaping.Theleadingbackslashdoesnotappearaspartofthe
identier.TheresultingVeriloglecanbeusedifavendor’sVerilogsoftwarecannot
interpretescapedidentierscorrectly.
Syntax
-ne
Bydefault(withoutthe-neoption),NetGen“escapes”illegalblockornetnamesinyour
designbyplacingaleadingbackslash(\)beforethenameandappendingaspaceatthe
endofthename.Forexample,thenetname“p1$40/empty”becomes“\p1$40/empty
”whennameescapingisused.IllegalVerilogcharactersarereservedVerilognames,
suchas“input”and“output,”andanycharactersthatdonotconformtoVerilognaming
standards.
Chapter4:NetGen
-ngm(DesignCorrelationFile)
ThisoptionisusedtospecifyanNGMdesigncorrelationle.Thisoptionisusedfor
equivalencecheckingows.
Syntax
-ngm[ngm_file]
-w(OverwriteExistingFiles)
ThisoptioncausesNetGentooverwritethenetlist(.vhdor.v)leifitexists.By
default,NetGendoesnotoverwritethenetlistle.
NoteAllotheroutputlesareautomaticallyoverwritten.
Syntax
-w
NetGenStaticTimingAnalysisFlow
ThissectiondescribestheNetGenStaticTimingAnalysisow,whichisusedfor
analyzingthetiming,includingminimumofmaximumdelayvalues,ofFPGAdesigns.
Minimumofmaximumdelaysareusedbystatictiminganalysistoolstocalculate
skew,setupandholdvalues.Minimumofmaximumdelaysaretheminimumdelay
valuesofadeviceunderaspeciedoperatingcondition(speedgrade,temperatureand
voltage).Iftheoperatingtemperatureandvoltagearenotspecied,thentheworstcase
temperatureandvoltagevaluesareused.Notethattheminimumofmaximumdelay
valueisdifferentfromtheprocessminimumgeneratedbyusingthe-sminoption.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 59

Chapter4:NetGen
ThefollowingexampleshowsDELAYpropertiescontainingrelativeminimumand
maximumdelays.
(DELAY)
(ABSOLUTE)
(PORTI(234:292:292)(234:292:292))
(IOPATHIO(392:489:489)(392:489:489))
NoteBoththeTYPandMAXeldscontainthemaximumdelay .
NetGenusestheStaticTimingAnalysisowtogenerateVerilogandSDFnetlists
compatiblewithsupportedstatictiminganalysistools.
StaticTimingAnalysisFlowforFPGAs
InputfilesforStaticTimingAnalysis
TheStaticTimingAnalysisowusesthefollowinglesasinput:
•NCDle-Thisphysicaldesignlemaybemappedonly ,partiallyorfullyplaced,
orpartiallyorfullyrouted.
•PCF(optional)-Thisisaphysicalconstraintsle.Ifproratedvoltageand
temperatureisappliedtothedesign,thePCFlemustbeincludedtopassthis
informationtoNetGen.See-pcf(PCFFile)formoreinformation.
OutputfilesforStaticTimingAnalysis
TheStaticTimingAnalysisowusesthefollowinglesasoutput:
•SDFle-ThisSDF3.0compliantstandarddelayformatlecontainsdelays
obtainedfromtheinputle.
•Verilog(.v)le-AnIEEE1364-2001compliantVerilogHDLlethatcontainsnetlist
informationobtainedfromtheinputle.Thisleisatimingsimulationmodel
andcannotbesynthesizedorusedinanymannerotherthanforstatictiming
analysis.Thisnetlistusessimulationprimitives,whichmaynotrepresentthe
trueimplementationofthedevice.Thenetlistrepresentsafunctionalmodelof
theimplementeddesign.
SyntaxforNetGenStaticTimingAnalysis
ThefollowingcommandrunstheNetGenStaticTimingAnalysisow:
netgen-stainput_file[.ncd]
input_leistheinputlename.
Togethelponthecommandlineforstatictiminganalysis,typenetgen-hsta.
60w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

OptionsforNetGenStaticTimingAnalysisFlow
ThissectiondescribesthesupportedNetGencommandlineoptionsforstatictiming
analysis.
•-aka(WriteAlso-Known-AsNamesasComments)
•-bd(BlockRAMDataFile)
•-bx(BlockRAMInitFileDirectory)
•-dir(DirectoryName)
•-fn(ControlFlatteningaNetlist)
•-intstyle(IntegrationStyle)
•-mhf(MultipleHierarchicalFiles)
•-ne(NoNameEscaping)
•-pcf(PCFFile)
•-s(ChangeSpeed)
•-sta(GenerateStaticTimingAnalysisNetlist)
•-w(OverwriteExistingFiles)
-aka(WriteAlso-Known-AsNamesasComments)
Chapter4:NetGen
Thisoptionincludesoriginaluser-denedidentiersascommentsinthenetlist.This
optionisusefulifuser-denedidentiersarechangedbecauseofnamelegalization
processesinNetGen.
Syntax
-aka
-bd(BlockRAMDataFile)
ThisoptionspeciesthepathandlenameoftheleusedtopopulatetheBlockRAM
instancesspeciedinthe.bmmle.Data2MEMcandeterminetheADDRESS_BLOCKin
whichtoplacethedatafromaddressanddatainformationinthe.elf(fromEDK)or
.memle.Youcanincludemorethanoneinstanceof-bd.
Optionally,youcanspecifytagtagname,inwhichcaseonlytheaddressspaceswith
thesamenameinthe.bmmleareusedfortranslation,anddataoutsideofthetagname
addressspacesareignored.
Syntax
-bdfilename[.elf|.mem][tagtagname]
NoteWhenusingthisoption,youmustalsouse-bx(BlockRAMInitFilesDirectory)to
specifythedirectoryintowhichtheBlockRAMInitializationleswillbewritten.
-bx(BlockRAMInitFilesDirectory)
ThisoptionspeciesthedirectoryintowhichtheBlockRAMInitializationleswill
bewritten.
Syntax
-bxbram_output_dir
-dir(DirectoryName)
Thisoptionspeciesthedirectoryfortheoutputles.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 61

Chapter4:NetGen
Syntax
-dirdirectory_name
-fn(ControlFlatteningaNetlist)
Thisoptionoutputsaattenednetlist.Aatnetlistdoesnotincludeanydesign
hierarchy.
Syntax
-fn
-intstyle(IntegrationStyle)
Thisoptionlimitsscreenoutput,basedontheintegrationstylethatyouarerunning,to
warninganderrormessagesonly.
Syntax
-intstyleise|xflow|silent
Whenusing-intstyle,oneofthreemodesmustbespecied:
•-intstyleiseindicatestheprogramisbeingrunaspartofanintegrateddesign
environment.
•-intstylexflowindicatestheprogramisbeingrunaspartofanintegrated
batchow.
•-intstylesilentlimitsscreenoutputtowarninganderrormessagesonly.
Note-intstyleisautomaticallyinvokedwhenrunninginanintegratedenvironment
suchasProjectNavigatororXFLOW.
-mhf(MultipleHierarchicalFiles)
Thisoptionisusedtowritemultiplehierarchicalles.Onehierarchicallewillbe
writtenforeachmodulethathastheKEEP_HIERARCHYattribute.
NoteSeePreservingandW ritingHierarchyFilesforadditionalinformation.
Syntax
-mhf
-ne(NoNameEscaping)
Thisoptionreplacesinvalidcharacterswithunderscores,sothatnameescapingdoes
notoccur.Forexample,thenetname“p1$40/empty”becomes“p1$40_empty”when
youdonotusenameescaping.Theleadingbackslashdoesnotappearaspartofthe
identier.TheresultingVeriloglecanbeusedifavendor’sVerilogsoftwarecannot
interpretescapedidentierscorrectly.
Syntax
-ne
Bydefault(withoutthe-neoption),NetGen“escapes”illegalblockornetnamesinyour
designbyplacingaleadingbackslash(\)beforethenameandappendingaspaceatthe
endofthename.Forexample,thenetname“p1$40/empty”becomes“\p1$40/empty
”whennameescapingisused.IllegalVerilogcharactersarereservedVerilognames,
suchas“input”and“output,”andanycharactersthatdonotconformtoVerilognaming
standards.
62w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-pcf(PCFFile)
-s(ChangeSpeed)
Chapter4:NetGen
ThisoptionletsyouspecifyaPhysicalConstraintsFile(PCF)asinputtoNetGen.You
onlyneedtospecifyaPCFleifyouuseproratingconstraints(temperatureand/or
voltage).
TemperatureandvoltageconstraintsandprorateddelaysaredescribedintheConstraints
Guide(UG625).
Syntax
-pcfpcf_file.pcf
ThisoptioninstructsNetGentoannotatethedevicespeedgradeyouspecifytothe
netlist.
Syntax
-sspeedgrade|min
speedgradecanbeenteredwithorwithouttheleadingdash.Forexample,both-s3
and-s-3areallowed.
Somearchitecturessupportthe-sminoption,whichinstructsNetGentoannotate
aprocessminimumdelay,ratherthanamaximumworst-casetothenetlist.Usethe
SpeedprintorPARTGenutilityprogramsinthesoftwaretodeterminewhetherprocess
minimumdelaysareavailableforyourtargetarchitecture.SeethePARTGenchapterfor
additionalinformation.
SettingsmadewiththisoptionoverrideproratedtimingparametersinthePhysical
ConstraintsFile(PCF).Ifyouuse-smin,alleldsintheresultingSDFle
(MIN:TYP:MAX)aresettotheprocessminimumvalue.
-sta(GenerateStaticTimingAnalysisNetlist)
Thisoptionwritesastatictiminganalysisnetlist.
Syntax
-sta
-w(OverwriteExistingFiles)
ThisoptioncausesNetGentooverwritethenetlist(.vhdor.v)leifitexists.By
default,NetGendoesnotoverwritethenetlistle.
NoteAllotheroutputlesareautomaticallyoverwritten.
Syntax
-w
PreservingandWritingHierarchyFiles
Whenhierarchyispreservedduringsynthesisandimplementationusingthe
KEEP_HIERARCHYconstraint,theNetGen-mhfoptionwritesseparatenetlistsand
SDFles(ifapplicable)foreachpieceofhierarchy .
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 63

Chapter4:NetGen
ThehierarchyofSTARTUPandglbl(V erilogonly)modulesispreservedintheoutput
netlist.Ifthe-mhfoptionisusedandthereisatleastonehierarchicalblockwiththe
KEEP_HIERARCHYconstraintinthedesign,NetGenwritesoutaseparatenetlistle
fortheSTARTUPandglblmodules.IfthereisnoblockwiththeKEEP_HIERARCHY
constraint,the-mhfoptionisignoredevenifthereareSTARTUPandglblmodules
inthedesign.
Thissectiondescribestheoutputletypesproducedwiththe-mhfoption.Thetypeof
netlistoutputbyNetGendependsonwhetheryouarerunningtheNetGensimulation,
equivalencechecking,orstatictiminganalysisow .Forsimulation,NetGenoutputsa
VerilogorVHDLle.The-ofmtoptionmustbeusedtospecifytheoutputletypeyou
wishtoproducewhenyouarerunningtheNetGensimulationow .
NoteWhenVerilogisspecied,the$sdf_annotateisincludedintheVerilognetlistfor
eachmodule.
Thefollowingtableliststhebasenamingconventionforhierarchyoutputles:
HierarchyFileContent
HierarchyFile
ContentSimulation
FilewithTop-level
Module
FilewithLowerLevel
Module
The[module_name]isthenameofthehierarchicalmodulefromthefront-endthattheuser
isalreadyfamiliarwith.Therearecaseswhenthe[module_name]coulddiffer,theyare:
•Ifmultipleinstancesofamoduleareusedinthedesign,theneachinstantiationof
themoduleisuniquebecausethetimingforthemoduleisdifferent.Thenamesare
madeuniquebyappendinganunderscorefollowedbyaINST_stringandacount
value(e.g.,numgen,numgen_INST_1,numgen_INST_2).
•Ifanewlenameclasheswithanexistinglenamewithinthenamescope,thenthe
newnamewillbe[module_name]_[instance_name].
TestbenchFile
Atestbenchleiscreatedforthetop-leveldesignwhenthe-tboptionisused.The
basenameofthetestbenchleisthesameasthebasenameofthedesign,witha.tv
extensionforVerilog,anda.tvhdextensionforVHDL.
HierarchyInformationFile
Equivalence
Checking
[input_lename]
(default),oruser
speciedoutput
lename
[module_name].sim[module_name].ecn[module_name].sta
[input_lename].ecn,
oruserspecied
outputlename
StaticTiming
Analysis
[input_lename].sta,or
userspeciedoutput
lename
Inadditiontowritingseparatenetlists,NetGenalsogeneratesaseparatetextle
containinghierarchyinformation.Thefollowinginformationappearsinthehierarchy
textle.NONEappearsifoneofthelesdoesnothaverelativeinformation.
//Module:Thenameofthehierarchicaldesignmodule.
//Instance:Theinstancenameusedintheparentmodule.
//DesignFile:Thenameofthefilethatcontainsthemodule.
//SDFFile:TheSDFfileassociatedwiththemodule.
//SubModule:Thesubmodule(s)containedwithinagivenmodule.
//Module,Instance:Thesubmoduleandinstancenames.
NoteThehierarchyinformationleforatop-leveldesigndoesnotcontainanInstance
eld.
64w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Thebasenameofthehierarchyinformationleis:design_base_name_mhf_info.txt
TheSTARTUPblockisonlysupportedonthetop-leveldesignmodule.Theglobalset
reset(GSR)andglobaltristatesignal(GTS)connectivityofthedesignismaintained
asdescribedintheDedicatedGlobalSignalsinBack-AnnotationSimulationsection
ofthischapter.
DedicatedGlobalSignalsinBack-AnnotationSimulation
Theglobalsetreset(GSR),PRLDforCPLDs,signalandglobaltristatesignal(GTS)are
globalroutingnetspresentinthedesignthatprovideameansofsetting,resetting,or
tristatingapplicablecomponentsinthedevice.Thesimulationbehaviorofthesesignals
ismodeledinthelibrarycellsoftheXilinxSIMPRIMlibraryandthesimulationnetlist
usingtheglblmoduleinVerilogandtheX_ROC/X_TOCcomponentsinVHDL.
ThefollowingsectionsexplaintheconnectivityforVerilogandVHDLnetlists.
GlobalSignalsinVerilogNetlist
ForVerilog,theglblmoduleisusedtomodelthedefaultbehaviorofGSRandGTS.The
glbl.GSRandglbl.GTScanbedirectlyreferencedasglobalGSR/GTSsignalsanywhere
inadesignorinanylibrarycells.
Chapter4:NetGen
NetGenwritesouttheglblmoduledenitionintheoutputVerilognetlist.Fora
non-hierarchicaldesignorasingle-lehierarchicaldesign,thisglblmoduledenition
iswrittenatthebottomofthenetlist.Forasingle-lehierarchicaldesign,theglbl
moduleisdenedinsidethetop-mostmodule.Foramulti-lehierarchicaldesign(-mhf
option),NetGenwritesoutglbl.vasahierarchicalmodule.
IftheGSRandGTSarebroughtouttothetop-leveldesignasportsusingthe-gpand
-tpoptions,thetop-mostmodulehasthefollowingconnectivity:
glbl.GSR=GSR_PORT
glbl.GTS=GTS_PORT
TheGSR_PORTandGTS_PORTareportsonthetop-levelmodulecreatedwiththe
-gpand-tpoptions.IfyouuseaSTARTUPblockinthedesign,theSTARTUPblock
istranslatedtobuffersthatpreservetheintendedconnectivityoftheuser-controlled
signalstotheglobalGSRandGTS(glbl.GSRandglbl.GTS).
WhenthereisaSTARTUPblockinthedesign,theSTARTUPblockhierarchicallevel
isalwayspreservedintheoutputnetlist.TheoutputofSTARTUPisconnectedtothe
globalGSR/GTSsignals(glbl.GSRandglbl.GTS).
Forallhierarchicaldesigns,theglblmodulemustbecompiledandreferencedalong
withthedesign.ForinformationonsettingtheGSRandGTSforFPGAs,seethe
SynthesisandSimulationDesignGuide(UG626).
GlobalSignalsinVHDLNetlist
GlobalsignalsforVHDLnetlistsareGSRandGTS,whicharedeclaredinthelibrary
packageSimprim_Vcomponents.vhd.TheGSRandGTScanbedirectlyreferenced
anywhereinadesignorinanylibrarycells.
TheX_ROCandX_TOCcomponentsintheVHDLlibrarymodelthedefaultbehaviorof
theGSRandGTS.Ifthe-gpand-tpoptionsarenotused,NetGeninstantiatesX_ROC
andX_TOCintheoutputnetlist.EachdesignhasonlyoneinstanceofX_ROCand
X_TOC.Forhierarchicaldesigns,X_ROCandX_TOCareinstantiatedinthetop-most
modulenetlist.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 65

Chapter4:NetGen
X_ROCandX_TOCareinstantiatedasshownbelow:
X_ROC(O=>GSR);
X_TOC(O=>GTS);.
IftheGSRandGTSarebroughtouttothetop-leveldesignusingthe-gpand-tp
options,therewillbenoX_ROCorX_TOCinstantiationinthedesignnetlist.Instead,
thetop-mostmodulehasthefollowingconnectivity:
GSR<=GSR_PORT
GTS<=GTS_PORT
TheGSR_PORTandGTS_PORTareportsonthetop-levelmodulecreatedwiththe
-gpand-tpoptions.
WhenthereisaSTARTUPblockinthedesign,theSTARTUPblockhierarchicallevel
ispreservedintheoutputnetlist.TheoutputofSTARTUPisconnectedtotheglobal
GSRandGTSsignals.
ForinformationonsettingGSRandGTSforFPGAs,seetheSynthesisandSimulation
DesignGuide(UG626).
66w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

LogicalDesignRuleCheck(DRC)
ThischapterdescribestheLogicalDesignRuleCheck(DRC).
LogicalDRCOverview
TheLogicalDesignRuleCheck(DRC),alsoknownastheNGDDRC,comprisesaseries
ofteststoverifythelogicaldesignintheNativeGenericDatabase(NGD)le.The
LogicalDRCperformsdevice-independentchecks.
TheLogicalDRCgeneratesmessagestoshowthestatusofthetestsperformed.
Messagescanbeerrormessages(forconditionswherethelogicwillnotoperate
correctly)orwarnings(forconditionswherethelogicisincomplete).
TheLogicalDRCrunsautomaticallyatthefollowingtimes:
•AttheendofNGDBuild,beforeNGDBuildwritesouttheNGDle
NGDBuildwritesouttheNGDleifDRCwarningsarediscovered,butdoesnot
writeoutanNGDleifDRCerrorsarediscovered.
•AttheendofNetGen,beforewritingoutthenetlistle
Thenetlistwriter(NetGen)doesnotperformtheentireDRC.Itonlyperformsthe
NetchecksandNamechecks.ThenetlistwriterwritesoutanetlistleevenifDRC
warningsorerrorsarediscovered.
Chapter5
LogicalDRCDeviceSupport
Thisprogramiscompatiblewiththefollowingdevicefamilies:
•7series
•Spartan®-3,Spartan-3A,Spartan-3E,andSpartan-6
•Virtex®-4,Virtex-5,andVirtex-6
•CoolRunner™XPLA3andCoolRunner-II
•XC9500andXC9500XL
LogicalDRCChecks
TheLogicalDRCperformsthefollowingtypesofchecks:
•Blockcheck
•Netcheck
•Padcheck
•Clockbuffercheck
•Namecheck
•Primitivepincheck
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 67

Chapter5:LogicalDesignRuleCheck(DRC)
BlockCheck
TheblockcheckveriesthateachterminalsymbolintheNGDhierarchy(thatis,each
symbolthatisnotresolvedtoanylower-levelcomponents)isanNGDprimitive.A
blockcheckfailureistreatedasanerror.Aspartoftheblockcheck,theDRCalso
checksuser-denedpropertiesonsymbolsandthevaluesonthepropertiestomake
suretheyarelegal.
NetCheck
ThenetcheckdeterminesthenumberofNGDprimitiveoutputpins(drivers),3-state
pins(drivers),andinputpins(loads)oneachsignalinthedesign.Ifasignaldoes
nothaveatleastonedriver(orone3-statedriver)andatleastoneload,awarningis
generated.Anerrorisgeneratedifasignalhasmultiplenon-3-statedriversorany
combinationof3-stateandnon-3-statedrivers.Aspartofthenetcheck,theDRCalso
checksuser-denedpropertiesonsignalsandthevaluesonthepropertiestomake
suretheyarelegal.
PadCheck
Thepadcheckveriesthateachsignalconnectedtopadprimitivesobeysthefollowing
rules.
•IfthePADisaninputpad,thesignaltowhichitisconnectedcanonlybeconnected
tothefollowingtypesofprimitives:
–Buffers
–Clockbuffers
–PULLUP
–PULLDOWN
–KEEPER
–BSCAN
Theinputsignalcanbeattachedtomultipleprimitives,butonlyoneofeachof
theabovetypes.Forexample,thesignalcanbeconnectedtoabufferprimitive,
aclockbufferprimitive,andaPULLUPprimitive,butitcannotbeconnected
toabufferprimitiveandtwoclockbufferprimitives.Also,thesignalcannot
beconnectedtobothaPULLUPprimitiveandaPULLDOWNprimitive.Any
violationoftherulesaboveresultsinanerror,withtheexceptionofsignals
attachedtomultiplepull-upsorpull-downs,whichproducesawarning.A
signalthatisnotattachedtoanyoftheabovetypesofprimitivesalsoproducesa
warning.
•IfthePADisanoutputpad,thesignalitisattachedtocanonlybeconnectedto
oneofthefollowingprimitiveoutputs:
–Asinglebufferprimitiveoutput
–Asingle3-stateprimitiveoutput
–AsingleBSCANprimitive
Inaddition,thesignalcanalsobeconnectedtooneofthefollowingprimitives:
–AsinglePULLUPprimitive
–AsinglePULLDOWNprimitive
–AsingleKEEPERprimitive
Anyotherprimitiveoutputconnectionsonthesignalwillresultinanerror.
Iftheconditionaboveismet,theoutputP ADsignalmayalsobeconnectedto
oneclockbufferprimitiveinput,onebufferprimitiveinput,orboth.
68w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

•IfthePADisabidirectionalorunbondedpad,thesignalitisattachedtomustobey
therulesstatedaboveforinputandoutputpads.Anyotherprimitiveconnections
onthesignalresultsinanerror.Thesignalconnectedtothepadmustbecongured
asbothaninputandanoutputsignal;ifitisnot,youreceiveawarning.
•Ifthesignalattachedtothepadhasaconnectiontoatop-levelsymbolofthedesign,
thattop-levelsymbolpinmusthavethesametypeasthepadpin,exceptthatoutput
padscanbeassociatedwith3-statetop-levelpins.Aviolationofthisruleresults
inawarning.
•Ifasignalisconnectedtomultiplepads,anerrorisgenerated.Ifasignalis
connectedtomultipletop-levelpins,awarningisgenerated.
ClockBufferCheck
Theclockbuffercongurationcheckveriesthattheoutputofeachclockbuffer
primitiveisconnectedtoonlyinverter,ip-oporlatchprimitiveclockinputs,orother
clockbufferinputs.Violationsaretreatedaswarnings.
NameCheck
Chapter5:LogicalDesignRuleCheck(DRC)
ThenamecheckveriestheuniquenessofnamesonNGDobjectsusingthefollowing
criteria:
•Pinnamesmustbeuniquewithinasymbol.Aviolationresultsinanerror.
•Instancenamesmustbeuniquewithintheinstancespositioninthehierarchy(that
is,asymbolcannothavetwosymbolswiththesamenameunderit).Aviolation
resultsinawarning.
•Signalnamesmustbeuniquewithinthesignalshierarchicallevel(thatis,ifyou
pushdownintoasymbol,youcannothavetwosignalswiththesamename).A
violationresultsinawarning.
•Globalsignalnamesmustbeuniquewithinthedesign.Aviolationresultsina
warning.
PrimitivePinCheck
Theprimitivepincheckveriesthatcertainpinsoncertainprimitivesareconnected
tosignalsinthedesign.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 69

70w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

NGDBuild
ThischapterdescribestheNGDBuildprogram.
NGDBuildOverview
NGDBuildreadsinanetlistleinEDIForNGCformatandcreatesaXilinx®Native
GenericDatabase(NGD)lethatcontainsalogicaldescriptionofthedesignintermsof
logicelements,suchasANDgates,ORgates,LUTs,ip-ops,andRAMs.
TheNGDlecontainsbothalogicaldescriptionofthedesignreducedtoXilinx
primitivesandadescriptionoftheoriginalhierarchyexpressedintheinputnetlist.The
outputNGDlecanbemappedtothedesireddevicefamily .
ThefollowinggureshowsasimpliedversionoftheNGDBuilddesignow.
NGDBuildinvokesotherprogramsthatarenotshowninthefollowinggure.
Chapter6
NGDBuildDesignFlow
NGDBuildDeviceSupport
Thisprogramiscompatiblewiththefollowingdevicefamilies:
•7series
•Spartan®-3,Spartan-3A,Spartan-3E,andSpartan-6
•Virtex®-4,Virtex-5,andVirtex-6
•CoolRunner™XPLA3andCoolRunner-II
•XC9500andXC9500XL
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 71

Chapter6:NGDBuild
ConvertingaNetlisttoanNGDFile
NGDBuildperformsthefollowingstepstoconvertanetlisttoanNGDle:
1.Readsthesourcenetlist
NGDBuildinvokestheNetlistLauncher.TheNetlistLauncherdeterminestheinput
netlisttypeandstartstheappropriatenetlistreaderprogram.Thenetlistreader
incorporatesNCFlesassociatedwitheachnetlist.NCFlescontaintimingand
layoutconstraintsforeachmodule.TheNetlistLauncherisdescribedindetailinthe
NetlistLauncher(Netlister)appendix.
2.ReducesallcomponentsinthedesigntoNGDprimitives
NGDBuildmergescomponentsthatreferenceotherles.NGDBuildalsonds
theappropriatesystemlibrarycomponents,physicalmacros(NMCles),and
behavioralmodels.
3.ChecksthedesignbyrunningaLogicalDesignRuleCheck(DRC)ontheconverted
design
LogicalDRCisaseriesoftestsonalogicaldesign.ItisdescribedintheLogical
DesignRuleCheckchapter.
4.WritesanNGDleasoutput
NGDBuildInputFiles
NoteThisprocedure,theNetlistLauncher,andthenetlistreaderprogramsare
describedinmoredetailintheAppendix.
NGDBuildusesthefollowinglesasinput:
TheinputdesigncanbeanEDIF200orNGCnetlistle.Iftheinputnetlistisinanother
formatrecognizedbytheNetlistLauncher,theNetlistLauncherinvokestheprogram
necessarytoconvertthenetlisttoEDIFformatandtheninvokestheappropriatenetlist
reader,EDIF2NGD.
WiththedefaultNetlistLauncheroptions,NGDBuildrecognizesandprocessesles
withtheextensionsshowninthefollowingtable.NGDBuildsearchesthetop-level
designnetlistdirectoryforanetlistlewithoneoftheextensions.Bydefault,NGDBuild
searchesforanEDIFlerst.
FileTypeRecognizedExtensions
EDIF
NGC
.sedif,.edn,.edf,.edif
.ngc
72w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter6:NGDBuild
Removealloutofdatenetlistlesfromyourdirectory.Obsoletenetlistlesmaycause
errorsinNGDBuild.
•UCFle-TheUserConstraintsFile(UCF)isanASCIIlethatyoucreate.Youcan
createthislebyhandorbyusingtheConstraintsEditor.SeetheHelpprovided
withtheConstraintsEditorformoreinformation.TheUCFlecontainstimingand
layoutconstraintsthataffecthowthelogicaldesignisimplementedinthetarget
device.TheconstraintsintheleareaddedtotheinformationintheoutputNGD
le.Formoreinformationonconstraints,seetheConstraintsGuide(UG625).
Bydefault,NGDBuildreadstheconstraintsintheUCFleautomaticallyiftheUCF
lehasthesamebasenameastheinputdesignleanda.ucfextension.Youcan
overridethedefaultbehaviorandspecifyadifferentconstraintslewiththe-uc
option.See-uc(UserConstraintsFile)formoreinformation.
•NCF-TheNetlistConstraintsFile(NCF)isproducedbyaCAEvendortoolset.This
lecontainsconstraintsspeciedwithinthetoolset.Thenetlistreaderinvokedby
NGDBuildreadstheconstraintsinthisleiftheNCFhasthesamenameasthe
inputEDIForNGCnetlist.ItaddstheconstraintstotheintermediateNGOleand
theoutputNativeGenericDatabase(NGD)le.NCFlesarereadinandannotated
totheNGOleduringanedif2ngdconversion.ThisalsoimpliesthatunlikeUCF
les,NCFconstraintsonlybindtoasinglenetlist;theydonotcrosslehierarchies.
NoteNGDBuildcheckstomakesuretheNGOleisup-to-dateandreruns
EDIF2NGDonlywhentheEDIFhasatimestampthatisnewerthantheNGOle.
UpdatingtheNCFhasnoaffectonwhetherEDIF2NGDisrerun.Therefore,ifthe
NGOisup-to-dateandyouonlyupdatetheNCFle(nottheEDIF),usethe-nton
optiontoforcetheregenerationoftheNGOlefromtheunchangedEDIFandnew
NCF.See-nt(NetlistTranslationType)formoreinformation.
•URFle-TheUserRulesFile(URF)isanASCIIlethatyoucreate.TheNetlist
Launcherreadsthisletodeterminetheacceptablenetlistinputles,thenetlist
readersthatreadtheseles,andthedefaultnetlistreaderoptions.Thislealso
allowsyoutospecifythird-partytoolcommandsforprocessingdesigns.TheURF
canaddtooroverridetherulesinthesystemrulesle.
YoucanspecifythelocationoftheURFwiththeNGDBuild-uroption.TheURF
musthavea.urfextension.See-ur(ReadUserRulesFile)orUserRulesFile(URF)
inAppendixBformoreinformation.
•NGCle-Thisbinarylecanbeusedasatop-leveldesignleorasamodulele:
Top-leveldesignle.
ThisleisoutputbytheXilinxSynthesisTechnology(XST)software.Seethe
descriptionofdesignlesearlierinthissectionfordetails.
NoteThisisnotatruenetlistle.However,itisreferredtoasanetlistinthiscontext
todifferentiateitfromtheNGCmodulele.NGClesareequivalenttoNGOles
createdbyEDIF2NGD,butarecreatedbyXSTandCOREGenerator™software.
•NMCles-Thesephysicalmacrosarebinarylesthatcontaintheimplementation
ofaphysicalmacroinstantiatedinthedesign.NGDBuildreadstheNMCleto
createafunctionalsimulationmodelforthemacro.
UnlessafullpathisprovidedtoNGDBuild,itsearchesfornetlist,NCF,NGC,NMC,
andMEMlesinthefollowinglocations:
•TheworkingdirectoryfromwhichNGDBuildwasinvoked.
•Thepathspeciedforthetop-leveldesignnetlistontheNGDBuildcommandline.
•Anypathspeciedwiththe-sd(SearchSpeciedDirectory)ontheNGDBuild
commandline.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 73

Chapter6:NGDBuild
NGDBuildIntermediateFiles
NGOles-Thesebinarylescontainalogicaldescriptionofthedesignintermsofits
originalcomponentsandhierarchy .TheselesarecreatedwhenNGDBuildreadsthe
inputEDIFnetlist.Iftheselesalreadyexist,NGDBuildreadstheexistingles.Ifthese
lesdonotexistorareoutofdate,NGDBuildcreatesthem.
NGDBuildOutputFiles
NGDBuildcreatesthefollowinglesasoutput:
•NGDle-TheNativeGenericDatabase(NGD)leisabinarylecontaining
alogicaldescriptionofthedesignintermsofbothitsoriginalcomponentsand
hierarchyandtheprimitivestowhichthedesignisreduced.
•BLDle-ThisbuildreportlecontainsinformationabouttheNGDBuildrunand
aboutthesubprocessesrunbyNGDBuild.SubprocessesincludeEDIF2NGD,and
programsspeciedintheURF.TheBLDlehasthesamerootnameastheoutput
NGDleanda.bldextension.Theleiswrittenintothesamedirectoryasthe
outputNGDle.
NGDBuildSyntax
ngdbuild[options]design_name[ngd_file[.ngd]]
optionscanbeanynumberoftheNGDBuildcommandlineoptionslistedinNGDBuild
Options.Enteroptionsinanyorder,precededthemwithadash(minussignonthe
keyboard)andseparatethemwithspaces.
design_nameisthetop-levelnameofthedesignleyouwanttoprocess.Toensurethe
designprocessescorrectly,specifyaleextensionfortheinputle,usingoneofthe
legalleextensionsspeciedinOverviewsection.Usinganincorrectornonexistentle
extensioncausesNGDBuildtofailwithoutcreatinganNGDle.Ifyouuseanincorrect
leextension,NGDBuildmayissueanunexpandederror.
NoteIfyouareusinganNGCleasyourinputdesign,youshouldspecifythe.ngc
extension.IfNGDBuildndsanEDIFnetlistorNGOleintheprojectdirectory,it
doesnotcheckforanNGCle.
ngd_leistheoutputleinNGDformat.Theoutputlename,itsextension,andits
locationaredeterminedasfollows:
•Ifyoudonotspecifyanoutputlename,theoutputlehasthesamenameas
theinputle,withan.ngdextension.
•Ifyouspecifyanoutputlenamewithnoextension,NGDBuildappendsthe.ngd
extensiontothelename.
•Ifyouspecifyalenamewithanextensionotherthan.ngd,yougetanerror
messageandNGDBuilddoesnotrun.
•Iftheoutputlealreadyexists,itisoverwrittenwiththenewle.
74w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

NGDBuildOptions
Chapter6:NGDBuild
ThissectiondescribestheNGDBuildcommandlineoptions.
•-a(AddPADstoT op-LevelPortSignals)
•-aul(AllowUnmatchedLOCs)
•-aut(AllowUnmatchedTimegroups)
•-bm(SpecifyBMMFiles)
•-dd(DestinationDirectory)
•-f(ExecuteCommandsFile)
•-i(IgnoreUCFFile)
•-insert_keep_hierarchy(InsertKEEP_HIERARCHYconstraint)
•-intstyle(IntegrationStyle)
•-lter(FilterFile)
•-l(LibrariestoSearch)
•-nt(NetlistTranslationType)
•-p(PartNumber)
•-quiet(Quiet)
•-r(IgnoreLOCConstraints)
•-sd(SearchSpeciedDirectory)
•-u(AllowUnexpandedBlocks)
•-uc(UserConstraintsFile)
•-ur(ReadUserRulesFile)
•-verbose(ReportAllMessages)
-a(AddPADstoTop-LevelPortSignals)
Ifthetop-levelinputnetlistisinEDIFformat,thisoptioncausesNGDBuildtoadda
PADsymboltoeverysignalthatisconnectedtoaportontheroot-levelcell.Thisoption
hasnoeffectonlower-levelnetlists.
Syntax
-a
Usingthe-aoptiondependsonthebehaviorofyourthird-partyEDIFwriter.Ifyour
EDIFwritertreatspadsasinstances(likeotherlibrarycomponents),donotuse-a.If
yourEDIFwritertreatspadsashierarchicalports,use-atoinferactualpadsymbols.If
youdonotuse-awherenecessary ,logicmaybeimproperlyremovedduringmapping.
ForEDIFlesproducedbyMentorGraphicsandCadenceschematictools,the-aoption
issetautomatically;youdonothavetoenter-aexplicitlyforthesevendors.
NoteTheNGDBuild-aoptioncorrespondstotheEDIF2NGD-aoption.Ifyourun
EDIF2NGDonthetop-levelEDIFnetlistseparately ,ratherthanallowingNGDBuildto
runEDIF2NGD,youmustusethetwo-aoptionsconsistently .Ifyoupreviouslyran
NGDBuildonyourdesignandNGOlesarepresent,youmustusethe-ntonoption
thersttimeyouuse-a.ThisforcesarebuildoftheNGOles,allowingEDIF2NGDto
runthe-aoption.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 75

Chapter6:NGDBuild
-aul(AllowUnmatchedLOCs)
Bydefaulttheprogramgeneratesanerroriftheconstraintsspeciedforpin,net,or
instancenamesintheUCForNCFlecannotbefoundinthedesign,andanNGD
leisnotwritten.UsethisoptiontogenerateawarninginsteadofanerrorforLOC
constraintsandmakesureanNGDleiswritten.
Syntax
-aul
Youmaywanttorunthisprogramwiththe-auloptionifyourconstraintsleincludes
locationconstraintsforpin,net,orinstancenamesthathavenotyetbeendenedinthe
HDLorschematic.Thisallowsyoutomaintainoneversionofyourconstraintslesfor
bothpartiallycompleteandnaldesigns.
NoteWhenusingthisoption,makesureyoudonothavemisspellednetorinstance
namesinyourdesign.Misspellednamesmaycauseinaccurateplacingandrouting.
-aut(AllowUnmatchedTimegroups)
BydefaulttheprogramgeneratesanerroriftimegroupsspeciedintheUCForNCF
lecannotbefoundinthedesign,andanNGDleisnotwritten.Usethisoptionto
generateawarninginsteadofanerrorfortimegroupconstraintsandmakesurean
NGDleiswritten.
Syntax
-aut
Youmaywanttorunthisprogramwiththe-autoptionifyourconstraintsleincludes
timegroupconstraintsthathavenotyetbeendenedintheHDLorschematic.This
allowsyoutomaintainoneversionofyourconstraintslesforbothpartiallycomplete
andnaldesigns.
NoteWhenusingthisoption,makesureyoudonothavemisspelledtimegroupnames
inyourdesign.Misspellednamesmaycauseinaccurateplacingandrouting.
-bm(SpecifyBMMFiles)
ThisoptionspeciesaswitchfortheBMMles.Iftheleextensionismissing,a.bmm
leextensionisassumed.
Syntax
-bmfile_name[.bmm]
Ifthisoptionisunspecied,theELForMEMrootlenamewitha.bmmextension
isassumed.Ifonlythisoptionisgiven,thenNGDBuildveriesthattheBMMleis
syntacticallycorrectandmakessurethattheinstancesspeciedintheBMMleexistin
thedesign.Onlyone-bmoptioncanbeused.
-dd(DestinationDirectory)
Thisoptionspeciesthedirectoryforintermediateles(designNGOlesandnetlist
les).Ifthe-ddoptionisnotspecied,lesareplacedinthecurrentdirectory .
Syntax
-ddNGOoutput_directory
76w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-f(ExecuteCommandsFile)
Thisoptionexecutesthecommandlineargumentsinthespeciedcommand_le.
Syntax
-fcommand_file
Formoreinformationonthe-foption,see-f(ExecuteCommandsFile)inthe
Introductionchapter.
-i(IgnoreUCFFile)
ThisoptiontellsNGDBuildtoignoretheUCFle.WithoutthisoptionNGDBuildreads
theconstraintsintheUCFleautomaticallyiftheUCFleinthetop-leveldesignnetlist
directoryhasthesamebasenameastheinputdesignleanda.ucfextension.
Syntax
-i
NoteIfyouusethisoption,donotusethe-ucoption.
Chapter6:NGDBuild
-insert_keep_hierarchy(InsertKEEP_HIERARCHYconstraint)
ThisoptionautomaticallyattachestheKEEP_HIERARCHYconstrainttoeachinput
netlist.Itshouldonlybeusedwhenperformingabottom-upsynthesisow,where
separatenetlistsarecreatedforeachpieceofhierarchy .Whenusingthisoptionyou
shouldusegooddesignpracticesasdescribedintheSynthesisandSimulationDesign
Guide(UG626).
Syntax
-insert_keep_hierarchy
NoteCareshouldbetakenwhentryingtousethisoptionwithCores,astheymay
notbecodedformaintaininghierarchy.
-intstyle(IntegrationStyle)
Thisoptionlimitsscreenoutput,basedontheintegrationstylethatyouarerunning,to
warninganderrormessagesonly.
Syntax
-intstyleise|xflow|silent
Whenusing-intstyle,oneofthreemodesmustbespecied:
•-intstyleiseindicatestheprogramisbeingrunaspartofanintegrateddesign
environment.
•-intstylexflowindicatestheprogramisbeingrunaspartofanintegrated
batchow.
•-intstylesilentlimitsscreenoutputtowarninganderrormessagesonly.
Note-intstyleisautomaticallyinvokedwhenrunninginanintegratedenvironment
suchasProjectNavigatororXFLOW.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 77

Chapter6:NGDBuild
-filter(FilterFile)
Thisoptionspeciesalterle,whichcontainssettingstocaptureandltermessages
producedbytheprogramduringexecution.
Syntax
-filter[filter_file]
Bydefault,thelterlenameisfilter.filter.
-l(LibrariestoSearch)
Thisoptionletsyoulistthelibrariestosearchwhendeterminingwhatlibrary
componentswereusedtobuildthedesign.Thisoptionispassedtotheappropriate
netlistreader.TheinformationallowsNGDBuildtodeterminethesourceofthedesign
componentssoitcanresolvethecomponentstoNGDprimitives.
Syntax
-l{libname}
Tospecifymultiplelibraries,includemultiple-llibnameentriesontheNGDBuild
commandline.
Validentriesforlibnameare:
•xilinxun(Xilinx®Uniedlibrary)
•synopsys
NoteUsing-lxilinxunisoptional,sinceNGDBuildautomaticallyaccessesthese
libraries.IncaseswhereNGDBuildautomaticallydetectsSynopsysdesigns(for
example,thenetlistextensionis.sedif),-lsynopsysisalsooptional.
-nt(NetlistTranslationType)
ThisoptiondetermineshowtimestampsaretreatedbytheNetlistLauncherwhenitis
invokedbyNGDBuild.Atimestampisinformationinalethatindicatesthedateand
timethelewascreated.
Syntax
-nttimestamp|on|off
timestamp(thedefault)instructstheNetlistLaunchertoperformthenormaltimestamp
checkandupdateNGOlesaccordingtotheirtimestamps.
ontranslatesnetlistsregardlessoftimestamps(rebuildingallNGOles).
offdoesnotrebuildanexistingNGOle,regardlessofitstimestamp.
-p(PartNumber)
Thisoptionspeciesthepartintowhichyourdesignisimplemented.
Syntax
-ppart_number
NoteForsyntaxdetailsandexamples,see-p(PartNumber)intheIntroductionchapter.
Whenyouusethisoption,theNGDleproducedbyNGDBuildisoptimizedfor
mappingintothatarchitecture.
78w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-quiet(Quiet)
-r(IgnoreLOCConstraints)
Chapter6:NGDBuild
YoudonotneedtospecifyapartifyourNGOlealreadycontainsinformationabout
thedesiredvendorandfamily(forexample,ifyouplacedaPARTpropertyina
schematicoraCONFIGPARTstatementinaUCFle).However,youcanoverridethe
informationintheNGOlewiththe-poptionwhenyourunNGDBuild.
Thisoptiontellstheprogramtoonlyreporterrorandwarningmessages.
Syntax
-quiet
Thisoptioneliminatesalllocationconstraints(LOC=)foundintheinputnetlistorUCF
le.Usethisoptionwhenyoumigratetoadifferentdeviceorarchitecture,because
locationsinonearchitecturemaynotmatchlocationsinanother.
Syntax
-r
-sd(SearchSpecifiedDirectory)
Thisoptionaddsthespeciedsearch_pathtothelistofdirectoriestosearchwhen
resolvinglereferences(thatis,lesspeciedintheschematicwithaFILE=lename
property)andwhensearchingfornetlist,NGO,NGC,NMC,andMEMles.Youdo
nothavetospecifyasearchpathforthetop-leveldesignnetlistdirectory,becauseit
isautomaticallysearchedbyNGDBuild.
Syntax
-sd{search_path}
Thesearch_pathmustbeseparatedfromthe-sdoptionbyspacesortabs(forexample,
-sddesignsiscorrect,-sddesignsisnot).Y oucanspecifymultiplesearchpaths
onthecommandline.Eachmustbeprecededwiththe-sdoption;youcannotspecify
morethanonesearch_pathwithasingle-sdoption.Forexample,thefollowingsyntaxis
acceptableforspecifyingtwosearchpaths:
-sd/home/macros/counter-sd/home/designs/pal2
Thefollowingsyntaxisnotacceptable:
-sd/home/macros/counter/home/designs/pal2
-u(AllowUnexpandedBlocks)
InthedefaultbehaviorofNGDBuild(withoutthe-uoption),NGDBuildgeneratesan
errorifablockinthedesigncannotbeexpandedtoNGDprimitives.Ifthiserroroccurs,
anNGDleisnotwritten.Ifyouenterthisoption,NGDBuildgeneratesawarning
insteadofanerrorifablockcannotbeexpanded,andwritesanNGDlecontaining
theunexpandedblock.
Syntax
-u
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 79

Chapter6:NGDBuild
YoumaywanttorunNGDBuildwiththe-uoptiontoperformpreliminarymapping,
placementandrouting,timinganalysis,orsimulationonthedesigneventhoughthe
designisnotcomplete.Toensuretheunexpandedblocksremaininthedesignwhenitis
mapped,runtheMAPprogramwiththe-u(DoNotRemoveUnusedLogic)option,as
describedintheMAPchapter.
-uc(UserConstraintsFile)
ThisoptionspeciesaUserConstraintsFile(UCF)fortheNetlistLaunchertoread.
UCFlescontaintimingandlayoutconstraintsthataffectthewaythelogicaldesignis
implementedinthetargetdevice.
Youcanincludemultipleinstancesofthe-ucoptiononthecommandline.MultipleUCF
lesareprocessedintheordertheyappearonthecommandline,andasthoughthey
aresimplyconcatenated.
NoteIfyouusethisoption,donotusethe-ioption.
Syntax
-ucucf_file[.ucf]
ucf_leisthenameoftheUCFle.Theuserconstraintslemusthavea.ucfextension.
Ifyouspecifyauserconstraintslewithoutanextension,NGDBuildappendsthe.ucf
extensiontothelename.Ifyouspecifyalenamewithanextensionotherthan.ucf,
yougetanerrormessageandNGDBuilddoesnotrun.
Ifyoudonotentera-ucoptionandaUCFleexistswiththesamebasenameasthe
inputdesignleanda.ucfextension,NGDBuildautomaticallyreadstheconstraintsin
thisUCFle.
Formoreinformationonconstraints,seetheConstraintsGuide(UG625).
-ur(ReadUserRulesFile)
ThisoptionspeciesauserruleslefortheNetlistLaunchertoaccess.Thisle
determinestheacceptablenetlistinputles,thenetlistreadersthatreadtheseles,
andthedefaultnetlistreaderoptions.Thislealsoallowsyoutospecifythird-party
toolcommandsforprocessingdesigns.
Syntax
-urrules_file[.urf]
Theuserruleslemusthavea.urfextension.Ifyouspecifyauserruleslewithno
extension,NGDBuildappendsthe.urfextensiontothelename.Ifyouspecifyale
namewithanextensionotherthan.urf,yougetanerrormessageandNGDBuild
doesnotrun.
SeeUserRulesFile(URF)inAppendixBformoreinformation.
-verbose(ReportAllMessages)
Thisoptionenhancesscreenoutputtoincludeallmessagesoutputbythetoolsrun:
NGDBuild,thenetlistlauncher,andthenetlistreader.Thisoptionisusefulifyouwant
toreviewdetailsaboutthetoolsrun.
Syntax
-verbose
80w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

MAP
MAPOverview
Chapter7
ThischapterdescribestheMAPprogram,whichisusedduringtheimplementation
processtomapalogicaldesigntoaXilinx®FPGA.
TheMAPprogrammapsalogicaldesigntoaXilinx®FPGA.TheinputtoMAPisan
NGDle,whichisgeneratedusingtheNGDBuildprogram.TheNGDlecontainsa
logicaldescriptionofthedesignthatincludesboththehierarchicalcomponentsusedto
developthedesignandthelowerlevelXilinxprimitives.TheNGDlealsocontainsany
numberofNMC(macrolibrary)les,eachofwhichcontainsthedenitionofaphysical
macro.Finally ,dependingontheoptionsused,MAPplacesthedesign.
MAPrstperformsalogicalDRC(DesignRuleCheck)onthedesignintheNGDle.
MAPthenmapsthedesignlogictothecomponents(logiccells,I/Ocells,andother
components)inthetargetXilinxFPGA.
TheoutputfromMAPisanNCD(NativeCircuitDescription)leaphysical
representationofthedesignmappedtothecomponentsinthetargetedXilinxFPGA.
ThemappedNCDlecanthenbeplacedandroutedusingthePARprogram.
ThefollowinggureshowstheMAPdesignow:
MAPDesignFlow
MAPDeviceSupport
Thisprogramiscompatiblewiththefollowingdevicefamilies:
•7series
•Spartan®-3,Spartan-3A,Spartan-3E,andSpartan-6
•Virtex®-4,Virtex-5,andVirtex-6
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 81

Chapter7:MAP
MAPInputFiles
MAPusesthefollowinglesasinput:
•NGDle-NativeGenericDatabase(NGD)le.Thislecontainsalogical
descriptionofthedesignexpressedbothintermsofthehierarchyusedwhenthe
designwasrstcreatedandintermsoflower-levelXilinxprimitivestowhichthe
hierarchyresolves.Thelealsocontainsalloftheconstraintsappliedtothedesign
duringdesignentryorenteredinaUCF(UserConstraintsFile).TheNGDle
iscreatedbytheNGDBuildprogram.
•NMCle-Macrolibraryle.AnNMClecontainsthedenitionofaphysical
macro.WhentherearemacroinstancesintheNGDdesignle,NMClesare
usedtodenethemacroinstances.ThereisoneNMCleforeachtypeofmacro
inthedesignle.
•GuideNCDle-AnoptionalinputlegeneratedfromapreviousMAPrun.An
NCDlecontainsaphysicaldescriptionofthedesignintermsofthecomponentsin
thetargetXilinxdevice.AguideNCDleisanoutputNCDlefromaprevious
MAPrunthatisusedasaninputtoguidealaterMAPrun.
•GuideNGMle-Anoptionalinputle,whichisabinarydesignlecontaining
allofthedataintheinputNGDleaswellasinformationonthephysicaldesign
producedbythemapping.SeeGuidedMappingfordetails.
•Activityles-Anoptionalinputle.MAPsupportstwoactivityleformats,
.saifand.vcd.
82w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

MAPOutputFiles
Chapter7:MAP
OutputfromMAPconsistsofthefollowingles:
•NCD(NativeCircuitDescription)le-Aphysicaldescriptionofthedesignin
termsofthecomponentsinthetargetXilinxdevice.Foradiscussionoftheoutput
NCDlenameanditslocation,see-o(OutputFileName).
•PCF(PhysicalConstraintsFile)-AnASCIItextlethatcontainsconstraints
speciedduringdesignentryexpressedintermsofphysicalelements.Thephysical
constraintsinthePCFareexpressedinXilinxconstraintlanguage.
MAPcreatesaPCFleifonedoesnotexistorrewritesanexistinglebyoverwriting
theschematic-generatedsectionofthele(betweenthestatementsSCHEMATIC
STARTandSCHEMATICEND).Foranexistingphysicalconstraintsle,MAPalso
checkstheuser-generatedsectionforsyntaxerrorsandsignalserrorsbyhalting
theoperation.Ifnoerrorsarefoundintheuser-generatedsection,thesection
isunchanged.
•NGMle-AbinarydesignlethatcontainsallofthedataintheinputNGDleas
wellasinformationonthephysicaldesignproducedbymapping.TheNGMleis
usedtocorrelatetheback-annotateddesignnetlisttothestructureandnamingof
thesourcedesign.ThisleisalsousedbySmartGuide™technology .
•MRP(MAPreport)-AlethatcontainsinformationabouttheMAPrun.The
MRPlelistsanyerrorsandwarningsfoundinthedesign,listsdesignattributes
specied,anddetailsonhowthedesignwasmapped(forexample,thelogicthat
wasremovedoraddedandhowsignalsandsymbolsinthelogicaldesignwere
mappedintosignalsandcomponentsinthephysicaldesign).Thelealsosupplies
statisticsaboutcomponentusageinthemappeddesign.SeeMAPReport(MRP)
Fileformoredetails.
•MAP(MAPLog)le-AloglewhichisthelogasitisdumpedbyMapduring
operation(asopposedtothereportle(MRP),whichisaformattedlecreated
afterMapcompletes).
•PSR(PhysicalSynthesisReport)le-Aledetailstheoptimizationsthatweredone
byanyoftheMAPphysicalsynthesisoptions.Theseoptionsinclude–global_opt,
-register_duplication,-retiming,-equivalent_register_removal,
-logic_opt,and–register_duplication.Thisreportwillonlygetgenerated
ifoneoftheseoptionsisenabled.
TheMRP ,MAP ,PCF,andNGMlesproducedbyaMAPrunallhavethesamenameas
theoutputNCDle,withtheappropriateextension.IftheMRP ,MAP ,PCF,orNGM
lesalreadyexist,theyareoverwrittenbythenewles.
MAPProcess
MAPperformsthefollowingstepswhenmappingadesign.
1.SelectsthetargetXilinx®device,package,andspeed.MAPselectsapartinone
ofthefollowingways:
•UsesthepartspeciedontheMAPcommandline.
•Ifapartisnotspeciedonthecommandline,MAPselectsthepartspeciedin
theinputNGDle.IftheinformationintheinputNGDledoesnotspecifya
completearchitecture,device,andpackage,MAPissuesanerrormessageand
stops.Ifnecessary,MAPsuppliesadefaultspeed.
2.Readstheinformationintheinputdesignle.
3.PerformsaLogicalDRC(DesignRuleCheck)ontheinputdesign.IfanyDRC
errorsaredetected,theMAPrunisaborted.IfanyDRCwarningsaredetected,
thewarningsarereported,butMAPcontinuestorun.TheLogicalDesignRule
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 83

Chapter7:MAP
Check(DRC)(alsocalledtheNGDDRC)isdescribedintheLogicalDesignRule
Check(DRC)chapter.
NoteStep3isskippediftheNGDBuildDRCwassuccessful.
4.Removesunusedlogic.Allunusedcomponentsandnetsareremoved,unlessthe
followingconditionsexist:
•AXilinxSaveconstrainthasbeenplacedonanetduringdesignentry .Ifan
unusednethasanSconstraint,thenetandallusedlogicconnectedtothenet
(asdriversorloads)isretained.Allunusedlogicconnectedtothenetisdeleted.
ForamorecompletedescriptionoftheSconstraint,seetheConstraintsGuide
(UG625).
•The-uoptionwasspeciedontheMAPcommandline.Ifthisoptionis
specied,allunusedlogiciskeptinthedesign.
5.MapspadsandtheirassociatedlogicintoIOBs.
6.MapsthelogicintoXilinxcomponents(IOBs,Slices,etc.).Themappingisinuenced
byvariousconstraints;theseconstraintsaredescribedintheConstraintsGuide
(UG625).
7.UpdatestheinformationreceivedfromtheinputNGDleandwritethisupdated
informationintoanNGMle.ThisNGMlecontainsbothlogicalinformationabout
thedesignandphysicalinformationabouthowthedesignwasmapped.TheNGM
leisusedonlyforback-annotation.Formoreinformation,seeGuidedMapping.
8.Createsaphysicalconstraints(PCF)le.Thisisatextlethatcontainsany
constraintsspeciedduringdesignentry .Ifnoconstraintswerespeciedduring
designentry ,anemptyleiscreatedsothatyoucanenterconstraintsdirectlyinto
theleusingatexteditororindirectlythroughFPGAEditor.
MAPeithercreatesaPCFleifnoneexistsorrewritesanexistinglebyoverwriting
theschematic-generatedsectionofthele(betweenthestatementsSCHEMATIC
STARTandSCHEMATICEND).Foranexistingconstraintsle,MAPalsochecks
theuser-generatedsectionandmayeithercommentoutconstraintswitherrorsor
halttheprogram.Ifnoerrorsarefoundintheuser-generatedsection,thesection
remainsthesame.
9.AutomaticallyplacesthedesignforallarchitecturesotherthanSpartan®-3or
Virtex®-4.ForMAPtorunplacementforSpartan-3orVirtex-4parts,the–timing
optionmustbeenabled.
10.RunsaphysicalDesignRuleCheck(DRC)onthemappeddesign.IfDRCerrorsare
found,MAPdoesnotwriteanNCDle.
11.CreatesanNCDle,whichrepresentsthephysicaldesign.TheNCDledescribes
thedesignintermsofXilinxcomponentsCLBs,IOBs,etc.
12.WritesaMAPreport(MRP)le,whichlistsanyerrorsorwarningsfoundinthe
design,detailshowthedesignwasmapped,andsuppliesstatisticsaboutcomponent
usageinthemappeddesign.
MAPSyntax
Thefollowingsyntaxmapsyourlogicaldesign:
map[options]infile[.ngd][pcf_file.pcf]
optionscanbeanynumberoftheMAPcommandlineoptionslistedintheMAPOptions
sectionofthischapter.Enteroptionsinanyorder,precededthemwithadash(minus
signonthekeyboard)andseparatethemwithspaces.
inleistheinputNGDlename.Y oudonotneedtoenterthe.ngdextension,since
maplooksforanNGDleasinput.
84w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter7:MAP
pcf_leisthenameoftheoutputPhysicalConstraintsFile(PCF).Ifnotspecied,thePCF
nameandlocationaredeterminedinthefollowingways:
•IfyoudonotspecifyaPCFonthecommandline,thePCFhasthesamenameasthe
outputlebutwitha.pcfextension.Theleisplacedintheoutputlesdirectory .
•IfyouspecifyaPCFwithnopathspecier(forexample,cpu_1.pcfinsteadof
/home/designs/cpu_1.pcf),thePCFisplacedinthecurrentworkingdirectory .
•Ifyouspecifyaphysicalconstraintslenamewithafullpathspecier(forexample,
/home/designs/cpu_1.pcf),thePCFisplacedinthespecieddirectory .
•IfthePCFalreadyexists,MAPreadsthele,checksitforsyntaxerrors,and
overwritestheschematic-generatedsectionofthele.MAPalsochecksthe
user-generatedsectionforerrorsandcorrectserrorsbycommentingoutphysical
constraintsintheleorbyhaltingtheoperation.Ifnoerrorsarefoundinthe
user-generatedsection,thesectionisunchanged.
NoteForadiscussionoftheoutputlenameanditslocation,see-o(OutputFileName).
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 85

Chapter7:MAP
MAPOptions
ThissectiondescribesMAPoptionsinmoredetail.Thelistingisinalphabeticalorder.
•-activity_le
•-bp(MapSliceLogic)
•-c(PackSlices)
•-cm(CoverMode)
•-detail(GenerateDetailedMAPReport)
•-equivalent_register_removal(RemoveRedundantRegisters)
•-f(ExecuteCommandsFile)
•-global_opt(GlobalOptimization)
•-ignore_keep_hierarchy(IgnoreKEEP_HIERARCHYProperties)
•-intstyle(IntegrationStyle)
•-ir(DoNotUseRLOCstoGenerateRPMs)
•-lter(FilterFile)
•-lc(LutCombining)
•-logic_opt(LogicOptimization)
•-mt(Multi-Threading)
•-ntd(NonTimingDriven)
•-o(OutputFileName)
•-ol(OverallEffortLevel)
•-p(PartNumber)
•-power(PowerOptimization)
•-pr(PackRegistersinI/O)
•-register_duplication(DuplicateRegisters)
•-r(RegisterOrdering)
•-retiming(RegisterRetimingDuringGlobalOptimization)
•-smartguide(SmartGuide)
•-t(PlacerCostTable)
•-timing(Timing-DrivenPackingandPlacement)
•-u(DoNotRemoveUnusedLogic)
•-w(OverwriteExistingFiles)
•-x(PerformanceEvaluationMode)
•-xe(ExtraEffortLevel)
•-xt(RoutingStrategy)
-activity_file(ActivityFile)
Thisoptionletsyouspecifyaswitchingactivitydataletoguidepoweroptimizations.
Thisleistheoutputofasimulationrunonthedesign.Forpowerreduction,MAP
usesthisletosetfrequenciesandactivityratessignalsthatarenotinputsoroutputs,
butinternaltothedesign.
NoteThisoptionissupportedforallFPGAarchitectures.However,forSpartan®-6,
Virtex®-6,and7seriesdevices,intelligentclockgatingoptimizationisnotaffected
bythepoweractivityle.
86w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Syntax
-bp(MapSliceLogic)
Chapter7:MAP
-activity_fileactivity_file.vhdl|.saif
activity_leisthenameofthe.vhdlor.saifletouseforpoweroptimization.
NoteThisoptionisonlyvalidifyoualsouse-poweron(See-power(Power
Optimization))intheMAPcommandline.
ThisoptionenablesblockRAMmapping.
WhenblockRAMmappingisenabled,MAPattemptstoplaceLUTsandFFsinto
single-output,single-portblockRAMs.
Youcancreatealecontainingalistofregisteroutputnetsthatyouwantconverted
intoblockRAMoutputs.ToinstructMAPtousethisle,settheenvironmentvariable
XIL_MAP_BRAM_FILEtothelename.MAPlooksforthisenvironmentvariablewhen
the-bpoptionisspecied.Onlythoseoutputnetslistedinthelearemadeintoblock
RAMoutputs.BecauseblockRAMoutputsaresynchronousandcanonlybereset,the
registerspackedintoablockRAMmustalsobesynchronousreset.
NoteAnyLUTwithanareagroupconstraintwillnotbeplacedinblockRAM.Any
logictobeconsideredforpackingintoblockRAMmustberemovedfromareagroups.
-c(PackSlices)
Syntax
-bp
Thisoptiondeterminesthedegreetowhichslicesutilizeunrelatedpackingwhenthe
designismapped.
NoteSlicepackingandcompressionarenotavailableifyouuse-timing
(timing-drivenpackingandplacement).
Syntax
-c[packfactor]
Thedefaultvalueforpackfactor(novaluefor-c,or-cisnotspecied)is100.
•ForSpartan®-3,Spartan-3A,Spartan-3E,andVirtex®-4deviceswhen-timingis
notspecied,packfactorcanbeanyintegerbetween0and100(inclusive).
•ForSpartan-3,Spartan-3A,Spartan-3E,andVirtex-4deviceswhen-timingis
specied,packfactorcanonlybe0,1or100.
•ForSpartan-6,Virtex-5,Virtex-6,and7seriesdevices,timing-drivenpackingand
placementisalwaysonandpackfactorcanonlybe1or100.
NoteForthesearchitectures,youcanalsotry-lc(LutCombining)toincrease
packingdensity.
Thepackfactor(fornon-zerovalues)isthetargetslicedensitypercentage.
•Apackfactorvalueof0speciesthatonlyrelatedlogic(logichavingsignalsin
common)shouldbepackedintoasingleSlice,andyieldstheleastdenselypacked
design.
•Apackfactorof1resultsinmaximumpackingdensityasthepackerisattempting
1%sliceutilization.
•Apackfactorof100meansthatonlyenoughunrelatedpackswilloccurtotthe
devicewith100%utilization.Thisresultsinminimumpackingdensity.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 87

Chapter7:MAP
Forpackfactorvaluesfrom1to100,MAPmergesunrelatedlogicintothesamesliceonly
ifthedesignrequiresdenserpackingtomeetthetargetsliceutilization.Ifthereisno
unrelatedpackingrequiredtotthedevice,thenumberofslicesutilizedwhen-c100
isspeciedwillequalthenumberutilizedwhen-c0isspecied.
Althoughspecifyingalowerpackfactorresultsinadenserdesign,thedesignmaythen
bemoredifcultplaceandroute.Unrelatedpackscancreatesliceswithconicting
placementneedsandthedenserpackingcancreatelocalroutingcongestion.
NoteThe-c1settingshouldonlybeusedtodeterminethemaximumdensity
(minimumarea)towhichadesigncanbepacked.Xilinx®doesnotrecommend
usingthisoptionintheactualimplementationofyourdesign.Designspackedtothis
maximumdensitygenerallyhavelongerruntimes,severeroutingcongestionproblems
inPAR,andpoordesignperformance.
Processingadesignwiththe-c0optionisagoodwaytogetarstestimateofthe
numberofSlicesrequiredbyyourdesign.
-cm(CoverMode)
ThisoptionspeciesthecriteriausedduringthecoverphaseofMAP .
NoteThisoptionisnotavailableforSpartan®-6,Virtex®-6,and7seriesarchitectures.
Syntax
-cm[area|speed|balanced]
Inthisphase,MAPassignsthelogictoCLBfunctiongenerators(LUTs).Usethearea,
speed,andbalancedsettingsasfollows:
area(thedefault)makesreducingthenumberofLUTs(andthereforethenumberof
CLBs)thehighestpriority.
speedhasadifferenteffectdependingonwhetherornotthereareuserspeciedtiming
constraints.Fordesignswithuser-speciedtimingconstraints,thespeedmodemakes
achievingtimingconstraintsthehighestpriorityandreducingthenumberoflevelsof
LUTS(thenumberofLUTsapathpassesthrough)thenextpriority .Fordesignswithno
user-speciedtimingconstraints,thespeedmodemakesachievingmaximumsystem
frequencythehighestpriorityandreducingthenumberlevelsofLUTsthenextpriority .
Thissettingmakesiteasiesttoachievetimingconstraintsafterthedesignisplacedand
routed.Formostdesigns,thereisasmallincreaseinthenumberofLUTs(comparedto
theareasetting),butinsomecasestheincreasemaybelarge.
balancedtriestobalancethetwopriorities-achievingtimingrequirementsandreducing
thenumberofLUTs.Itproducesresultssimilartothespeedsettingbutavoidsthe
possibilityofalargeincreaseinthenumberofLUT s.Foradesignwithuser-specied
timingconstraints,thebalancedmodemakesachievingtimingconstraintsthehighest
priorityandreducingthenumberofLUTSthenextpriority .Forthedesignwithno
user-speciedtimingconstraints,thebalancedmodemakesachievingmaximumsystem
frequencythehighestpriorityandreducingthenumberofLUTsthenextpriority .
-detail(GenerateDetailedMAPReport)
ThisoptionenablesoptionalsectionsintheMapreport.
Syntax
-detail
Whenyouuse-detail,DCMandPLLcongurationdata(Section12)andinformation
oncontrolsets(Section13,Virtex®-5only)areincludedintheMAPreport.
88w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-equivalent_register_removal(RemoveRedundantRegisters)
Thisoptionremovesredundantregisters.
NoteThisoptionisavailablefor7series,Spartan®-6,Virtex®-6,Virtex-5,andVirtex-4
devicesonly.
Syntax
-equivalent_register_removal{on|off}
Withthisoptionon,anyregisterswithredundantfunctionalityareexaminedtoseeif
theirremovalwillincreaseclockfrequencies.Bydefault,thisoptionison.
NoteThisoptionisavailableonlywhenyouusethe-global_opt(GlobalOptimization).
-f(ExecuteCommandsFile)
Thisoptionexecutesthecommandlineargumentsinthespeciedcommand_le.
Syntax
Chapter7:MAP
-global_opt(GlobalOptimization)
-fcommand_file
Formoreinformationonthe-foption,see-f(ExecuteCommandsFile)inthe
Introductionchapter.
ThisoptiondirectsMAPtoperformglobaloptimizationroutinesonthefullyassembled
netlistbeforemappingthedesign.
NoteThisoptionisavailablefor7series,Spartan®-6,Virtex®-6,Virtex-5,andVirtex-4
devicesonly.
Syntax
-global_optoff|speed|area|power
off(thedefault)tellsMAPnottorunglobaloptimization.
speedoptimizesforspeed.
areaoptimizesforminimumarea(notavailableforVirtex-4devices).
poweroptimizesforminimumpower(notavailableforVirtex-4devices)
Globaloptimizationincludeslogicremappingandtrimming,logicandregister
replicationandoptimization,andlogicreplacementof3–statebuffers.Theseroutines
willextendtheruntimeofMAPbecauseextraprocessingoccurs.Bydefaultthisoption
isoff.
NoteThe-global_optpoweroptioncanusetheactivitydatasuppliedviathe
-activityfileoption
Youcannotusethe-uoptionwith-global_opt.WhenSmartGuide™isenabled
(-smartguide),guidepercentageswilldecrease.
NoteSeethe-equivalent_register_removal(RemoveRedundantRegisters)and
-retiming(RegisterRetimingDuringGlobalOptimization)optionsforusewith
-global_opt.SeealsotheRe-SynthesisandPhysicalSynthesisOptimizationssection
ofthischapter.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 89

Chapter7:MAP
-ignore_keep_hierarchy(IgnoreKEEP_HIERARCHYProperties)
ThisoptioncausesMAPtoignoreall"KEEP_HIERARCHY"propertiesonblocks.
Syntax
-ignore_keep_hierarchy
-intstyle(IntegrationStyle)
Thisoptionlimitsscreenoutput,basedontheintegrationstylethatyouarerunning,to
warninganderrormessagesonly.
Syntax
-intstyleise|xflow|silent
Whenusing-intstyle,oneofthreemodesmustbespecied:
•-intstyleiseindicatestheprogramisbeingrunaspartofanintegrateddesign
environment.
•-intstylexflowindicatestheprogramisbeingrunaspartofanintegrated
batchow.
•-intstylesilentlimitsscreenoutputtowarninganderrormessagesonly.
Note-intstyleisautomaticallyinvokedwhenrunninginanintegratedenvironment
suchasProjectNavigatororXFLOW.
-ir(DoNotUseRLOCstoGenerateRPMs)
ThisoptioncontrolshowMAPprocessesRLOCstatements.
Syntax
-irall|off|place
alldisablesallRLOCprocessing.
offallowsallRLOCprocessing.
placetellsMAPtouseRLOCconstraintstogrouplogicwithinSlices,butnottogenerate
RPMs(RelationallyPlacedMacros)controllingtherelativeplacementofSlices.
-filter(FilterFile)
Thisoptionspeciesalterle,whichcontainssettingstocaptureandltermessages
producedbytheprogramduringexecution.
Syntax
-filter[filter_file]
Bydefault,thelterlenameisfilter.filter.
-lc(LutCombining)
ThisoptioninstructsMaptocombinetwoLUTcomponentsintoasingleLUT6site,
utilizingthedualoutputpinsofthatsite.
NoteThisoptionisavailablefor7series,Spartan®-6,Virtex®-6,andVirtex-5devices
only.
90w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-logic_opt(LogicOptimization)
Chapter7:MAP
Syntax
-lc[off|auto|area]
off(thedefault)willdisabletheLUTCombiningfeature.
areaisthemoreaggressiveoption,combiningLUTswheneverpossible.
autowillattempttostrikeabalancebetweencompressionandperformance.
Thisoptioninvokespost-placementlogicrestructuringforimprovedtiminganddesign
performance.
Syntax
-logic_opton|off
The-logic_optoptionworksonaplacednetlisttotryandoptimizetiming-critical
connectionsthroughrestructuringandresynthesis,followedbyincrementalplacement
andincrementaltiminganalysis.Afullyplaced,timingoptimizedNCDdesignleis
produced.Notethatthisoptionrequirestiming-drivenmapping,whichisenabled
withtheMAP-timingoption.WhenSmartGuide™isenabled(-smartguide),guide
percentageswilldecrease.
-mt(Multi-Threading)
Syntax
-ntd(NonTimingDriven)
Syntax
NoteSeealsotheRe-SynthesisandPhysicalSynthesisOptimizationssectionofthis
chapter.
ThisoptionletsMAPusemorethanoneprocessor.Itprovidesmulti-threading
capabilitiestothePlacer.
NoteThisoptionisavailablefor7series,Spartan®-6,Virtex®-6,andVirtex-5devices
only.
-mtoff|2
Thedefaultisoff.Whenoff,thesoftwareusesonlyoneprocessor.Whenthevalueis
2,thesoftwarewilluse2coresiftheyareavailable.
Thisoptionperformsnon-timingdrivenplacement.
-ntd
Whenthe-ntdswitchisenabled,alltimingconstraintsareignoredandthe
implementationtoolsdonotuseanytiminginformationtoplaceandroutethedesign.
NoteToruntheentireowwithouttimingconstraints,the-ntdswitchneedstobe
speciedforbothMAPandPAR.
-o(OutputFileName)
ThisoptionspeciesthenameoftheoutputNCDleforthedesign.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 91

Chapter7:MAP
Syntax
-ooutfile[.ncd]
The.ncdextensionisoptional.Theoutputlenameanditslocationaredeterminedin
thefollowingways:
•Ifyoudonotspecifyanoutputlenamewiththe-ooption,theoutputlehasthe
samenameastheinputle,witha.ncdextension.Theleisplacedintheinput
lesdirectory
•Ifyouspecifyanoutputlenamewithnopathspecier(forexample,cpu_dec.ncd
insteadof/home/designs/cpu_dec.ncd),theNCDleisplacedinthecurrent
workingdirectory.
•Ifyouspecifyanoutputlenamewithafullpathspecier(forexample,
/home/designs/cpu_dec.ncd),theoutputleisplacedinthespecieddirectory .
•Iftheoutputlealreadyexists,itisoverwrittenwiththenewNCDle.Y oudonot
receiveawarningwhentheleisoverwritten.
NoteSignalsconnectedtopadsortotheoutputsofip-ops,latches,andRAMSfound
intheinputlearepreservedforback-annotation.
-ol(OverallEffortLevel)
ThisoptionsetstheoverallMAPeffortlevel.Theeffortlevelcontrolstheamountoftime
usedforpackingandplacementbyselectingamoreorlessCPU-intensivealgorithm
forplacement.
Syntax
-olstd|high
•Usestdforloweffortlevel(fastestruntimeatexpenseofQOR)
•Usehighforhigheffortlevel(bestQORwithincreasedruntime)
Thedefaulteffortlevelishighforallarchitectures.
The-oloptionisavailablewhenrunningtiming-drivenpackingandplacementwith
the-timingoption.
NoteXilinx®recommendssettingtheMAPeffortleveltoequalorhigherthanthe
PAReffortlevel.
Example
map-timing-olstddesign.ncdoutput.ncddesign.pcf
ThisexamplesetstheoverallMAPeffortleveltostd(fastestruntimeatexpenseof
QOR).
-p(PartNumber)
Thisoptionspeciesthepartintowhichyourdesignisimplemented.
Syntax
-ppart_number
NoteForsyntaxdetailsandexamples,see-p(PartNumber)intheIntroductionchapter.
92w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

-power(PowerOptimization)
Chapter7:MAP
Ifyoudonotspecifyapartnumber,MAPselectsthepartspeciedintheinputNGD
le.IftheinformationintheinputNGDledoesnotspecifyacompletedeviceand
package,youmustenteradeviceandpackagespecicationusingthisoption.MAP
suppliesadefaultspeedvalue,ifnecessary .
ThearchitectureyouspecifymustmatchthearchitecturespeciedintheinputNGDle.
YoumayhavechosenthisarchitecturewhenyouranNGDBuildorduringanearlier
stepinthedesignentryprocess(forexample,youmayhavespeciedthearchitecturein
theISE®DesignSuiteorinyoursynthesistool).Ifthearchitecturedoesnotmatch,you
mustrunNGDBuildagainandspecifythearchitecture.
Thisoptionspeciesthatplacementisoptimizedtoreducepower.ForSpartan®-6,
Virtex®-6,and7seriesdevices,youcanusethehighandxeoptionstospecifytheuse
ofintelligentclockgatingalgorithmstofurtherreducepower.
Syntax
-poweron|off|high|xe
offspeciesthatnopoweroptimizationwithanegativeeffectonruntime,memoryor
performancewillbeperformed.Thisisthedefaultoption.
on(standard)speciestheuseofpoweroptimizationalgorithmsduringplacementto
decreasecapacitiveloadingondataandclockingnetstoreduceoveralldynamicpower.
Themaintrade-offwiththisoptionisadditionalruntimeandmodiedplacement,which
mayresultinslightlyreducedperformance.Thisoptionisavailableforallarchitectures.
highspeciestheuseofintelligentclockgatingalgorithmsthatreduceoverallswitching
toreducedynamicpowerinthedesign.Themaintrade-offwiththisoptionisadditional
runtime,minorareaincrease,increasedsystemmemoryrequirementsandadditional
logicinthedataorcontrolpathsthatcanresultinreducedperformance.However,the
powersavingsisgenerallymoresubstantialthansavingswhenyouuseon(standard).
ThisoptionisavailableforSpartan-6andVirtex-6,and7seriesdevicesonly.
xe(extraeffort)speciestheuseofbothstandardandhighalgorithmsforthegreatest
reductionindynamicpoweroptimization.However,thisselectiongenerallyhas
thelargestimpactonruntime,area,memory,andperformance.Thisoptionisonly
recommendedwhenyouhaveadequatetimingslackinthedesignandadditional
runtimeandmemorycanbetolerated.ThisoptionisavailableforSpartan-6and
Virtex-6,and7seriesdevicesonly.
Whenyouuse-poweron,youcanalsospecifyaswitchingactivityletofurther
improvepoweroptimization.Formoreinformationsee-activity_le.
Youcanusethe-poweroptionwiththe-global_optpowerswitchforadditional
poweroptimizationandimprovement.Formoreinformationsee-global_opt.
-pr(PackRegistersinI/O)
ThisoptionplacesregistersinI/O.
Syntax
-proff|i|o|b
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 93

Chapter7:MAP
Bydefault(withoutthe-proption),MAPonlyplacesip-opsorlatcheswithinan
I/OcomponentifanIOB=TRUEattributehasbeenappliedtotheregistereitherby
thesynthesistoolorbytheUserConstraintsFile(.ucf).The-proptionspeciesthat
ip-opsorlatchesmaybepackedintoinputregisters(iselection),outputregisters
(oselection),orboth(bselection)evenifthecomponentshavenotbeenspeciedin
thisway .Ifthisoptionisnotspecied,defaultstooff.AnIOBpropertyonaregister,
whethersettoTRUEorFALSE,willoverridethe–proptionforthatspecicregister.
-register_duplication(DuplicateRegisters)
Thisoptionduplicatesregisters.
Syntax
-register_duplicationon|off
The-register_duplicationoptionisonlyavailablewhenrunningtiming-driven
packingandplacementwiththe-timingoption.The-register_duplication
optionduplicatesregisterstoimprovetimingwhenrunningtiming-drivenpacking.See
-timing(Timing-DrivenPackingandPlacement).
-retiming(RegisterRetimingDuringGlobalOptimization)
Syntax
-r(RegisterOrdering)
Syntax
Thisoptionregistersretimingduringglobaloptimization.
NoteThisoptionisavailablefor7series,Spartan®-6,Virtex®-6,Virtex-5,andVirtex-4
devicesonly.
-retimingon|off
Whenthisoptionison,registersaremovedforwardorbackwardsthroughthelogic
tobalanceoutthedelaysinatimingpathtoincreasetheoverallclockfrequency .By
default,thisoptionisoff.
Theoverallnumberofregistersmaybealteredduetotheprocessing.
NoteThisoptionisavailableonlywhen-global_opt(GlobalOptimization)isused.
Thisoptiongroupsregistersformingabusintoorderedsequencespackedinaslice.The
registersaredeterminedtoformabusbasedontheirnames.
-r[4|off|8]
offdisablesregisterordering.
4(thedefault)uses4registerspersliceiftheyarenotsourcedbyaLUT(otherwise
uses8registers).
8usesall8registersintheslice.
-smartguide(SmartGuide)
Thisoptioninstructstheprogramtouseresultsfromapreviousimplementationtoguide
thecurrentimplementation,basedonaplacedandroutedNCDle.SmartGuide™
technologyautomaticallyenablestiming-drivenpackingandplacementinMAP(map
-timing),whichimprovesdesignperformanceandtimingforhighlyutilizeddesigns.
94w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Chapter7:MAP
Youmayobtainbetterresultsifyouusethemap-timingoptiontocreateaplacedand
routedNCDguidelebeforeenablingSmartGuidetechnology .SmartGuidetechnology
canbeenabledfromthecommandlineorfromtheHierarchypaneoftheDesignpanel
inProjectNavigator.
Syntax
-smartguidedesign_name.ncd
NoteSmartGuidetechnologywillgiveyouahigherguidepercentageifanNGMle
isavailable.TheNGMlecontainsinformationonthetransformationsdoneinthe
MAPprocess.SeetheMAPProcesssectionofthischapterforinformationonhow
MAPdetectstheNGMle.
WithSmartGuidetechnology ,allguidingisdoneinMAPattheBELlevel.Guiding
includespacking,placement,androuting.SmartGuidetechnologyoptimallychanges
thepackingandplacementofadesignandthenroutesnewnetsduringPAR.Therst
goalofSmartGuidetechnologyistomaintaindesignimplementationontheunchanged
partandmeettimingrequirementsonthechangedpart;thesecondgoalistoreduce
runtime.Noticethattheunchangedpartoftheimplementationwillnotbechangedand
thereforewillkeepthesametimingscore.Pathsthatfailtimingbutdonotchange
shouldbe100%guided.Pathsthatfailtimingandarechangedwillbere-implemented.
TheresultsfromtheMAPrunarestoredintheoutputmapreportle(.mrp).Guide
statistics,includingthenumberofguidednetsandallnew ,guided,andre-implemented
componentsarelistedinthemapreport,whichisanestimatedreport.Thenalstatistics
arelistedinthePARreportle(.par).Aseparateguidereportle(.grf)isgenerated
byPAR.Ifyouuse-smartguideinthePARcommandline,adetailedguidereportle
iscreated.Ifyoudonotuse-smartguide,asummaryguidereportleiscreated.The
guidereportlelistscomponentsandnetsthatarere-implementedornew.
The-timingoptionenablesalloptionsspecictotiming-drivenpackingand
placement.Thisincludesthe-oloption,whichsetstheoveralleffortlevelusedto
packandplacethedesign.See-ol(OverallEffortLevel)formoreinformation.The
followingoptionsareenabledwhenyouuse-timing:-logic_opt,-ntd,-ol,
-register_duplication,-x,and-xe.Seeindividualoptiondescriptionsinthis
sectionfordetails.Seealso-timing(Timing-DrivenPackingandPlacement)formore
information.
-t(PlacerCostTable)
Thisoptionspeciesthecosttableusedbytheplacer.
Syntax
-t[placer_cost_table]
placer_cost_tableisthecosttabletheplaceruses(placercosttablesaredescribedinthe
PARChapter).Validvaluesare1–100andthedefaultis1.
Toautomaticallycreateimplementationsusingseveraldifferentcosttables,pleaserefer
totheSmartXplorersectioninthisdocument.
NoteThe-toptionisonlyavailablewhenrunningtiming-drivenpackingand
placementwiththe-timingoption.
-timing(Timing-DrivenPackingandPlacement)
Thisoptionisusedtoimprovedesignperformance.ItinstructsMAPtodobothpacking
andplacementofthedesign.User-generatedtimingconstraintsspeciedinaUCF/NCF
ledrivethesepackingandplacementoperations.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 95

Chapter7:MAP
Note–timingisoptionalforallSpartan®-3familiesandVirtex®-4devices(defaultis
off).ItisalwaysonforSpartan-6,Virtex-5,Virtex-6,and7seriesdevices.
Syntax
-timing
Whenyouspecify-timing,placementoccursinMAPratherthaninPAR.Usingthis
optionmayresultinlongerruntimesforMAP ,thoughitwillreducethePARruntime.
Timing-drivenpackingandplacementisrecommendedtoimprovedesignperformance,
timing,andpackingforhighlyutilizeddesigns.Iftheunrelatedlogicnumber(shownin
theDesignSummarysectionoftheMAPreport)isnon-zero,thenthe-timingoptionis
usefulforpackingmorelogicinthedevice.Timing-drivenpackingandplacementis
alsorecommendedwhentherearelocalclockspresentinthedesign.Iftiming-driven
packingandplacementisselectedintheabsenceofusertimingconstraints,thetoolswill
automaticallygenerateanddynamicallyadjusttimingconstraintsforallinternalclocks.
ThisfeatureisreferredtoasPerformanceEvaluationMode.Seealso-x(Performance
EvaluationMode)formoreinformation.Thismodeallowstheclockperformanceforall
clocksinthedesigntobeevaluatedinonepass.Theperformanceachievedbythismode
isnotnecessarilythebestpossibleperformanceeachclockcanachieve,insteaditisa
balanceofperformancebetweenallclocksinthedesign.
The-timingoptionenablesalloptionsspecictotiming-drivenpackingand
placement.Thisincludesthe-oloption,whichsetstheoveralleffortlevelusedto
packandplacethedesign.See-ol(OverallEffortLevel)formoreinformation.The
followingoptionsareenabledwhenyouuse-timing:-logic_opt,-ntd,-ol,
-register_duplication,-x,and-xe.Seeindividualoptiondescriptionsinthis
sectionfordetails.SeealsoRe-SynthesisandPhysicalSynthesisOptimizationsinthis
chapterformoreinformation.
-u(DoNotRemoveUnusedLogic)
ThisoptiontellsMAPnottoeliminateunusedcomponentsandnetsfromthedesign.
Syntax
-u
Bydefault(withoutthe-uoption),MAPeliminatesunusedcomponentsandnetsfrom
thedesignbeforemapping.Unusedlogicislogicthatisundriven,doesnotdriveother
logic,orlogicthatactsasa“cycle”andaffectsnodeviceoutput.When–uisspecied,
MAPappliesan“S”(NOCLIP)propertytoalldanglingsignalswhichpreventstrimming
frominitiatingatthatpointandcascadingthroughthedesign.Danglingcomponents
maystillbetrimmedunlessadanglingsignalispresenttoaccepttheNOCLIPproperty .
-w(OverwriteExistingFiles)
ThisoptioninstructsMAPtooverwriteexistingoutputles,includinganexisting
designle(NCD).
Syntax
-w
-x(PerformanceEvaluationMode)
The-xoptionisusediftherearetimingconstraintsspeciedintheuserconstraintsle,
andyouwanttoexecuteaMAPandPARrunwithtool-generatedtimingconstraints
insteadtoevaluatingtheperformanceofeachclockinthedesign.
96w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

Syntax
-x
Thisoperationisreferredtoas"PerformanceEvaluation"mode.Thismodeisentered
intoeitherbyusingthe-xoptionorwhennotimingconstraintsareusedina
design.Thetoolscreatetimingconstraintsforeachinternalclockseparatelyandwill
tighten/loosentheconstraintbasedonfeedbackduringexecution.TheMAPeffortlevel
controlswhetherthefocusisonfastestruntime(STD)orbestperformance(HIGH).
NoteWhile–xignoresalluser-generatedtimingconstraints,speciedinaUCF/NCF
le,allphysicalconstraintssuchasLOCandAREA_GROUPSareused.
NoteThe-xand-ntdswitchesaremutuallyexclusive.Ifusertimingconstraintsare
notused,onlyoneautomatictimingmodemaybeselected.
-xe(ExtraEffortLevel)
The-xeoptionisavailablewhenrunningtiming-drivenpackingandplacementwith
the-timingoption,andsetstheextraeffortlevel.
Syntax
-xeeffort_level
Chapter7:MAP
effort_levelcanbesetton(normal)orc(continue).when-xeissettoc,MAPcontinues
toattempttoimprovepackinguntillittleornoimprovementcanbemade.
map-olhigh-xendesign.ncdoutput.ncddesign.pcf
-xt(ExtraPlacerCostTable)
Thisoptionspeciescosttablessuitedforhighlyutilizeddesigns.Thesetablescanbe
usedalongwiththeregularcosttables(the-toption).
Thisoptionisavailableonlyfor7series,Spartan®-6,andVirtex®-6devices.
Syntax
-xtcost_table
cost_tableisanintegerbetween0and5(inclusive)thatwillselectvariationsofthe
algorithmstoletyoumorecloselyoptimizethemtoyourdesign.Thedefaultis0.
ResynthesisandPhysicalSynthesisOptimizations
MAPprovidesoptionsthatenableadvancedoptimizationsthatarecapableofimproving
timingresultsbeyondstandardimplementations.Theseadvancedoptimizationscan
transformthedesignpriortoorafterplacement.
OptimizationscanbeappliedattwodifferentstagesintheXilinx®designow .Therst
stagehappensrightaftertheinitialmappingofthelogictothearchitectureslices.The
MAP-global_optoptiondirectsMAPtoperformglobaloptimizationroutinesonafully
mappeddesign,beforeplacement.See-global_opt(GlobalOptimization)and-retiming
(RegisterRetimingDuringGlobalOptimization)formoreinformation.
Thesecondstagewhereoptimizationscanbeappliedisafterplacement,whenpaths
thatdonotmeettimingareevaluatedandre-synthesized.MAPtakestheinitialnetlist,
placesit,andthenanalyzesthetimingofthedesign.Whentimingisnotmet,MAP
performsphysicalsynthesisoptimizationsandtransformsthenetlisttomeettiming.To
enablephysicalsynthesisoptimizations,timing-drivenplacementandrouting(-timing)
mustbeenabled.
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 97

Chapter7:MAP
GuidedMapping
Physicalsynthesisoptimizationsareenabledwiththe-logic_opt(LogicOptimization)
and-register_duplication(DuplicateRegisters)options.SeetheMAPOptionssectionof
thischapterforoptiondescriptionsandusageinformation.
Inguidedmapping,anexistingNCDisusedtoguidethecurrentMAPrun.Theguide
lemaybefromanystageofimplementation:unplacedorplaced,unroutedorrouted.
Xilinx®recommendsgeneratinganNCDleusingthecurrentreleaseofthesoftware.
Usingaguidelegeneratedbyaprevioussoftwarereleaseusuallyworks,butmay
notbesupported.
NoteWhenusingguidedmappingwiththe-timingoption,Xilinxrecommendsusinga
placedNCDastheguidele.AplacedNCDisproducedbyrunningMAPwiththe
-timingoption,orrunningPAR.
SmartGuide™technologyallowsresultsfromapreviousimplementationtoguidethe
nextimplementation.WhenSmartGuideisused,MAPandPARprocessesusetheNCD
le,speciedwiththe-smartguideoption,toguidethenewandre-implemented
componentsandnets.SmartGuidetechnologymaymoveguidedcomponentsandnets
tomeettiming.TherstgoalofSmartGuidetechnologyistomeettimingrequirements;
thesecondgoalistoreduceruntime.
SmartGuidetechnologyworksbestattheendofthedesigncyclewhentimingismetand
smalldesignchangesarebeingmade.Ifthedesignchangeistoapaththatisdifcultto
meettiming,thebestperformancewillbeobtainedwithoutSmartGuidetechnology .
OtherexamplesofdesignchangesthatworkwellwithSmartGuidetechnologyare:
•Changestopinlocations
•Changestoattributesoninstantiatedcomponents
•Changesforrelaxingtimingconstraints
•ChangesforaddingaChipScope™core
InthisreleaseofXilinxsoftware,SmartGuidehasreplacedthe-gmand-gfoptions.
NoteSee-smartguide(SmartGuide)formoreinformation.
MAPusestheNGMandtheNCDlesasguides.TheNGMlecontainsinformationon
thetransformationsdoneintheMAPprocess.YoudonotneedtospecifytheNGMle
onthecommandline.MAPinferstheappropriateNGMlefromthespeciedNCD
guidele.Ifnomatchisfound,MAPlooksfortheappropriateNGMlebasedonthe
embeddedname,whichmayincludethefullpathandname.IfMAPdoesnotnd
anNGMleinthesamedirectoryastheNCD,thecurrentdirectory ,orbasedonthe
embeddedname,itgeneratesawarning.Inthiscase,MAPusesonlytheNCDleas
theguidele,whichmaybelesseffective.
NoteSmartGuidewillhaveahigherguidepercentageiftheNGMleisavailable.
TheresultsfromtheMAPrunarestoredintheoutputmapreportle(.mrp).Guide
statistics,includingthenumberofguidednetsandallnew ,guided,andre-implemented
componentsarelistedinthemapreport,whichisanestimatedreport.Thenalstatistics
arelistedintheoutputPARreport.PARgeneratesaseparateguidereportle(.grf)
whenyouusethe-smartguideoptiononthePARcommandline.TheGRFleisa
detailedreportthatlistscomponentsthatarere-implementedornew.Italsolistsnets.
NoteSee-smartguide(SmartGuide)formoreinformationandotherswitchinteractions.
98w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011

SimulatingMapResults
Chapter7:MAP
WhensimulatingwithNGCles,youarenotsimulatingamappedresult,youare
simulatingthelogicalcircuitdescription.WhensimulatingwithNCDles,youare
simulatingthephysicalcircuitdescription.
MAPmaygenerateanerrorthatisnotdetectedintheback-annotatedsimulationnetlist.
Forexample,afterrunningMAP ,youcanrunthefollowingcommandtogeneratethe
back-annotatedsimulationnetlist:
netgenmapped.ncdmapped.ngm-omapped.nga
Thiscommandcreatesaback-annotatedsimulationnetlistusingthelogical-to-physical
cross-referencelenamedmapped.ngm.Thiscross-referencelecontainsinformation
aboutthelogicaldesignnetlist,andtheback-annotatedsimulationnetlist(mapped.nga)
isactuallyaback-annotatedversionofthelogicaldesign.However,ifMAPmakesa
physicalerror,forexample,implementsanActiveLowfunctionforanActiveHigh
function,thiserrorwillnotbedetectedinthemapped.ngaleandwillnotappear
inthesimulationnetlist.
Forexample,considerthefollowinglogicalcircuitgeneratedbyNGDBuildfroma
designle,showninthefollowinggure.
LogicalCircuitRepresentation
ObservetheBooleanoutputfromthecombinatoriallogic.Supposethatafterrunning
MAPfortheprecedingcircuit,youobtainthefollowingresult.
CLBConfiguration
ObservethatMAPhasgeneratedanactivelow(C)insteadofanactivehigh(C).
Consequently,theBooleanoutputforthecombinatoriallogicisincorrect.Whenyou
runNetGenusingthemapped.ngmle,youcannotdetectthelogicalerrorbecausethe
delaysareback-annotatedtothecorrectlogicaldesign,andnottothephysicaldesign.
OnewaytodetecttheerrorisbyrunningtheNetGencommandwithoutusingthe
mapped.ngmcross-referencele.
netgenmapped.ncd-omapped.nga
CommandLineToolsUserGuide
UG628(v13.1)March2,2011w
w w . x i l i n x . c o m 99

Chapter7:MAP
Asaresult,physicalsimulationsusingthemapped.ngaleshoulddetectaphysical
error.However,thetypeoferrorisnotalwayseasilyrecognizable.Topinpointtheerror,
useFPGAEditororcallXilinx®CustomerSupport.Insomecases,areportederrormay
notreallyexist,andtheCLBcongurationisactuallycorrect.YoucanuseFPGAEditor
todetermineiftheCLBiscorrectlymodeled.
Finally,ifboththelogicalandphysicalsimulationsdonotdiscoverexistingerrors,you
mayneedtousemoretestvectorsinthesimulations.
MAPReport(MRP)File
TheMAPreport(MRP)leisanASCIItextlethatcontainsinformationaboutthe
MAPrun.Thereportinformationvariesbasedonthedeviceandwhetheryouusethe
-detailoption(seethe-detail(GenerateDetailedMAPReport)section).
AnabbreviatedMRPleisshownbelowmostreportlesareconsiderablylargerthan
theoneshown.Theleisdividedintoanumberofsections,andsectionsappearevenif
theyareempty .ThesectionsoftheMRPleareasfollows:
•DesignInformation-ShowsyourMAPcommandline,thedevicetowhichthe
•DesignSummary-Summarizesthemapperrun,showingthenumberoferrors
•TableofContents-ListstheremainingsectionsoftheMAPreport.
•Errors-Showsanyerrorsgeneratedasaresultofthefollowing:
•Warnings-Showsanywarningsgeneratedasaresultofthefollowing:
•Informational-Showsmessagesthatusuallydonotrequireuserinterventionto
•RemovedLogicSummary-Summarizesthenumberofblocksandsignalsremoved
•RemovedLogic-Describesindetailalllogic(designcomponentsandnets)removed
designhasbeenmapped,andwhenthemappingwasperformed.
andwarnings,andhowmanyoftheresourcesinthetargetdeviceareusedby
themappeddesign.
–ErrorsassociatedwiththelogicalDRCtestsperformedatthebeginningof
themapperrun.Theseerrorsdonotdependonthedevicetowhichyouare
mapping.
–Errorsthemapperdiscovers(forexample,apadisnotconnectedtoanylogic,
orabidirectionalpadisplacedinthedesignbutsignalsonlypassinone
directionthroughthepad).Theseerrorsmaydependonthedevicetowhich
youaremapping.
–ErrorsassociatedwiththephysicalDRCrunonthemappeddesign.
–WarningsassociatedwiththelogicalDRCtestsperformedatthebeginningof
themapperrun.Thesewarningsdonotdependonthedevicetowhichyou
aremapping.
–Warningsthemapperdiscovers.Thesewarningsmaydependonthedevice
towhichyouaremapping.
–WarningsassociatedwiththephysicalDRCrunonthemappeddesign.
preventaproblemlaterintheow .Thesemessagescontaininformationthatmay
bevaluablelaterifproblemsdooccur.
fromthedesign.Thesectionreportsonthesekindsofremovedlogic.
fromtheinputNGDlewhenthedesignwasmapped.Generally ,logicisremoved
forthefollowingreasons:
–Thedesignusesonlypartofthelogicinalibrarymacro.
–Thedesignhasbeenmappedeventhoughitisnotyetcomplete.
–Themapperhasoptimizedthedesignlogic.
–Unusedlogichasbeencreatedinerrorduringschematicentry.
100w
CommandLineToolsUserGuide
w w . x i l i n x . c o m UG628(v13.1)March2,2011