VLSICoding
Be Expert in VLSI Design.
Search This Blog
Friday, 15 May 2026
The Ultimate Base Converter: Bridging the Gap Between Humans and Hardware
Friday, 18 August 2023
Verilog code to count number of 1's and 0's in 32-bit data input
There are many places where we need to check how many 0's or 1's are present in incoming data. It can be packet inspection or these counting further can be used for different purposes. This Verilog code is designed to efficiently count the occurrences of both '1' and '0' bits within a 32-bit input data. The primary objective of this module is to provide an accurate count of the number of '1's and '0's present in the input data simultaneously. Module takes 32-bit input data with valid bit. There are also clock and reset signals. Module has two output count vlaues, one for number of 1's and another one for number of 0's, and one valid signal. 32-bit input data is fed to the function only on valid_input and function will return number of 1's in the 32-bit data. This value will be subtracted from 32 and it will give us number of 0's present in the data. Both output values are true only when output_valid signal is high.
Monday, 7 November 2022
Rising and Falling Edge Detector using Verilog
In the real word, there might be many scenario that we need to detect rising edge or falling edge of the signal. If rising/falling edge happens on particular signal, then design can perform certain task. This rising or falling edge can be detected using following code. This code is done in Verilog language. In given below example code, clock clk, input signal sig_a, output rising edge signal ris_a and falling edge signal fal_a are defined. Both ris_a and fal_a are high for one clock cycle when circuit detects rising or falling edge on the sig_a respectively.
Sunday, 13 May 2018
Get Familiar with System Task in Verilog
- Display Task
- $display, $write, $monitor, $strobe
- File I/O Task
- $fopen, $fclose, $fdisplay, $fstrobe, $fmonitor
- Timescale Task
- $time, $stime, $realtime
- Simulation Control Task
- $reset, $finish, $stop