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
Verilog - RTL Introduction
Verilog Introduction - Its a programming language designed to program hardware at register transfer level. The digital hardware consists of concurrent and sequential events.
Register transfer is related to moving the contents of one register to another register for specific arithmetic micro-operations.
For example: Moving contents of register R2 to register R1. This kind of transfers generally occurs when a control condition is triggered.
If (R2 greater 10) then R1 <– R2
Register transfer level (RTL) is a specific term used by engineers to implement hardware specifications using a languages such as Verilog or VHDL.
Registers are group of flip-flops. Each flop within a register can store a digital value 1 or 0. The maximum number of values a register can hold is defined by the number of bits. An N bits register has N flip-flops and can store N binary values.
RTL Introduction:- A digital hardware is a system of millions of logic blocks such as gates, flip-flops, memories etc.
To implement any component inside a digital system requires basics understanding of building blocks.
So to understand the hardware implementations requires.
1. Good understanding of digital gates and flip-flops.
2. Good understanding for Register Transfer Level (RTL).
RTL is discussed in this section.
Microoperations are the arithmetic operations executed on the contents of registers. Some examples are increment, decrement, right shift, left shift etc.
So from the discussion above, for any hardware code follow the requirements below:-
1. Declare registers to load and store binary data.
2. Define a list of microoperations.
3. Declare control conditions for executing microoperations.
Microoperations can be categorized further into following groups.
1. Aritmetic Microoperations.
2. Logic Microoperations.
3. Shift Microoperations.
Once the logic is coded, it needs to be simulated and synthesized to verify the correct implementation.
Any synchronous digital circuit is modeled with following considerations:
a.) A circuit behavior consists of sequential and parallel operations.
b.) Interim results are stored in registers.
c.) Registers are generally implemented as D Flip Flops.
d.) Data is transferred between registers which are synchronous to each other.
Next Topic : Verilog Operators discussion with examples
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