Fmax synthesis¶
Step 1: Initialize a directory¶
Place yourself in an empty directory, for example:
mkdir ~/odatix_example
cd ~/odatix_example
Run the init command of Odatix to create configuration files.
odatix init --examples
Step 2: Choose the designs you want to implement¶
Uncomment the architectures you want to implement in odatix_userconfig/fmax_synthesis_settings.yml.
Those architectures are defined in odatix_userconfig/architectures.
Change the value of nb_jobs in odatix_userconfig/fmax_synthesis_settings.yml depending on the number of logical cores available on your CPU.
Tip
75% of your number of logical cores is usually a good balance for nb_jobs.
Example:
1overwrite: No # overwrite existing results?
2ask_continue: Yes # prompt 'continue? (y/n)' after settings checks?
3show_log_if_one: Yes # show synthesis log if there is only one architecture selected?
4nb_jobs: 12 # maximum number of parallel synthesis
5
6architectures:
7 - Example_Counter_vhdl/04bits
8 - Example_Counter_vhdl/08bits
9 - Example_Counter_vhdl/16bits
10 - Example_Counter_vhdl/24bits
11 - Example_Counter_vhdl/32bits
12 - Example_Counter_vhdl/48bits
13 - Example_Counter_vhdl/64bits
Step 3: Choose your target device/technology¶
Select the target device or technology in the yaml file corresponding to your EDA tool.
EDA Tool |
Target File |
|---|---|
AMD Vivado |
|
Synopsys Design Compiler |
|
OpenLane |
|
Step 4: Run the selected designs¶
odatix fmax --tool vivado
odatix fmax --tool design_compiler
odatix fmax --tool openlane
Step 5: Visualize and explore the results¶
odatix-explorer