genhdltdb
Generate timing databases for specified target device, device speed grade, and synthesis tool
Since R2021a
Description
genhdltdb('Name','Value')
generates timing databases for the target
device with options specified by using name-value arguments. You can specify the device
family name, the device name, the device package, and the device speed grade. This function
exports the generated timing database as a MAT-file to the specified timing database path.
To generate timing databases, the function characterizes basic design components (such as Simulink® blocks, block architectures, and subcomponents of those blocks) for the specified target device. HDL Coder™ analyzes these timing databases to estimate the critical path in your design. For more information, see Critical Path Estimation Without Running Synthesis.
Examples
Generate Timing Data for Xilinx Artix-7 Target Device
Generate timing databases for the Xilinx®
Artix®-7 target device. Export generated timing database MAT-files to the
C:\Work\Database
folder. Set the synthesis tool path to
'C:\Xilinx\Vivado\2019.2\bin\vivado.bat'
.
To generate a timing database for the target device, specify target device
configuration parameters, such as device family, device name, device package, and device
speed grade, in a single argument
'SynthesisDeviceConfiguration'
.
genhdltdb('SynthesisDeviceConfiguration',{'Artix7','xa7a100t','csg324','-1I'}, ... 'TimingDatabaseDirectory','C:\Work\Database', ... 'SynthesisToolName','Xilinx Vivado', ... 'SynthesisToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat');
Alternatively, specify target device configuration parameter in separate arguments.
genhdltdb('SynthesisDeviceFamily','Artix7', ... 'SynthesisDeviceName','xa7a100t', ... 'SynthesisDevicePackage','csg324', ... 'SynthesisDeviceSpeedGrade','-1I', ... 'TimingDatabaseDirectory','C:\Work\Database', ... 'SynthesisToolName','Xilinx Vivado', ... 'SynthesisToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat');
Note
When you use the genhdltdb
function to generate a timing
database for a specific device, the function can run for a long time until the
database is created.
Generate Timing Data for Xilinx Kintex UltraScale+ Target Device
Generate timing databases for the Xilinx
Kintex®
UltraScale+™ target device. The target device is
xcku11p-CIV-ffva1156-1-e
. Enter the device name without
'CIV'
, as it is not required for setting the part number. Export
generated timing database MAT-files to the C:\Work\Database
folder.
Set the synthesis tool path to
'C:\Xilinx\Vivado\2019.2\bin\vivado.bat'
.
To generate a timing database for the target device, specify target device
configuration parameters, such as device family and device name, in a single argument
'SynthesisDeviceConfiguration'
. In this target device, the device
package and speed grade is included in the device name.
genhdltdb( 'SynthesisDeviceConfiguration',{'Kintex Ultrascale+', ... 'xcku11p-ffva1156-1-e'}, ... 'TimingDatabaseDirectory','C:\Work\Database', ... 'SynthesisToolName','Xilinx Vivado', ... 'SynthesisToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat');
Alternatively, specify target device configuration parameters in separate arguments.
genhdltdb('SynthesisDeviceFamily','Kintex Ultrascale+', ... 'SynthesisDeviceName','xcku11p-ffva1156-1-e', ... 'TimingDatabaseDirectory','C:\Work\Database', ... 'SynthesisToolName','Xilinx Vivado', ... 'SynthesisToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat');
Input Arguments
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: 'SynthesisToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat'
sets the synthesis tool path to
C:\Xilinx\Vivado\2019.2\bin\vivado.bat
.
SynthesisDevicePart
— Target device part number or technology library files
character vector | string scalar
Target device part number or technology library files, specified as a character vector or string scalar.
Example: 'SynthesisDevicePart','xczu19eg-ffve1924-1-i'
Example: "SynthesisDevicePart","timingdata.lib"
Data Types: char
| string
SynthesisDeviceConfiguration
— Target device configuration parameters
character vector | string scalar
Specify target device configuration parameters, such as device family name, device name, device package, and device speed grade, in a single argument, specified as a character vector or string scalar.
Example: 'SynthesisDeviceConfiguration',{'KintexU','xc7z100','ffg1156',-1'}
Data Types: char
| string
SynthesisDeviceFamily
— Target device family
character vector | string scalar
Target device family, specified as a character vector or string scalar.
Example: 'SynthesisDeviceFamily', 'Artix7'
Data Types: char
| string
SynthesisDeviceName
— Target device name
character vector | string scalar
Target device name, specified as a character vector or string scalar.
Example: 'SynthesisDeviceName','xa7a100t'
Data Types: char
| string
SynthesisDevicePackage
— Target device package
character vector | string scalar
Target device package, specified as a character vector or string scalar.
Example: 'SynthesisDevicePackage','csg324'
Data Types: char
| string
SynthesisDeviceSpeedGrade
— Target device speed grade
character vector | string scalar
Target device speed grade, specified as a character vector or string scalar.
Example: 'SynthesisDeviceSpeedGrade','-1I'
Data Types: char
| string
TimingDatabaseDirectory
— Export timing database MAT-files to the specified directory path
character vector | string scalar
Export timing database MAT-files to the specified folder path, specified as a character vector or string scalar.
Example: 'TimingDatabaseDirectory','C:\Work\Database'
Data Types: char
| string
SynthesisToolName
— Synthesis tool name
character vector | string scalar | "xilinx vivado"
| "intel quartus pro"
| "altera quartus ii"
| "cadence genus"
Synthesis tool name, specified as a character vector or string scalar.
Example: 'SynthesisToolName','Xilinx Vivado'
Example: "SynthesisToolName","cadence genus"
Data Types: char
| string
SynthesisToolPath
— Full path to synthesis tool executable or batch file
character vector | string scalar | cell array
Full path to the synthesis tool executable or batch file, specified as a character
vector or string scalar. You can use a cell array to specify the path to the
Cadence® Genus tool and technology library files. To set the synthesis tool path,
use either this argument or the hdlsetuptoolpath
function. If the path is set by both, the
genhdltdb
function uses the tool path set by this
argument.
Example: 'SynthesisToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat'
Example: "SynthesisToolPath",{"<genus_path">,"<path to technology
library files>"}
Data Types: char
| string
Override
— Override generated timing database MAT-files
'on'
(default) | 'off'
Override the generated timing database MAT-files in the output path set by the
outpath
argument, specified as one of these values:
'on'
— Generate new timing database MAT-files for the blocks for every call to this function.'off'
— Generate timing database MAT-files for only the blocks whose MAT-files are not present in the output path.
Data Types: char
| string
NativeFloatingPoint
— Whether to characterize native floating point operations
'on' (default) | 'off'
Since R2024a
Whether to characterize native floating point operations, specified as one of these values:
'on'
— Characterize native floating point operations when generating a timing database.'off'
— Do not characterize native floating point operations when generating a timing database. Use this option to reduce the time needed to generate a timing database.
Example: 'NativeFloatingPoint','off'
Data Types: char
| string
TimingGenerator
— Tool for which to generate synthesis and timing database
'' (default) | hdlcoder.TimingGenerator.CadenceGenus
| hdlcoder.TimingGenerator.IntelQuartus
| hdlcoder.TimingGenerator.XilinxVivado
| custom timing generator
Since R2024a
Tool for which to generate synthesis and timing database, specified as one of these options:
hdlcoder.TimingGenerator.CadenceGenus
— Use the timing class for Cadence Genus inherited from the basehdlcoder.TimingGenerator
class.hdlcoder.TimingGenerator.IntelQuartus
— Use the timing class for Intel® Quartus® inherited from the basehdlcoder.TimingGenerator
class.hdlcoder.TimingGenerator.XilinxVivado
— Use the timing class for Xilinx Vivado® inherited from the basehdlcoder.TimingGenerator
class.custom timing generator — Use a custom timing class for your custom tool or device. To create this class, create a subclass of the abstract base class
hdlcoder.TimingGenerator
.
Example: tg = myTimingGenerator
'TimingGenerator',tg
Version History
Introduced in R2021a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)