Skip to content

PRAMOTHs-Repository/Hamming-code-vlsi-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

VLSI Design of Hamming Code Algorithm Introduction

In modern data communication systems, ensuring the integrity of transmitted data is crucial. The Hamming Code Algorithm provides a reliable method for error detection and correction, especially in environments prone to data corruption, such as electronic circuits deployed in critical industries like nuclear power plants.

Methodology

The Hamming Code Algorithm can detect up to 2-bit errors and correct single-bit errors by utilizing extra parity bits. This project focuses on the VLSI implementation of the Hamming Code Algorithm, aiming to enhance the reliability of data transmission in electronic circuits. Calculation of Hamming Code

  • Identify Positions of Parity Bits: Parity bits are inserted into specific bit positions, marked as P1, P2, P4, and P8, based on their powers of 2.
  • Calculate Position Bits: Parity bits are calculated using predefined patterns, such as even or odd parity, to detect errors in transmitted data.
  • Final Data (Data + Parity Bits): The original data is combined with the calculated parity bits to form the final transmitted data.

Error Detection

After receiving the transmitted data, error detection is performed by analyzing the parity bits. This allows for the identification of errors and enables corrective measures to be taken based on the parity bit patterns.

Usage

Quartus Prime (Design and Compilation)

  1. Open Quartus Prime.
  2. Create a new project or open an existing one.
  3. Add the Verilog source code files to your project.
  4. Set up the project settings, including the target device and synthesis options.
  5. Run the synthesis process to generate the logic design.
  6. Perform any necessary optimizations or adjustments.
  7. Compile the design to generate the programming files for your target FPGA device.

ModelSim(Logic Verification)

  1. Open ModelSim.
  2. Create a new simulation project or open an existing one.
  3. Add the Verilog source code files to your project.
  4. Compile the design files to check for syntax errors and elaborate the design.
  5. Write testbench files to simulate the behavior of your Verilog modules.
  6. Run simulations to verify the functionality and performance of your design.
  7. Analyze simulation results and debug any issues that arise.

QFlow(ASIC Design)

  1. Install and set up QFlow for ASIC design.
  2. Prepare the Verilog source code files for synthesis.
  3. Create a new QFlow project or open an existing one.
  4. Configure the synthesis settings, including technology libraries and target technology.
  5. Run the synthesis process to generate the gate-level netlist.
  6. Perform any necessary optimizations or adjustments to the design.
  7. Generate timing reports to analyze the timing characteristics of the synthesized design.
  8. Optionally, perform layout and post-layout simulations for further verification.

Contact

For more information or inquiries, please contact:

pramothGIT@gmail.com kaushiksubramanianr@gmail.com

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors