1
+ <!DOCTYPE html>
2
+ < html class ="writer-html5 " lang ="en " >
3
+ < head >
4
+ < meta charset ="utf-8 " /> < meta name ="viewport " content ="width=device-width, initial-scale=1 " />
5
+
6
+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
7
+ < title > HDL attributes/annotations — FPGA Board Constraints latest documentation</ title >
8
+ < link rel ="stylesheet " href ="_static/pygments.css " type ="text/css " />
9
+ < link rel ="stylesheet " href ="_static/css/theme.css " type ="text/css " />
10
+ <!--[if lt IE 9]>
11
+ <script src="_static/js/html5shiv.min.js"></script>
12
+ <![endif]-->
13
+
14
+ < script src ="_static/documentation_options.js?v=c6e86fd7 "> </ script >
15
+ < script src ="_static/doctools.js?v=888ff710 "> </ script >
16
+ < script src ="_static/sphinx_highlight.js?v=dc90522c "> </ script >
17
+ < script src ="_static/js/theme.js "> </ script >
18
+ < link rel ="index " title ="Index " href ="genindex.html " />
19
+ < link rel ="search " title ="Search " href ="search.html " />
20
+ < link rel ="next " title ="Similar resources " href ="Similar.html " />
21
+ < link rel ="prev " title ="Contributing " href ="Contributing.html " />
22
+ </ head >
23
+
24
+ < body class ="wy-body-for-nav ">
25
+ < div class ="wy-grid-for-nav ">
26
+ < nav data-toggle ="wy-nav-shift " class ="wy-nav-side ">
27
+ < div class ="wy-side-scroll ">
28
+ < div class ="wy-side-nav-search " >
29
+ < a href ="index.html " class ="icon icon-home "> FPGA Board Constraints
30
+ </ a >
31
+ < div class ="version ">
32
+ latest
33
+ </ div >
34
+ < div role ="search ">
35
+ < form id ="rtd-search-form " class ="wy-form " action ="search.html " method ="get ">
36
+ < input type ="text " name ="q " placeholder ="Search docs " />
37
+ < input type ="hidden " name ="check_keywords " value ="yes " />
38
+ < input type ="hidden " name ="area " value ="default " />
39
+ </ form >
40
+ </ div >
41
+ </ div > < div class ="wy-menu wy-menu-vertical " data-spy ="affix " role ="navigation " aria-label ="Navigation menu ">
42
+ < ul class ="current ">
43
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Structure.html "> Structure of the repository</ a > </ li >
44
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Usage.html "> Usage</ a > </ li >
45
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Contributing.html "> Contributing</ a > </ li >
46
+ < li class ="toctree-l1 current "> < a class ="current reference internal " href ="# "> HDL attributes/annotations</ a > < ul >
47
+ < li class ="toctree-l2 "> < a class ="reference internal " href ="#vhdl "> VHDL</ a > </ li >
48
+ < li class ="toctree-l2 "> < a class ="reference internal " href ="#verilog "> Verilog</ a > </ li >
49
+ </ ul >
50
+ </ li >
51
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Similar.html "> Similar resources</ a > </ li >
52
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="ProgDebug.html "> Programming and debugging</ a > </ li >
53
+ </ ul >
54
+ < p class ="caption " role ="heading "> < span class ="caption-text "> Data</ span > </ p >
55
+ < ul >
56
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Data/Boards/index.html "> Boards</ a > </ li >
57
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Data/Devices.html "> Devices</ a > </ li >
58
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Data/Flash.html "> Flash</ a > </ li >
59
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Data/SDRAM.html "> SDRAM</ a > </ li >
60
+ </ ul >
61
+ < p class ="caption " role ="heading "> < span class ="caption-text "> Appendix</ span > </ p >
62
+ < ul >
63
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="References.html "> References</ a > </ li >
64
+ </ ul >
65
+
66
+ </ div >
67
+ </ div >
68
+ </ nav >
69
+
70
+ < section data-toggle ="wy-nav-shift " class ="wy-nav-content-wrap "> < nav class ="wy-nav-top " aria-label ="Mobile navigation menu " >
71
+ < i data-toggle ="wy-nav-top " class ="fa fa-bars "> </ i >
72
+ < a href ="index.html "> FPGA Board Constraints</ a >
73
+ </ nav >
74
+
75
+ < div class ="wy-nav-content ">
76
+ < div class ="rst-content ">
77
+
78
+
79
+ < div role ="navigation " aria-label ="Page navigation ">
80
+ < ul class ="wy-breadcrumbs ">
81
+ < li > < a href ="index.html " class ="icon icon-home "> </ a > »</ li >
82
+ < li > HDL attributes/annotations</ li >
83
+ < li class ="wy-breadcrumbs-aside ">
84
+ < a href ="https://github.com/hdl/constraints/blob/main/doc/Attributes.rst " class ="fa fa-github "> Edit on GitHub</ a >
85
+ </ li >
86
+ </ ul >
87
+ < hr />
88
+ </ div >
89
+
90
+ < div role ="main " class ="document " itemscope ="itemscope " itemtype ="http://schema.org/Article ">
91
+ < div itemprop ="articleBody ">
92
+
93
+ < section id ="hdl-attributes-annotations ">
94
+ < h1 > HDL attributes/annotations< a class ="headerlink " href ="#hdl-attributes-annotations " title ="Link to this heading "> ¶</ a > </ h1 >
95
+ < p > Some tools/vendors support specifying implementation constraints through attributes/annotations in HDL sources.</ p >
96
+ < section id ="vhdl ">
97
+ < h2 > VHDL< a class ="headerlink " href ="#vhdl " title ="Link to this heading "> ¶</ a > </ h2 >
98
+ < ul class ="simple ">
99
+ < li > < p > Timing</ p >
100
+ < ul >
101
+ < li > < p > Specify SDC timing constraints inside a module</ p > </ li >
102
+ < li > < p > Setting cross-clock options</ p > </ li >
103
+ < li > < p > Disable optimizations like shiftregister extraction</ p > </ li >
104
+ </ ul >
105
+ </ li >
106
+ < li > < p > Physical</ p >
107
+ < ul >
108
+ < li > < p > Setting pin locations</ p > </ li >
109
+ </ ul >
110
+ </ li >
111
+ < li > < p > Encoding</ p >
112
+ < ul >
113
+ < li > < p > FSM encoding</ p > </ li >
114
+ < li > < p > Type/enum encoding</ p > </ li >
115
+ </ ul >
116
+ </ li >
117
+ < li > < p > Disable renaming optimization so a wire can be used for debugging</ p >
118
+ < ul >
119
+ < li > < p > Attach a logic analyzer</ p > </ li >
120
+ </ ul >
121
+ </ li >
122
+ < li > < p > Translation hints</ p >
123
+ < ul >
124
+ < li > < p > Setting memory styles (register, distributedRAM/LUTRAM, BlockRAM, UltraRAM, …)</ p > </ li >
125
+ </ ul >
126
+ </ li >
127
+ </ ul >
128
+ </ section >
129
+ < section id ="verilog ">
130
+ < h2 > Verilog< a class ="headerlink " href ="#verilog " title ="Link to this heading "> ¶</ a > </ h2 >
131
+ < p > See < a class ="reference internal " href ="Similar.html#similar-yosys-symbiflow-plugins "> < span class ="std std-ref "> yosys-symbiflow-plugin</ span > </ a > .</ p >
132
+ </ section >
133
+ </ section >
134
+
135
+
136
+ </ div >
137
+ </ div >
138
+ < footer > < div class ="rst-footer-buttons " role ="navigation " aria-label ="Footer ">
139
+ < a href ="Contributing.html " class ="btn btn-neutral float-left " title ="Contributing " accesskey ="p " rel ="prev "> < span class ="fa fa-arrow-circle-left " aria-hidden ="true "> </ span > Previous</ a >
140
+ < a href ="Similar.html " class ="btn btn-neutral float-right " title ="Similar resources " accesskey ="n " rel ="next "> Next < span class ="fa fa-arrow-circle-right " aria-hidden ="true "> </ span > </ a >
141
+ </ div >
142
+
143
+ < hr />
144
+
145
+ < div role ="contentinfo ">
146
+ < p > © Copyright 2021-2022 The HDL Authors.
147
+ < span class ="lastupdated "> Last updated on 2025.07.24.
148
+ </ span > </ p >
149
+ </ div > Built with < a href ="http://sphinx-doc.org/ "> Sphinx</ a > using a
150
+ < a href ="https://github.com/buildthedocs/sphinx.theme "> theme</ a >
151
+ provided by < a href ="https://buildthedocs.github.io "> Build the Docs</ a > .
152
+
153
+
154
+ </ footer >
155
+ </ div >
156
+ </ div >
157
+ </ section >
158
+ </ div >
159
+ < script >
160
+ jQuery ( function ( ) {
161
+ SphinxRtdTheme . Navigation . enable ( true ) ;
162
+ } ) ;
163
+ </ script >
164
+
165
+ </ body >
166
+ </ html >
0 commit comments