OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [doc/] [man/] [man5/] [vbom.5] - Blame information for rev 35

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 8 wfjm
.\"  -*- nroff -*-
2 35 wfjm
.\"  $Id: vbom.5 746 2016-03-19 13:08:36Z mueller $
3 8 wfjm
.\"
4 35 wfjm
.\" Copyright 2010-2016 by Walter F.J. Mueller 
5 8 wfjm
.\"
6
.\" ------------------------------------------------------------------
7
.
8 35 wfjm
.TH VBOM 2016-03-19 "Retro Project" "Retro Project Manual"
9 8 wfjm
.\" ------------------------------------------------------------------
10
.SH NAME
11 23 wfjm
vbom \- vhdl manifest file format - 'vhdl bill of material'
12 8 wfjm
.
13
.\" ------------------------------------------------------------------
14
.SH DESCRIPTION
15 23 wfjm
\fBvbom\fP files describe the sources needed to build a \fIvhdl\fP
16
entity. The source files are either given directly in case of libraries
17
or via other \fBvbom\fP's in case of instantiated components.
18 22 wfjm
They are used by \fBvbomconv\fP(1) to build project descriptions
19
for synthesis and simulation tools.
20 8 wfjm
 
21 23 wfjm
\fBvbomconv\fP expects that the entries in the \fBvbom\fP's
22
are ordered, libraries first, than the components in the order they are
23
instantiated, finally the name of the associated source file.
24
 
25
The format has five types of lines:
26 8 wfjm
.
27
.\" ----------------------------------------------
28 23 wfjm
.IP \fBComments\fP 4
29
Each line starting with '\fB#\fP' is treated as comment and ignored.
30 8 wfjm
.
31
.\" ----------------------------------------------
32 23 wfjm
.IP "\fBFile names\fP"
33
Either source files or nested \fBvbom\fP's. The file names  must be given
34
as relative path name from the directory the \fBvbom\fP file is located in.
35
Absolute path names are not allowed, nor is expansion of environment variables.
36
 
37
Currently three file types are accepted:
38
.RS
39
.IP "\fB.vbom\fP" 6
40
refers to a nested \fBvbom\fP. Usually used for instantiated components.
41 8 wfjm
.
42 23 wfjm
.IP "\fB.vhd\fP"
43
refers to a source file. Usually used for libraries refered to in 'use'
44
clauses, and as last file, the source file of the entity which is
45
described by this \fBvbom\fP file.
46
.
47 35 wfjm
.TP
48
.B "\fB.v\fP"
49
.TQ
50
.B "\fB.sv\fP"
51
refers to a verilog or system-verilog source file. Accepted by the vivado
52
xsim simulator. Typically used for DPI wrappers or simprim based models
53
in vivado.
54
.
55 23 wfjm
.IP "\fB.c\fP"
56
refers to the C source which implements a \fIvhdl\fP function or procedure
57
via the \fIvhpi\fP mechanism. Supported only in conjunction with \fBghdl\fP.
58
.
59
.RE
60
.
61
.
62 8 wfjm
.\" ----------------------------------------------
63 23 wfjm
.IP "\fBConditional file names\fP"
64
File names can be preceeded by a condition prefix of the form
65
 
66
.EX
67
   [\fItag\fP]filename
68
   [\fItag\fP,\fItag\fP,...]filename
69
.EE
70
 
71
The main purpose of this mechanism is to handle libraries and components
72
which are only refered in
73
.EX
74
    -- synthesis translate_off
75
    -- synthesis translate_on
76
.EE
77
sections and are used only for simulation.
78
 
79
Currently supported \fItag\fP names are
80
.RS
81
.RS 3
82
.PD 0
83 29 wfjm
.IP "\fBghdl\fP" 6
84
included in conjunction with ghdl simulation
85 35 wfjm
.IP "\fBviv\fP" 6
86
included in conjunction with Vivado targets
87
.IP "\fBvsyn\fP" 6
88
included in conjunction with Vivado synthesis
89
.IP "\fBvsim\fP" 6
90
included in conjunction with Vivado simulation
91
.IP "\fBise\fP" 6
92
included in conjunction with ISE targets
93 23 wfjm
.IP "\fBxst\fP" 6
94 29 wfjm
included in conjunction with ISE xst synthesis
95
.IP "\fBisim\fP" 6
96
included in conjunction with ISE ISim simulation
97
.IP "\fBsim\fP" 6
98
included in conjunction with simulation (ghdl,isim,vsim)
99 23 wfjm
.PD
100
.RE
101
.RE
102
.
103
.\" ----------------------------------------------
104
.IP "\fBLogical names\fP"
105 8 wfjm
A logical name can be defined with
106
.EX
107
     = 
