This document is a guide to digital design and synthesis using Verilog HDL. It is authored by Samir Palnitkar and published by SunSoft Press in 1996. The document covers basic and advanced topics of Verilog HDL over three parts, including modeling concepts, modules, behavioral modeling, timing, and logic synthesis. It also includes appendices with additional reference material.
A fundamental introduction to Intellectual Property in VLSI domain. Starts from basics and includes types of IPs and their examples, life cycle of an IP and other few topics in brief in an interactive Q-A manner.
The material is also available at : https://wordpress.com/stats/day/vlsifundamentals.wordpress.com
A VLSI (Very Large Scale Integration) system integrates millions of “electronic components” in a small area (few mm2 few cm2).
design “efficient” VLSI systems that has:
Circuit Speed ( high )
Power consumption ( low )
Design Area ( low )
A fundamental introduction to Intellectual Property in VLSI domain. Starts from basics and includes types of IPs and their examples, life cycle of an IP and other few topics in brief in an interactive Q-A manner.
The material is also available at : https://wordpress.com/stats/day/vlsifundamentals.wordpress.com
A VLSI (Very Large Scale Integration) system integrates millions of “electronic components” in a small area (few mm2 few cm2).
design “efficient” VLSI systems that has:
Circuit Speed ( high )
Power consumption ( low )
Design Area ( low )
Those slides describe digital design using Verilog HDL,
starting with Design methodologies for any digital circuit then difference between s/w (C/C++) and H/w (Verilog) and the most important constructs that let us start hardware design using Verilog HDL.
This is the presentation that was shared by Nilesh Ranpura and Vineeth Mathramkote at CDNLIVE 2015. The session briefs about the implementation challenges and covers the solution approach and how to achieve results
Setup and hold time violation in flip-flopsJong Hwan Shin
When using a flip-flop, flip-flop should have constant input during setup time and hold time. This slide explains setup time violation and hold time violation in flip-flops.
Physical verification will verify that the post-layout netlist and the layout are equivalent. i.e. all connections specified in the netlist is present in the layout. This article explains physical verification.
This Presentation describes the ARM CORTEX M3 core processor with the details of the core peripherals. Soon a CORTEX base controller(STM32F100RBT6) ppt will be uploaded. For more information mail me at:gaurav.iitkg@gmail.com.
Formal equivalence checking process is a part of electronic design automation (EDA), commonly used during the development of digital integrated circuits, to formally prove that two representations of a circuit design exhibit exactly the same behavior.
Clock Tree Synthesis is a technique for distributing the clock equally among all sequential parts of a VLSI design. The purpose of Clock Tree Synthesis is to reduce skew and delay. Clock Tree Synthesis is provided the placement data as well as the clock tree limitations as input. Clock Tree Synthesis (CTS) is the technique of balancing the clock delay to all clock inputs by inserting buffers/inverters along the clock routes of an ASIC design. As a result, CTS is used to balance the skew and reduce insertion latency. Before Clock Tree Synthesis, all clock pins were driven by a single clock source. Clock tree synthesis includes both clock tree construction and clock tree balance. Clock tree inverters may be used to create a clock tree that maintains the correct transition (duty cycle), and clock tree buffers (CTB) can balance the clock tree to fulfil the skew and latency requirements. To fulfil the space and power limits, fewer clock tree inverters and buffers should be employed.
How to create SystemVerilog verification environment?Sameh El-Ashry
Basic knowledge for the verification engineer to learn the art of creating SystemVerilog verification environment.
Starting from the specifications extraction till coverage closure.
Those slides describe digital design using Verilog HDL,
starting with Design methodologies for any digital circuit then difference between s/w (C/C++) and H/w (Verilog) and the most important constructs that let us start hardware design using Verilog HDL.
This is the presentation that was shared by Nilesh Ranpura and Vineeth Mathramkote at CDNLIVE 2015. The session briefs about the implementation challenges and covers the solution approach and how to achieve results
Setup and hold time violation in flip-flopsJong Hwan Shin
When using a flip-flop, flip-flop should have constant input during setup time and hold time. This slide explains setup time violation and hold time violation in flip-flops.
Physical verification will verify that the post-layout netlist and the layout are equivalent. i.e. all connections specified in the netlist is present in the layout. This article explains physical verification.
This Presentation describes the ARM CORTEX M3 core processor with the details of the core peripherals. Soon a CORTEX base controller(STM32F100RBT6) ppt will be uploaded. For more information mail me at:gaurav.iitkg@gmail.com.
Formal equivalence checking process is a part of electronic design automation (EDA), commonly used during the development of digital integrated circuits, to formally prove that two representations of a circuit design exhibit exactly the same behavior.
Clock Tree Synthesis is a technique for distributing the clock equally among all sequential parts of a VLSI design. The purpose of Clock Tree Synthesis is to reduce skew and delay. Clock Tree Synthesis is provided the placement data as well as the clock tree limitations as input. Clock Tree Synthesis (CTS) is the technique of balancing the clock delay to all clock inputs by inserting buffers/inverters along the clock routes of an ASIC design. As a result, CTS is used to balance the skew and reduce insertion latency. Before Clock Tree Synthesis, all clock pins were driven by a single clock source. Clock tree synthesis includes both clock tree construction and clock tree balance. Clock tree inverters may be used to create a clock tree that maintains the correct transition (duty cycle), and clock tree buffers (CTB) can balance the clock tree to fulfil the skew and latency requirements. To fulfil the space and power limits, fewer clock tree inverters and buffers should be employed.
How to create SystemVerilog verification environment?Sameh El-Ashry
Basic knowledge for the verification engineer to learn the art of creating SystemVerilog verification environment.
Starting from the specifications extraction till coverage closure.
Control engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offer.
Control engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offerControl engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offer. Cost effective for controlling complex systems. · Flexible and can be reapplied to control other systems quickly and easily.· Flexible and can be reapplied to control other systems quickly and easily. Trouble shooting aids make programming easier and reduce downtime. Reliable components make these likely to operate for years before failure. Ladder logic is the main programming method used for PLCs. As mentioned before,
ladder logic has been developed to mimic relay logic. Ladder logic is the main programming method used for PLCs. As mentioned before,
ladder logic has been developed to mimic relay logic.
- Defined the specifications and designed an architecture of the MSDAP chip that performs convolution of two signals in least possible area & power.
- Implemented a RTL model of the MSDAP chip which consists of a Controller, ALU, Memories and Serial communication Unit.
- Synthesized the design in Synopsys Design Vision and functionality was verified using the Modelsim
- Final physical design was generated using the IC Compiler.
Verilog hdl by samir palnitkar for verilog know how
1.
2. Verilog HDL
A guide to Digital Design
and Synthesis
Samir Palnitkar
SunSoft Press
1996
3. PART 1 BASIC VERILOG TOPICS 1
1 Overview of Digital Design with Verilog HDL 3
2 Hierarchical Modeling Concepts 11
3 Basic Concepts 27
4 Modules and Ports 47
5 Gate-Level Modeling 61
6 Dataflow Modeling 85
7 Behavioral Modeling 115
8 Tasks and Functions 157
9 Useful Modeling Techniques 169
PART 2 Advance Verilog Topics 191
10 Timing and Delays 193
11 Switch-Level Modeling 213
12 User-Defined Primitives 229
13 Programming Language Interface 249
14 Logic Synthesis with Verilog HDL 275
PART3 APPENDICES 319
A Strength Modeling and Advanced Net Definitions 321
B List of PLI Rountines 327
C List of Keywords, System Tasks, and Compiler Directives 343
D Formal Syntax Definition 345
E Verilog Tidbits 363
F Verilog Examples 367
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194. Verilog HDL
A guide to Digital Design
and Synthesis
Samir Palnitkar
SunSoft Press
1996
195. PART 1 BASIC VERILOG TOPICS 1
1 Overview of Digital Design with Verilog HDL 3
2 Hierarchical Modeling Concepts 11
3 Basic Concepts 27
4 Modules and Ports 47
5 Gate-Level Modeling 61
6 Dataflow Modeling 85
7 Behavioral Modeling 115
8 Tasks and Functions 157
9 Useful Modeling Techniques 169
PART 2 Advance Verilog Topics 191
10 Timing and Delays 193
11 Switch-Level Modeling 213
12 User-Defined Primitives 229
13 Programming Language Interface 249
14 Logic Synthesis with Verilog HDL 275
PART3 APPENDICES 319
A Strength Modeling and Advanced Net Definitions 321
B List of PLI Rountines 327
C List of Keywords, System Tasks, and Compiler Directives 343
D Formal Syntax Definition 345
E Verilog Tidbits 363
F Verilog Examples 367
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324. Verilog HDL
A guide to Digital Design
and Synthesis
Samir Palnitkar
SunSoft Press
1996
325. PART 1 BASIC VERILOG TOPICS 1
1 Overview of Digital Design with Verilog HDL 3
2 Hierarchical Modeling Concepts 11
3 Basic Concepts 27
4 Modules and Ports 47
5 Gate-Level Modeling 61
6 Dataflow Modeling 85
7 Behavioral Modeling 115
8 Tasks and Functions 157
9 Useful Modeling Techniques 169
PART 2 Advance Verilog Topics 191
10 Timing and Delays 193
11 Switch-Level Modeling 213
12 User-Defined Primitives 229
13 Programming Language Interface 249
14 Logic Synthesis with Verilog HDL 275
PART3 APPENDICES 319
A Strength Modeling and Advanced Net Definitions 321
B List of PLI Rountines 327
C List of Keywords, System Tasks, and Compiler Directives 343
D Formal Syntax Definition 345
E Verilog Tidbits 363
F Verilog Examples 367