Chip Designing for ASIC/ FPGA Design engineers and Students
Digital-logic Design... Dream for many students… start learning front-end…
Feedback ? Send it to admin@fullchipdesign.com or join me at fullchip@gmail.com
Introduction
Operators
Initial stms
Block vs. Non Blk
IF-ELSE, CASE
FORLOOP
File Operations
Read .bin format
Function Call
Testbench
Random Numbers
Shift Micro-ops
Sync RAM
Mem Generate
Assertions
Statements within initial block are used in Verilog for generating test signals,
example clocks, resets etc.
Initial statements can’t be synthesized because actual behavior of hardware is difficult
to model using fixed delays. These statements are used only for testbench purposes
and to initialize the values at zero simulation time.
Clock & Reset generation code:
// Register declarations
reg clk_1fs;
reg clk_1fs_d;
reg rst_n;
// Use of initial statement to generate clocks 1fs and 1fs_d
initial begin
clk_1fs = 0;
clk_1fs_d = 0;
rst_n = 0;
#100 rst_n = 1;
forever begin
#10 clk_1fs = 1;
#11 clk_1fs_d = 1;
#10 clk_1fs = 0;
#11 clk_1fs_d = 0;
end end
end
reg clk;
reg rstn;
/* Initial block to generate clock and reset */
initial
begin
clk = 0; rstn = 0; #100 rstn = 1;
forever begin
#10 clk = !clk; end
end
Verilog Initial Statements.
Digital Logic fundamentals topics @ fcd
Digital basics tutorial
Binary number discussion, 1 and 2 complement discussion,
Binary arithmetic, Signed Magnitude, overflow, examples
Gray coding, Binary coded digital (BCD) coding, BCD addition
Digital logic gates basic (AND, OR, XOR, NOT) and derived (NAND, NOR and XNOR). Drive XOR from NAND gates. Drive XOR from NOR gates
Discussion of Boolean Algebra with examples.
Duality Principle, Huntington Postulates, Theorems of Boolean Algebra - discussion with examples, Boolean Functions, Canonical and Standard Forms, Minterms and Maxterms
Sum of Minterms, Product of Maxterms or Canonical Forms,
Karnaugh map or K-map discussion 2, 3, ,4 and 5 var’s
Prime Implicant and Gate level minimization examples.
Resources
Digital design resources
Clock Domain Crossing rtl & testbench.
Rate change (asynchronous) FIFO design and fifo depth calculation.
Half-adder, Full-adder, 4-bit binary adder , adder-subtractor circuit, overflow with rtl & testbench. Binary Multiplier, Parity error TT, Arithmetic, logical, shift micro-operations. Stack organization, LIFO, RPN discussion.
RTL coding guidelines. ICG cell, Assertions, $assertkill, levels.
Digital design Interview questions.
FPGA Interview. FPGA flow.
Guide to Graduate studies in US
Pipeline vs. Parallel processing.
Another example of initial statement to generate clock and reset using not operator.