# Structural Verilog for Combinational Circuits#

## Learning Goals#

Know how to create hierarchical designs using structural Verilog

Know how to use and instantiate components in higher-level designs

## Background#

Imagine that you want to implement a digital circuit which displays the decimal numbers 1 and 2 in loop on a seven segment display. How can you achieve this behavior?

Solution to Exercise 101

To create such a *sequential* behavior sequential logic can be used. There are two ways to implement sequential logic:

Most of the digital designs nowadays use synchronous sequential circuits. The reasons are depicted on the links above.

What is a clock signal in a synchronous sequential circuit used for?

Solution to Exercise 102

A clock signal is a recurring signal typically swinging between logic high and low at a frequency. Clock signal is used to synchronize the components of a digital circuit.

What is a counter?

How can we use a counter to create a slower clock?

Solution to Exercise 103

In a synchronous design, a counter is input with a clock signal and typically outputs a sequence of values, e.g., from 0 to 1, from 1 to 2, etc.

Note that a counter does not necessarily output incrementing numbers. For example: LFSR.

An incremental binary number counter with sufficient digits can be used to create slower clocks. For example the least significant digit of a counter will toggle with the half of the input frequency and 16th digit of a counter will toggle every \(2^{16}\) cycles.

Multiplexers, binary decoders and seven-segment displays were already discussed in previous chapters.