Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Aba committed Oct 9, 2023
2 parents 509f7c9 + 68408c7 commit f619296
Show file tree
Hide file tree
Showing 22 changed files with 196,403 additions and 89 deletions.
Binary file added asic_flow/full_adder.gds
Binary file not shown.
28 changes: 28 additions & 0 deletions asic_flow/input/rtl/full_adder.sv
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
`timescale 1ns / 1ps
/*
This code describes a full_adder circuit
*/
module full_adder (
input logic a, b, ci,
output logic sum, co
);

logic wire_1, wire_2;
assign wire_1 = a ^ b; // bitwise XOR
assign wire_2 = wire_1 & ci; // bitwise AND

wire wire_3 = a & b; // bitwise AND

always_comb begin
co = wire_2 | wire_3; // bitwise OR
sum = wire_1 ^ ci ; // bitwise XOR
end

endmodule

module full_adder_2 (
input logic a, b, ci,
output logic sum, co
);
assign {co, sum} = a + b + ci;
endmodule
26 changes: 26 additions & 0 deletions asic_flow/input/tb/full_adder_tb.sv
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
module full_adder_tb;

timeunit 10ns; timeprecision 1ns;

logic a=0, ci=0, b, sum, co; // b != 0, intentional

full_adder dut (.*);

initial begin // simulation starts
$dumpfile("dump.vcd"); $dumpvars;

#30 a <= 0; b <= 0; ci <= 0;
#10 a <= 0; b <= 0; ci <= 1;

#20 a <= 1; b <= 1; ci <= 0;
#1 assert ({co,sum} == a+b+ci)
$display ("OK");
else $error("Not OK");

#10 a <= 1; b <= 1; ci <= 1;
#1 assert (dut.wire_1 == 0) // 1 (xor) 1 = 0
else $error("False. wire_1:%d", dut.wire_1);

$finish(); // simulation ends
end
endmodule
Binary file added asic_flow/libs/saed32nm_1p9m_Cmax.tluplus
Binary file not shown.
Binary file added asic_flow/libs/saed32nm_1p9m_Cmin.tluplus
Binary file not shown.
Loading

0 comments on commit f619296

Please sign in to comment.