-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #59 from siliconcompiler/auxlibs
Auxlibs
- Loading branch information
Showing
982 changed files
with
3,292 additions
and
4,075 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
lambdapdk/asap7/libs/asap7sc7p5t_lvt/lambda/auxlib/la_clkicgand.v
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
//############################################################################# | ||
//# Function: Integrated "And" Clock Gating Cell (And) # | ||
//# Copyright: Lambda Project Authors. All rights Reserved. # | ||
//# License: MIT (see LICENSE file in Lambda repository) # | ||
//############################################################################# | ||
|
||
module la_clkicgand #( | ||
parameter PROP = "DEFAULT" | ||
) ( | ||
input clk, // clock input | ||
input te, // test enable | ||
input en, // enable (from positive edge FF) | ||
output eclk // enabled clock output | ||
); | ||
|
||
// reg en_stable; | ||
|
||
// always @(clk or en or te) if (~clk) en_stable <= en | te; | ||
|
||
// assign eclk = clk & en_stable; | ||
|
||
ICGx1_ASAP7_75t_L u0(.CLK(clk), .ENA(en), .SE(te), .GCK(eclk)); | ||
|
||
endmodule |
30 changes: 30 additions & 0 deletions
30
lambdapdk/asap7/libs/asap7sc7p5t_lvt/lambda/auxlib/la_clkicgor.v
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
//############################################################################# | ||
//# Function: Integrated "Or" Clock Gating Cell # | ||
//# Copyright: Lambda Project Authors. All rights Reserved. # | ||
//# License: MIT (see LICENSE file in Lambda repository) # | ||
//############################################################################# | ||
|
||
module la_clkicgor #( | ||
parameter PROP = "DEFAULT" | ||
) ( | ||
input clk, // clock input | ||
input te, // test enable | ||
input en, // enable | ||
output eclk // enabled clock output | ||
); | ||
|
||
// reg en_stable; | ||
|
||
// always @(clk or en or te) if (clk) en_stable <= en | te; | ||
|
||
// assign eclk = clk | ~en_stable; | ||
|
||
wire eclk_int; | ||
wire en_bar; | ||
|
||
ICGx1_ASAP7_75t_L u0(.CLK(clk), .ENA(en), .SE(te), .GCK(eclk_int)); | ||
|
||
INVx1_ASAP7_75t_L u1(.A(en), .Y(en_bar)); | ||
OR2x2_ASAP7_75t_L u2(.A(en_bar), .B(eclk_int), .Y(eclk)); | ||
|
||
endmodule |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,4 +11,6 @@ module la_decap #( | |
output vdd | ||
); | ||
|
||
DECAPx10_ASAP7_75t_L u0(.VSS(vss), .VDD(vdd)); | ||
|
||
endmodule |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
51 changes: 51 additions & 0 deletions
51
lambdapdk/asap7/libs/asap7sc7p5t_lvt/lambda/auxlib/la_dsync.v
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
//############################################################################# | ||
//# Function: Synchronizer # | ||
//# Copyright: Lambda Project Authors. All rights Reserved. # | ||
//# License: MIT (see LICENSE file in Lambda repository) # | ||
//############################################################################# | ||
module la_dsync #(parameter PROP = "DEFAULT", | ||
parameter STAGES = 2, // synchronizer depth | ||
parameter RND = 1) // randomize simulation delay | ||
( | ||
input clk, // clock | ||
input in, // input data | ||
output out // synchronized data | ||
); | ||
|
||
// reg [STAGES:0] shiftreg; | ||
// always @(posedge clk) | ||
// shiftreg[STAGES:0] <= {shiftreg[STAGES-1:0], in}; | ||
|
||
// `ifdef SIM | ||
// integer sync_delay; | ||
// always @(posedge clk) | ||
// sync_delay <= {$random} % 2; | ||
// assign out = (|sync_delay & (|RND)) ? shiftreg[STAGES] : shiftreg[STAGES-1]; | ||
// `else | ||
// assign out = shiftreg[STAGES-1]; | ||
// `endif | ||
|
||
genvar i; | ||
generate | ||
for (i = 0; i < STAGES; i = i + 1) begin: DELAY | ||
wire reg_in; | ||
wire reg_out; | ||
if (i == 0) begin: SEL_IN | ||
assign reg_in = in; | ||
end else begin: SEL_PREV | ||
assign reg_in = reg_out[i - 1]; | ||
end | ||
|
||
wire reg_out_int; | ||
DFFHQNx1_ASAP7_75t_L u0 ( | ||
.CK(clk), | ||
.D(reg_in), | ||
.QN(reg_out_int) | ||
); | ||
INVx1_ASAP7_75t_L u1(.A(reg_out_int), .Y(reg_out)); | ||
end | ||
endgenerate | ||
|
||
assign out = DELAY[STAGES - 1].reg_out; | ||
|
||
endmodule |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 9 additions & 2 deletions
11
...180mcu_fd_sc_mcu9t5v0/lambda/la_antenna.v → ...asap7sc7p5t_lvt/lambda/auxlib/la_pwrbuf.v
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,19 @@ | ||
//############################################################################# | ||
//# Function: Antenna Diode # | ||
//# Function: Non-inverting buffer with supplies # | ||
//# Copyright: Lambda Project Authors. All rights Reserved. # | ||
//# License: MIT (see LICENSE file in Lambda repository) # | ||
//############################################################################# | ||
|
||
module la_antenna #(parameter PROP = "DEFAULT") ( | ||
module la_pwrbuf #( | ||
parameter PROP = "DEFAULT" | ||
) | ||
( | ||
input vdd, | ||
input vss, | ||
input a, | ||
output z | ||
); | ||
|
||
BUFx2_ASAP7_75t_L u0(.A(a), .Y(z), .VSS(vss), .VDD(vdd)); | ||
|
||
endmodule |
64 changes: 64 additions & 0 deletions
64
lambdapdk/asap7/libs/asap7sc7p5t_lvt/lambda/auxlib/la_rsync.v
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
//############################################################################# | ||
//# Function: Reset synchronizer (async assert, sync deassert) # | ||
//# Copyright: Lambda Project Authors. All rights Reserved. # | ||
//# License: MIT (see LICENSE file in Lambda repository) # | ||
//############################################################################# | ||
module la_rsync #(parameter PROP = "DEFAULT", | ||
parameter STAGES = 2, // synchronizer depth | ||
parameter RND = 1) // randomize sync | ||
|
||
( | ||
input clk, // clock | ||
input nrst_in, // async reset input | ||
output nrst_out // async assert, sync deassert reset | ||
); | ||
|
||
// reg [STAGES:0] sync_pipe; | ||
// integer sync_delay; | ||
|
||
|
||
// always @(posedge clk or negedge nrst_in) | ||
// if (!nrst_in) | ||
// sync_pipe[STAGES:0] <= 'b0; | ||
// else | ||
// sync_pipe[STAGES:0] <= {sync_pipe[STAGES-1:0], 1'b1}; | ||
|
||
// `ifdef SIM | ||
// always @(posedge clk) | ||
// sync_delay <= {$random} % 2; | ||
|
||
// assign nrst_out = (|sync_delay & (|RND)) ? sync_pipe[STAGES] : sync_pipe[STAGES-1]; | ||
// `else | ||
// assign nrst_out = sync_pipe[STAGES-1]; | ||
// `endif | ||
|
||
genvar i; | ||
generate | ||
for (i = 0; i < STAGES; i = i + 1) begin: DELAY | ||
wire reg_in; | ||
wire reg_out; | ||
if (i == 0) begin: SEL_IN | ||
LOGIC1_X1 u1 ( | ||
.Z(reg_in) | ||
); | ||
end else begin: SEL_PREV | ||
assign reg_in = reg_out[i - 1]; | ||
end | ||
|
||
wire reg_out_int; | ||
wire setn; | ||
TIEHIx1_ASAP7_75t_L u1(.H(setn)); | ||
DFFASRHQNx1_ASAP7_75t_L u0 ( | ||
.CK(clk), | ||
.RESETN(nrest_in), | ||
.SETN(setn), | ||
.D(reg_in), | ||
.QN(reg_out_int) | ||
); | ||
INVx1_ASAP7_75t_L u2(.A(reg_out_int), .Y(reg_out)); | ||
end | ||
endgenerate | ||
|
||
assign nrst_out = DELAY[STAGES - 1].reg_out; | ||
|
||
endmodule |
52 changes: 0 additions & 52 deletions
52
lambdapdk/asap7/libs/asap7sc7p5t_lvt/lambda/la_clkicgand.v
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.