Skip to content

ItzzInfinity/100-days-of-RTL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 100 Days of RTL Challenge

Welcome to my 100 Days of RTL Challenge repository! 🎉

In this project, I will be coding various digital designs using Verilog and RTL design techniques as part of a 100-day challenge to improve my hardware description language (HDL) skills.

📅 Progress

  • Day 1: Basic Gates using Behavioral Design

  • Day 2: Basic Gates using Structural Design

  • Day 3: Basic Gates using Gate Level Design

  • Day 4: MOS Inverter Design & Testbench

  • Day 5: Random Boolean Expression (ABC + A'C' + D)

  • Day 6: Half Adder & Full Adder

  • Day 7: Half Subtractor & Full Subtractor

  • Day 8: 4-bit Parallel Adder with Control Input

  • Day 9: 16-BIT ADDER AND SUBTRACTOR with Control input.

  • Day 10: Ripple Carry Adder using 4 Full Adders

  • Day 11: 4-bit Binary Multiplier with Adder-Based Partial Product Summation

  • Day 12: Half Adder, Full Adder, Half Subtractor, Full Subtractor using Nand Gate

  • Day 13: BCD adder Using Verilog.

  • Day 14: 4 Bit Divider

  • Day 15: 4 Bit Magnitude Comparator

  • Day 16: Carry Look Ahead Generator

  • Day 17: Carry Select Adder

  • Day 18: Carry Save Adder

  • Day 19: Carry Skip Adder

  • Day 20: Even Parity Generator and Checker

  • Day 21: N bit Comparator

  • Day 22: Multiplexer [2:1]

  • Day 23: [4:1] Mux using [2:1]

  • Day 24: 16x1 Mux using 2x1 Mux by instantiating in Verilog.

  • Day 25: K:1 Mux using parameter statement (K=64)

  • Day 26: Logic Gates using Mux

  • Day 27: Full Adder using Mux

  • Day 28: DeMultiplexer [1:2]

  • Day 29: DeMultiplexer[1:8] using [1:2]

  • Day 30: 1:32 Demultiplexer Using Verilog.

  • Day 31: Logic Gates using Dmux

  • Day 32: 1-Bit Comparator Using 4x1 Mux.

  • Day 33: Octal to binary Converter - Encoder [8:3]

  • Day 34: Priority Encoder

  • Day 35: Decoder [3:8]

  • Day 36: 3x8 Decoder using 2x4 Decoder.

  • Day 37: 5x32 Decoder using Verilog.

  • Day 38: BCD to Decimal Decoder

  • Day 39: watchdog timer (WDT)

  • Day 40: Monostable Multivibrator

  • Day 41: Input Majority Circuit [7 input]

  • Day 42: Binary to Gray code Converter

  • Day 43: Gray code to Binary Converter

  • Day 44: Binary to BCD Converter

  • Day 45: BCD to 7-Segment Converter

  • Day 46: SR Latch

  • Day 47: JK Flip Flop

  • Day 48: D Flip Flop

  • Day 49: T Flip Flop

  • Day 50: Arithmetic Logic Unit (ALU)

  • Day 51: SR flip flop using JK, D, T flip flops

  • Day 52: JK flip flop using SR, D, T flip flops

  • Day 53: D flip flop using SR, JK, T flip flops

  • Day 54: T flip flop using SR, JK, D flip flops

  • Day 55: Serial in Serial out (SISO) Register

  • Day 56: Serial in Parallel out (SIPO) Register

  • Day 57: Parallel in Serial out (PISO) Register

  • Day 58: Parallel in Parallel out (PIPO) Register

  • Day 59: Serial-in Serial-Out Shift Register Using JK Flip-Flop.

  • Day 60: Linear Feedback Shift Register (LFSR)

  • Day 61: Universal Shift Register

  • Day 62: Barrel Shifter

  • Day 63: Booth's Multiplication Algorithm

  • Day 64: Vedic Multiplier [4×4] using [2×2]

  • Day 65: Mod-N Counter

  • Day 66: Specific Sequence Counter

  • Day 67: Up/Down Counter

  • Day 68: Ring Counter

  • Day 69: Johnson Couter

  • Day 70: Clock Edge Detector

  • Day 71: Frequency Divider {even}

  • Day 72: Frequency Divider {odd}

  • Day 73: Frequency Divider {decimal}

  • Day 74: Two sequence detector using FSM

  • Day 75: 16x16 Register File

  • Day 76: Cache Memory (Direct Mapping)

  • Day 77: Checking if Number is an Even or Odd Number

  • Day 78: *Checking if Number is a Prime Number *

  • Day 79: Checking if Number is a Pallindrome Number

  • Day 80: Checking if Number is an Armstrong Number

  • ... (Tasks will be added as I progress)

🔧 Tools & Environment

  • Vivado 2024.1 🛠️
    • The designs will be synthesized and simulated using the latest version of Xilinx Vivado (2024.1).

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.