This tutorial will take a sample VHDL design and synthesize it into a Verilog
netlist using BuildGates Extreme. This Verilog netlist can then be automatically
placed-and-routed into a semiconductor layout using Silicon Ensemble, as seen in
this tutorial.
Get Sample Design and Libraries
Sample Design: miniUART
Universal Asynchronous Receiver-Transmitter
VHDL Files: miniUART.vhd
RxUnit.vhd
TxUnit.vhd
clkUnit.vhd
Synthesize Design. To synthesize the imported design, select Commands -> Build_Generic. The default options should be fine for this tutorial, so click "OK." The
command line equivalent of this action is:
do_build_generic
You can view the schematic at this point by right-clicking "miniUART" in the
Logical Tab and selecting Open Schematic -> Main Window.
Optimize and Map to Desired Library. The synthesized schematic uses generic
logic functions and gates. The design must be mapped to a physical standard cell library and the design optimize for that library. First, open the standard cell library synthesis library file by selecting File -> Open and select the File Type:ALF library. Then, browse to the proper directory and select
OSU_digital_ami05.alf and click "OK". The command line equivalent of this action is:
read_alf OSU_digital_ami05.alf
To map the design to the library and perform optimization, select Commands ->
Set Target Technology and select OSU_digital_ami05. Then click "OK". Next,
select Commands -> Optimize and select Priority Area and click "OK". This
option will try to minimize the cell area of the synthesized design. The command
line equivalent of this operation is:
do_optimize -priority area
Due to a bug in the GUI for BuildGates, the command line might have to be used to perform
this operation.
Save as Verilog Netlist. To save the final design as a Verilog netlist, which
can later be used for Place-and-Route, select File -> Save As, the
select Verilog. Enter the file name and click "OK." The command line equivalent is:
command line equivalent: write_verilog miniUART_built.v
A final note:
This whole process can be scripted in a .tcl file using the commands explained above:
read_alf OSU_digital_ami05.alf
set_global hdl_vhdl_environment common
do_build_generic
do_optimize -priority area
write_verilog -hierarchical miniUART_built.v
Then, run bgx_shellfilename.tcl to synthesize the circuit.
If you have any comments, suggestions, or corrections, please email
I.E. Group
IE logos by Ben McCrea.
James Copus 2003