2 Gate Level, Hierarchy and Simulation Flashcards

1
Q

Why were CAD packages required?

A

Digital systems involved hundreds or thousands of circuits, which increase their complexity in design. Therefore, computer-aided design (CAD) tools were introduced for the hardware design process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is schematic capture?

A

This is used to describe the circuits and wiring to there input and output ports.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

HDL?

A

Hardware description language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why do we need a HDL?

A

Building very large logic circuits (>~100k gates) is almost impossible with schematic based design. Hardware description languages (HDL) such as SystemVerilog provide the next level for hardware designers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

System Verilog relevance?

A

This HDL is widely accepted in the digital design industry and has become a must know for design engineers and students in electronics and computing fields.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Why system Verilog x3?

A
  • SystemVerilog is a Hardware Description Language (HDL). Resembles a software programming language but it has features not present in programming languages.
  • SystemVerilog allows us to write a textual description of a digital design
  • The hardware of a computer can be described using SystemVerilog.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does SystemVerilog allow us to write a textual description of a digital design

A
  • Can be synthesised into the circuit by automated tools
  • Can be tested in a simulator to remove bugs
  • Can be reused in larger designs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The hardware of a computer can be described using SystemVerilog. SystemVerilog is:

A
  • Industrially relevant and widely accepted by design engineers
  • Hierarchical description of hardware
  • Reusable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Gate Level design?

A

Creating a hardware design that maps directly to the target technology is “gate-level” design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

In gate level design what is done?

A
  • Each gate is described
  • Each connection is described
  • There can be hierarchy in the design
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

EXample of Gate level design?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

The process of creating a digital system designed with gate-level SystemVerilog can be automated by tools performing:

A
  • Place and route
  • Verification
  • Fabrication
    *
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Place and Route

A

Arrangement of components and wire all connections to minimise the area needed and interconnect length and crossing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Verification

A

The gate and wiring delays are used to estimate whether the final design meets the requirements from the specification.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Fabrication

A

The design is implemented in the FPGA.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Primitives

A

All logic libraries have or can easily implement basic logic functions

System Verilog implements a predefined set of logic functions, called primitives, that can be used instead of the library cells.

such as and(), nand(), or()

17
Q

The advantages of primitives?

A

This makes designs more “portable” between technologies.

18
Q

Primitives in code?

A
19
Q

Hierarchy?

A

Hierachy can be implemented into system Verilog which allows us to include lower-level subsystems within a higher-level module to chive the desired functionality. This is a good design practice that enables design partitioning.

20
Q

Instantiation with positional port mapping

A

Signals are connected to the instantiated low-level module in the same order as they were defined in the low-level module.

FullAdder bit1 (A1,B1,C1,S1,C2);

Positional port mapping is prone to misconnections due to mistakes in the signal order.

21
Q

Instantiation with explicit port mapping

A

The names of the ports of the lower-level subsystem are provided with the signals they are being connected to.

FullAdder bit1 (.A(A1),.B(B1),.C(C1),.Sum(S1),.Carry(C2));

The port connections can be listed in any order.

FullAdder bit1 (.A(A1),.B(B1),.Sum(S1),.Carry(C2),.C(C1));

22
Q

If all the signals outside the module have the same name as the signals inside the module, the port names can be omitted too:

A

FullAdder bit_lucky (.*);

23
Q

If the signals outside the module have the same name as the signals inside the module, the wire name can be omitted:

A

FullAdder bit3 (.A(A3),.B(B3),.C(C3),.Sum(S3),.Carry);

24
Q

Simulation tools provide two major approaches:

A
  • Graphical output

Useful for fault finding

  • Text output

Useful for repetitive testing

25
Q

what is used to test a system?

A

In SystemVerilog we can use a testbench to test a system. This mechanism generate input patterns to drive the system and observe the outputs to verify the correct operation.

26
Q

What is a test bench?

A
  • A testbench is an HDL description with a set of input conditions, patterns and sequence of operations.
  • A testbench has no inputs and outputs
  • A testbench can be composed of a number of files and modules
27
Q

unit under test

A

The testbech allows us to test a “unit under test” (UUT) or “device under test” (DUT). The outputs from the UUT are used to verify the functionality of the design.

28
Q

Example testbench

A