Eetop - CN - Systemverilog Lecture 1
Eetop - CN - Systemverilog Lecture 1
SystemVerilog,
System Structural Circuit RAM bus CPU Queuing theory
SystemC
Add
Accumulator
Functional
Register- Circuits on the Input
Transfer level of multibit Command Register
devices +1
Command Counter
Boolean Algebra Verilog,VHDL
Circuit on the
Gate level of gates and J
flip-flops
K
System of
Circuit Electrical Circuit differential Spice
equations
n+
System of
p+ differential
Device IC Components n equations with
n+ partial
p derivative
Translation
The process which converts an abstract form of
desired circuit behavior into a design implementation
in terms of logic gates
Optimization
Changing design to achieve design goal (required by
specification)
Type&Drive
No Cell name Cell Description
Strength
Inverters. Buffers
SAED14_INV_* Inverter 0.5, 0.75, 1, 10,
1. 12, 16, 1.5, 2, 20,
3, 4, 6, 8
2. SAED14_INV_ECO_* Inverter 1, 2, 3, 4, 6, 8
3. SAED14_DEL_R2V3_* Delay buffer 1, 2
4. SAED14_DEL_L4D100_* Delay buffer 1, 2
5. SAED14_CLKSPLT_* Clock Splitter 1, 8
Logic Gates
2-Input AND (A
inverted input),
7. SAED14_AN2B_MM_* 1, 12, 16, 2, 20, 4, 6, 8
symmetric
rise/fall
8. SAED14_AN2_* 2-Input AND 0.5, 0.75, 1, 2, 4, 8
MUX +
Ignored by synthesis
assign D_Out=S?B:A;
always @(A, B, S)
if (S==1)
D_Out = B;
else
D_Out = A;
begin
#5 a<=1’b1;
#10 b<=1’b0;
#30 $finish;
end
#5 assign D_Out=S?B:A;
A A’
B B’
C Combinational C’
circuit
n m
C Truth table
Circuit Diagram
BCin
Circuit Diagram
Synopsys University Courseware
Copyright © 2020 Synopsys, Inc. All rights reserved.
SystemVerilog
Lecture - 1
Developed By: Vazgen Melikyan
17
Example, Mux 1
2:1 0
MUX
Block Diagram 2
Block Diagram 1 Enable Select Output
E S Y
B 0 X 0
S
D_Out 1 0 D0
1 1 D1
A
X=Don’t care
Truth table
Circuit Diagram
Synopsys University Courseware
Copyright © 2020 Synopsys, Inc. All rights reserved.
SystemVerilog
Lecture - 1
Developed By: Vazgen Melikyan
18
Example, Demux
2 to line A B D0 D1 D2 D3
decoder 0 0 1 0 0 0
0 1 0 1 0 0
A B
Block Diagram 0 1 0 0 1 0
1 1 0 0 0 1
D0=A!B!
Truth table
D1=AB!
D2=A!B
D3=AB
Circuit Diagram
Synopsys University Courseware
Copyright © 2020 Synopsys, Inc. All rights reserved.
SystemVerilog
Lecture - 1
Developed By: Vazgen Melikyan
20
Continuous Assignment
module half_adder(
input x, y, enable,
output carry, result);
assign carry=x&y:0;
assign result=x^y:0;
endmodule half_adder;
x
Half carry
y
Adder result
module half_adder(
input x, y, enable,
output carry, result);
assign carry=enable?x&y:0;
assign result=enable?x^y:0;
endmodule half_adder;
x
Half carry
y
Adder result
enable
module half_adder(
input x, y, enable,
output carry, result);
endmodule half_adder;
endmodule
endmodule endmodule
always @(a,b,temp)
begin
temp <= (a & b) | c;
out <= temp;
end
always @(A,B)
Blocking
begin
Out = A & B;
Out = A | B;
end
reg out;
always @* Always_comb
if (S) if (S)
Out <= B; Out <= B;
else else
Out <= A; Out <= A;
endmodule endmodule
B
0 S
1 Out
Specification always_comb
if (s==2’b00)
Mux out = a1;
Inputs – 4 else if (s==2’b01)
Output – 1 out = a2;
Select – 2 or 1 input 2 bit else if (s==2’b10)
out = a3;
else
out = a4;
end
end
end
end
endcase
end
always @*
begin
Multiplexer will be
synthesized case (s)
2’b00 : out = a1;
2’b01 : out = a2;
2’b10 : out = a1;
2’b11 : out = a2;
endcase
end
always @(in)
always @(in)
for (i = 0; i <= 3; i = i + 1)
if (in == i) out=0;
out[i] = 1'b1; out[in]=1’b1;
else
out[i] = 1'b0; enmodule
enmodule
2 to 4 line
decoder