### Latest Posts

Basic Combinational Blocks using Vivado HLS
Vivado HLS is designed for high level language synthesis of digital systems. Any system can be modelled using lower-level languages like Verilog HDL, VHDL. But these HDL languages are considered as machine level languages like assembly language in case of …
General Verilog Codes for Sequential Blocks
In our previous post, we discussed about general codes for some of the most important combinational blocks. In this post, we will discuss general Verilog codes for some of the most important sequential blocks. General Verilog Codes for Sequential Blocks …
General Verilog Codes for Combinational Blocks
In our previous blog, we discussed different combinational circuits but General Verilog codes are essential in writing bigger complex codes for a system. They make it easy for the coders to generalize the overall code. The generalized overall code can …
Double Flip-Flop Synchronizer for CDC
As we discussed in the previous blog one of the methods to solve metastability is the Double Flop Synchroniser method. This method consists of two cascaded D flip-flops that sample the input signal with the destination clock. This design can …
Clock Domain Crossing in Digital Circuits
Clock Domain Crossing (CDC) refers to the process and techniques used to manage data transfer between different clock domains within the digital system in either ASIC IC or FPGA. CDC is one where the data is transferred from one clock …
FPGA Implementation of XOR Function using ANN
Artificial Neural Networks (ANN) are very popular to realize different critical functions related to any field of study. In this project, a simple exclusive-OR function is realized with the help of ANN. The purpose of the XOR function is to …
Solving Linear Equations using QR Decomposition
QR decomposition is another powerful technique to solve linear equations. In QR decomposition, the co-efficient matrix $A \in \mathcal{R}^{M\times K}$ need not to be a symmetric matrix. In special cases where the input signal is compressible or sparse, QR decomposition …
Solving Linear Equations using Gaussian Elimination
Gaussian Elimination (GE) is one of the most popular methods to solve an linear equation. GE algorithm is the only direct method which is of much interest to the researchers. This method considers that the co-efficient matrix is square. If …
Solving Linear Equations with Modified Cholesky Decomposition
In our previous tutorial, we have discussed about Cholesky decomposition which is a very important matrix factorization to solve a linear equation. But this technique has some drawbacks which are also discussed in the same tutorial. In this tutorial, we …
Solving Linear Equations using Cholesky Decomposition
Cholesky decomposition is a very important matrix factorization technique which is used to solve a linear equation. This technique originally derives from very popular LU decomposition and very suitable for higher order matrices. In Cholesky decomposition, the co-efficient matrix $A$ …
SVD Implementation Strategies
Singular Value Decomposition (SVD) is one of the matrix factorization techniques which can be used to solve linear equations. But this is not the primary objective of SVD. SVD can provide singular values of matrix. Singular values reveal unique information …
FPGA Implementation QR Decomposition Based on CORDIC
QR decomposition is one of the powerful matrix factorization techniques that is used to solve a linear equation, to find matrix inverse or to find pseudo-inverse. In this factorization technique, a matrix (A) is factorized into two matrices Q and …