Skip to content

Commit e408dc3

Browse files
Generate PLL IP on every build with a single desired frequency
1 parent 2b59f15 commit e408dc3

17 files changed

+19
-6850
lines changed

hdk/cl/developer_designs/cl_firesim/build/scripts/create_dcp_from_cl.tcl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,10 @@ if {[string compare $notify_via_sns "1"] == 0} {
154154
puts "AWS FPGA: ([clock format [clock seconds] -format %T]) EMAIL address for completion notification set to $env(EMAIL).";
155155
}
156156
}
157+
##################################################
158+
### Source FireSim Generated TCL Env variables
159+
##################################################
160+
source $CL_DIR/design/cl_firesim_generated_env.tcl
157161

158162
##################################################
159163
### Strategy options
@@ -271,6 +275,7 @@ if {$implement} {
271275
impl_step opt_design $TOP "-merge_equivalent_drivers -sweep"
272276
}
273277
}
278+
report_utilization -hierarchical -file $CL_DIR/build/reports/${timestamp}.post_opt_utilization.rpt
274279

275280
########################
276281
# CL Place

hdk/cl/developer_designs/cl_firesim/build/scripts/synth_cl_firesim.tcl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,12 @@ read_ip [ list \
7878
$CL_DIR/ip/axi_clock_converter_oclnew/axi_clock_converter_oclnew.xci \
7979
$CL_DIR/ip/axi_clock_converter_512_wide/axi_clock_converter_512_wide.xci \
8080
$CL_DIR/ip/axi_dwidth_converter_0/axi_dwidth_converter_0.xci \
81-
$CL_DIR/ip/clk_wiz_0_firesim/clk_wiz_0_firesim.xci \
8281
$CL_DIR/ip/firesim_ila_ip/ila_firesim_0/ila_firesim_0.xci
8382
]
8483

8584
# Additional IP's that might be needed if using the DDR
8685
read_ip [ list \
87-
$HDK_SHELL_DESIGN_DIR/ip/ddr4_core/ddr4_core.xci
86+
$HDK_SHELL_DESIGN_DIR/ip/ddr4_core/ddr4_core.xci
8887
]
8988
read_bd [ list \
9089
$HDK_SHELL_DESIGN_DIR/ip/cl_axi_interconnect/cl_axi_interconnect.bd
@@ -104,6 +103,9 @@ read_xdc [ list \
104103
$CL_DIR/build/constraints/cl_synth_user.xdc
105104
]
106105

106+
# FireSim custom clocking
107+
source $CL_DIR/build/scripts/synth_firesim_clk_wiz.tcl
108+
107109
#Do not propagate local clock constraints for clocks generated in the SH
108110
set_property USED_IN {synthesis implementation OUT_OF_CONTEXT} [get_files cl_clocks_aws.xdc]
109111
set_property PROCESSING_ORDER EARLY [get_files cl_clocks_aws.xdc]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
read_ip [list $CL_DIR/ip/clk_wiz_0_firesim/clk_wiz_0_firesim.xci]
2+
upgrade_ip [get_ips clk_wiz_0_firesim]
3+
set_property CONFIG.CLKOUT1_REQUESTED_OUT_FREQ $desired_host_frequency [get_ips clk_wiz_0_firesim]
4+
# # Generates half the output files
5+
generate_target {all} [get_ips clk_wiz_0_firesim]
6+
# # Generates some missing stub files for sim and the dcp
7+
synth_ip [get_ips clk_wiz_0_firesim]

hdk/cl/developer_designs/cl_firesim/design/cl_firesim.sv

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -86,50 +86,14 @@ always_ff @(negedge rst_main_n or posedge clk_extra_a1)
8686
rst_extra1_n_sync <= pre_sync_rst_n_extra1;
8787
end
8888

89-
90-
9189
//---------------------------
92-
// new clocking
93-
//-------------------
94-
// None
95-
//
96-
//----------------------------------------------------------------------------
97-
// Output Output Phase Duty Cycle Pk-to-Pk Phase
98-
// Clock Freq (MHz) (degrees) (%) Jitter (ps) Error (ps)
99-
//----------------------------------------------------------------------------
100-
// clk_out1___190.025______0.000______50.0______100.051____130.256
101-
// clk_out2___174.190______0.000______50.0______101.370____130.256
102-
// clk_out3___156.771______0.000______50.0______102.992____130.256
103-
// clk_out4____92.218______0.000______50.0______111.617____130.256
104-
// clk_out5____87.095______0.000______50.0______112.592____130.256
105-
// clk_out6____74.653______0.000______50.0______115.271____130.256
106-
//
107-
//----------------------------------------------------------------------------
108-
// Input Clock Freq (MHz) Input Jitter (UI)
109-
//----------------------------------------------------------------------------
110-
// __primary_________125.000____________0.010
111-
112-
logic clock_gend_190;
113-
logic clock_gend_175;
114-
logic clock_gend_160; // see above, really ~156
115-
logic clock_gend_90; // see above, really ~92
116-
logic clock_gend_85; // see above, really ~87
117-
logic clock_gend_75;
118-
119-
`define FIRESIM_CLOCK_SIGNAL_SETTING(freq) clock_gend_``freq
12090

12191
logic firesim_internal_clock;
122-
assign firesim_internal_clock = `FIRESIM_CLOCK_SIGNAL_SETTING(`SELECTED_FIRESIM_CLOCK);
12392

12493
clk_wiz_0_firesim firesim_clocking
12594
(
12695
// Clock out ports
127-
.clk_out1(clock_gend_190), // output clk_out1
128-
.clk_out2(clock_gend_175), // output clk_out2
129-
.clk_out3(clock_gend_160), // output clk_out3
130-
.clk_out4(clock_gend_90), // output clk_out4
131-
.clk_out5(clock_gend_85), // output clk_out5
132-
.clk_out6(clock_gend_75), // output clk_out6
96+
.clk_out1(firesim_internal_clock),
13397
// Status and control signals
13498
.reset(!rst_extra1_n_sync), // input reset
13599
.locked(), // output locked
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
doc
2+
.Xil
Binary file not shown.

hdk/cl/developer_designs/cl_firesim/ip/clk_wiz_0_firesim/clk_wiz_0_firesim.v

Lines changed: 0 additions & 107 deletions
This file was deleted.

hdk/cl/developer_designs/cl_firesim/ip/clk_wiz_0_firesim/clk_wiz_0_firesim.veo

Lines changed: 0 additions & 90 deletions
This file was deleted.

0 commit comments

Comments
 (0)