108
.EE
109
The first definition of a logical name encountered in the traversal of the
110 23 wfjm
\fBvbom\fP's by \fBvbomconv\fP(1) is taken, all later definitions are ignored.
111 8 wfjm
 
112
A logical name can be used with
113
.EX
114
     : 
115
.EE
116 23 wfjm
The filename in the usage clause is the default used in case the
117
logical name wasn't defined before it is used.
118 8 wfjm
 
119 22 wfjm
Again, the filenames, either of type \fI.vhd\fP or \fI.vbom\fP ,
120 23 wfjm
must be given as relative path name from the directory the \fBvbom\fP
121 8 wfjm
file is located in.
122
 
123
.\" ----------------------------------------------
124 23 wfjm
.IP \fBDirectives\fP
125
Directives start with a '\fB@\fP', currently implemented are:
126
.RS
127
.IP "\fB@top\fP:\fIname\fP" 4
128
Specifies the top level design name. Mainly used when it is different
129
from the stem of the \fBvbom\fP file name.
130 8 wfjm
.
131 23 wfjm
.IP "\fB@lib\fP:\fIname\fP"
132
Specifies an additional system library. Allowed values for \fIname\fP are
133 29 wfjm
\fIunisim\fP, \fIunimacro\fP and \fIsimprim\fP.
134
Currently used to generate the appropriate -L options for \fBghdl\fP commands,
135
e.g. generated by the \fBvbomconv\fP action \fB\-\-ghdl_m\fP.
136 23 wfjm
.
137 35 wfjm
.IP "\fB@uut\fP:\fIfile\fP"
138
Signals that the \fIvbom\fP descibes a test bench and that \fIfile\fP is
139
the 'unit under test'. This allows to split the sources into a simulation
140
only test bench part and a synthesizable 'unit under test' part. \fIfile\fP
141
is typically a \fIvbom\fP in case of a functional simulation or the file
142
name of a generated post synthesis model.
143 29 wfjm
.
144
.IP "\fB@xdc\fP:\fIfile\fP"
145
Specifies that \fIfile\fP is a constraint file for Vivado synthesis and should
146
be included in the constraints fileset.
147 35 wfjm
.
148
.IP "\fB@ucf_cpp\fP:\fIfile\fP"
149
Specifies that a \fIfile\fP.ucf file is to be generated by \fBcpp\fP(1)
150
from a \fIfile\fP.ucf_cpp source file. This allows to modularize ISE ucf files.
151 23 wfjm
.RE
152
.
153 8 wfjm
.\" ------------------------------------------------------------------
154
.SH EXAMPLES
155 23 wfjm
.SS Simple entity
156
A simple vhdl entity named \fIbp_2l4l\fP which is defined in the source
157
file \fIbp_2l4l.vhd\fP, which uses the library \fIslvtypes\fP and
158
instantiates \fIbp_2line\fP and \fIbp_4line\fP, might have a
159
\fIbp_2l4l.vbom\fP like
160
.PP
161
.EX
162
    # libs
163
    ../../vlib/slvtypes.vhd
164
    # components
165
    bp_2line.vbom
166
    bp_4line.vbom
167
    # design
168
    bp_2l4l.vhd
169
.EE
170
.PP
171
Note that the vhdl source file \fIbp_2l4l.vhd\fP is always given in the
172
\fBvbom\fP file which describes this source file.
173
The comments are put in by convention to help the human reader and
174
are not interpreted by \fBvbomconv\fP.
175 8 wfjm
.
176
.\" ------------------------------------------------------------------
177
.SH "SEE ALSO"
178 23 wfjm
.BR vbomconv (1),
179
.BR ghdl (1),
180
.BR cpp (1)
181 8 wfjm
.
182
.\" ------------------------------------------------------------------
183
.SH AUTHOR
184
Walter F.J. Mueller 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.