Counter and Clock Divider

Project 11: Counter and Clock Divider Revisit

A lot of interesting things can be built by combining arithmetic circuits and sequential elements. In this project, we are going to provide arithmetic circuits with timing reference by integrating arithmetic circuits with flip-flops. In the first part, we are going to use an adder with a register file (an array of flip-flops) to implement a counter that increase the number by 1 when rising edge of the clock arrives. In the second part, we are going to revisit clock divider and implement a clock divider whose frequency can be more precisely calculated compared to the clock divider that we implemented in the previous projects.

eye 78.4K
State Machine

Project 12: Serial Adder

In this project, we are going to design a serial adder. Serial Adder is a circuit that performs binary addition bit by bit, i.e. instead of presenting both operands at the inputs of an adder at the same time, the operands are fed into the serial adder bit by bit and generates the answer on the fly. To design such a circuit, we are going to use the state diagram as the formalism to describe the behavior of the circuit, and then translate the state diagram into Verilog code.

eye 8.03K
Control Light with Multiple Switches

Design Challenge 2

In this challenge you will be asked to control a single light with multiple switches. An LED on-board is used to emulate the light, and 4 slide switches are used to emulate the switches.

eye 4.03K
Temperature Indicator

Design Challenge 3

In this challenge you will be asked to build and minimize a combinational circuit using K-Map that outputs a signal when temperature is in a specific range.

eye 4.64K
Seven Segment Display Controller

Design Challenge 4

In this design challenge, you are going to finish a seven-segment decoder circuit that can can drive the 4-digit 7sd device on the Digilent board. We will take a hierarchical design approach to this problem, and the modules you designed in this design challenge will be reused in other projects as well.

eye 18.8K
Shift Registers

Design Challenge 5

In this design, you are going to use a chain of flip-flop to implement a shifter register. The shifter register will be clocked using the clock divider you build in previous projects.

eye 6.63K

Data Selectors

An in-depth examination of data selectors, or more commonly called multiplexers (or simply muxes).

eye 30.2K
Priority Encoder

An encoder essentially performs the reverse of a decoder function in a combinational logic circuit. The process of converting from symbols or numbers to coded format is called encoding. A priority encoder has a priority function which allows it to produce an output corresponding to the highest-order input.

eye 17.2K
Seven-Segment Display

Seven-Segment displays (7sd) are typically used in watches, calculators, and instruments to display decimal data. By lighting up a specified pattern of 7 LEDs, this type of decoder can create numbers 0-9 for digital display.

eye 9.57K

A shifter is a circuit that produces an N-bit output based on an N-bit data input and an M-bit control input, where the N output bits are place-shifted copies of the input bits, shifted some number of bits to the left or right as determined by the control inputs.

eye 9.21K
Delay of Combinational Circuits

Propagation Delays

Time is required to process information in digital circuits. This processing time is divided between the less significant signal transmission time, and the more significant propagation delays associated with switching logic circuits. If not managed properly, propagation delays can result in logic circuits that run too slowly to meet their requirements, or that fail altogether.

eye 16.0K

Ripple Carry Adder (RCA)

Adder circuits add two N-bit operands to produce an N-bit result and a carry out signal (the carry out is a '1' only when the addition result requires more than N bits).

eye 8.98K
Negative Binary Numbers

Signed Magnitude and 2's Compliment

Digital circuits that perform arithmetic functions often must deal with negative numbers, so a method of representing negative numbers must be defined.

eye 16.7K

Ripple Borrow Subtractor

Subtracting circuits use two N-bit operands to produce an N-bit result and a borrow out signal.

eye 48.2K
Introduction to Digilent FPGA-based Boards

Real Digital Project 2

This project introduces Digilent’s FPGA-based circuit boards and the Adept™ software that is used to program them. In tutorial fashion, Adept is used to download a logic circuit to the board, and that circuit is used in an experiment with basic logic circuits.

eye 5.10K