Lec 1 Part2 M1 Digital Design Flow
Lec 1 Part2 M1 Digital Design Flow
Lecture 1
Digital Design Flow (Terminologies)
Behaviora Structura
l VHDL, l VHDL
C
Design Steps
High-level Functional
Specification
Descriptio
s
n Descriptio
n Synthesis
Physical
Technology
Placed DesignGate- Logic
&
Routed Mapping
level
Design
Descriptio
n
Design
X=(AB*CD)+
(A+D)+
(A(B+C))
Y = (A(B+C)
Packaging +AC+
Fabri D+A(BC+D))
-
cati
on
System Level Design
• Benefits of C++ for high level design
• Faster implementation of the specifications.
• The behavior of the system can be practiced in early
phase.
• Early discovery of errors in the specifications before the
manufacturing begins
• Early performance estimations are possible
• Find possible bottlenecks
• Easy design space exploration
Behavioral Domain
Behavioral Level
Example
Data[i]
i=0 i=7 * ∑
Weight[i]
Behavioral Level
Example
#include <ac_int.h>
#include <ac_array.h>
#include <ac_channel.h>
#pragma hls_design top
void da_intro (ac_channel<ac_array<uint10,8> > &data_in,
ac_channel<ac_array<uint10,8> >
&weight_in,
ac_channel<ac_array<uint23,1> > &data_out)
{
uint23 acc =0;
ac_array<uint10,8> data, weight;
data = data_in.read();
weight = weight_in.read();
data_out.write(acc);
}
RTL Design and Test
RTL (1)
module unsig_altmult_accum
(
input [7:0] dataa,
input [7:0] datab,
input clk, aclr, clken, sload,
output reg [15:0] adder_out
);
else if (clken)
begin
dataa_reg <= dataa;
datab_reg <= datab;
sload_reg <= sload;
adder_out <= old_result + multa;
end
end
endmodule
Universal Verification Methodology
• Class libraries needed for the development of well
constructed, reusable SystemVerilog based
Verification environment
• In simple words, UVM consists of a set of base
classes with methods defined in it, the
SystemVerilog verification environment can be
developed by extending these base classes.