|
The HDLmaker project directory is organized as a set of subdirectories,
Hdlmaker Project Subdirectories
top
|
Hdlmaker .top files
|
pin
|
.pin files
|
v
|
Verilog .v and .vh
|
vhd
|
VHDL .vhd files
|
info
|
.error, .rpt, .pinlist files
|
scripts
|
Synplify .prj files, Verilog simulation .cmd files,Component list file .flist
|
misc
|
HDLmaker intermediate files
|
constraints
|
Xilinx constraint files, .ucf and .cst (obsolete). Synplify timing constraints, .sdc.
|
conn
|
HDLmaker .conn files. .conn files are an alternate means of making connections in HDLmaker.
|
schematics
|
TCL and Postscript schematic files.
|
netlist
|
PCB netlist files,
.cnet and .alg for concise netlist.
.pnl, .ref, .tel, .pkg for PADS
|
HDLmaker creates these subdirectories if required. For new projects HDLmaker will automatically move files found in the project directory into the approriate subdirectories.
HDLmaker Search Path
HDLmaker searches for files in the following order:
1) Local subdirectory (.v, .top, .pin, .. as appropriate)
2) Directories specified in polybus.lib file.
3) HDLmaker familiy library ($HDLMAKER_LIB/virtex/* for example)
4) HDLmaker common library ($HDLMAKER_LIB/common/*)
If a file is found it is copied into the project subdirectory.
-update
HDLmaker has an -update switch that changes the search order so that the local directories are searched last. This switch is used to update the local copies of the source files from the user and HDLmaker library directories.
hdlmaker -update foo.top
-library
The -library switch places the specified path at the head of HDLmakers search order. For example,
hdlmaker -libary ../my_lib foo.top
will search for files in the directory ../my_lib first .
The -update and -library swtiches may be used together. The -library switch is also useful for creating a clean version of a HDLmaker project. By clean I mean a project directory that contains only the files used in the design. As a project evolves it's frequently the case that a lot of obsolete files tend to accumulate in the project directory. To create a new clean version, sans the obsolete files, you would do the following:
mkdir new_project
cd new_project
hdlmaker -library ../old_project project.top
Polybus.lib File format
The polybus.lib file is an optional file that may be placed in the HDLmaker project directory. Polybus.lib specifies the search path for an arbitrary number of HDLmaker directories. In addition the polybus.lib file can be used to specify default HDLmaker variables.
The format of polybus.lib is similar to the Cadence cds.lib file. An entry starts with a #define statement, followed by an library name, the library path and then a semicolon. Example
#family "spartan2";
#part_type "XC2S200";
#package "fg256";
#HDLMAKER_LOCAL_COPY "FALSE";
#HDLMAKER_USE_SUB_DIRECTORY "TRUE";
#engineer "B. Joshua Rosen";
#company "Polybus Systems Corp";
#define "cache_unit" "/home/bjrosen/processor/cache_unit";
#define "sdram_unit" "/home/bjrosen/mem_system/sdram_interface";
|