
Asynchronous in a synchronous world - Part 2
Performing static timing analysis is the process of verifying that every signal path in a design meets required clock-c…
Performing static timing analysis is the process of verifying that every signal path in a design meets required clock-c…
The purpose of synchronizing signals is to protect downstream logic from the metastable state of the first flip-flop in…
I am composing this article to explore various aspects of clock and data synchronization. The first part of the article…
module pat_det ( data_in, patDetected ); input [31:0] data_in; output patDetected; wire [4:0] patSum = data_in[0] + dat…
module shifter (result, value_in, direction, type, length); output [7:0] result; input [7:0] value_in; input direction;…
Differentiate between Inter assignment Delay and Inertial Delay ? What are the different State machine Styles ? Which i…
Consider a 2:1 mux , what will be the output F if the Select (sel) is "X" ? What is the difference between bl…
Clock jitter is the deviation from the ideal timing of clock transition events. Because such deviation can be detriment…
I know people who swear by blocking and some who swear by non-blocking. So here are some thoughts. There is very little…
Basics of Clock Tree Synthesis: The main idea is to balance the skew between endpoints. They are built with the followi…
..apparently these pages on guidelines and criteria, are from NASA. I think this is a very nice article with good amoun…
"Safe" State Machines: If the number of states (N) is a power of 2 and you use a binary or gray-code encoding…
Metastability in electronic circuits Metastability is a phenomenon that occurs in digital circuits when an input signal…
Delay statements, e.g. @(posedge clock), require careful attention if there are several in a row. If there are only del…
When implementing Verilog tasks in modules, the best approach is to group tasks that have the same output signals into …
To modify a behavioural Verilog fork and join statement to make it synthesizable. Behavioural: command1; fork //…
Modifying a behavioural Verilog while statement to make it synthesizable. Behavioural: command1; while (x != 0) …
Modifying a behavioural Verilog wait statement to make it synthesizable. Behavioural: command1; wait (x != 0); c…
http://www.allaboutcircuits.com/ , Look up Volume IV - Digital Summary of topics covered... Chapter 1: NUMERATION SYS…
In digital logic design, one of the ways to represent negative numbers is by using signed number representation. One of…
A negative setup and hold condition is a very interesting proposition in static timing analysis. Support for this type …
Question: What is the maximum distance of the I2C bus? This depends on the load of the bu s and the speed y…
1. Given 2 4 bit nos, A= 1001, b= 1100 HOW DO YOU ExOR THEM using minimum number of gates? how do you nand them? …
Here is some background and a step to solve the problem: A set of {+, . , '} is functionally complete because every…
1.) You are adding 8 10-bit numbers. How many bits do you need for the result? 2.) You are adding two 2's-compleme…
A glitch resistive transition means, it is not possible to have any intermediate momentary values during output transit…
Why "FOR LOOP" is not advisable to code in RTL eventhough it is synthesizable? I agree with this explanation.…
a) Generally speaking SETUP fixing is always DIFFICULT. This can be resolved by inserting buffers (as you mentioned) on…
Find the resource elements consumed during design stage that is before RTL coding.Is it necessarily needed to draw the …
Negative hold time is generally seen where a delay is already added in the data path inside the flop. This is usually d…
Category Name ~^~123~^~ ~^~123~^~ | ~^~123~^~ ~^~123~^~ ~^~123~^~ | ~^~123~^~ ~^~123~^~ ~^~123~^~ | ~^~123~^…