Skip to content

Commit ebf5db9

Browse files
authored
Merge pull request #11 from firesim/auto-ila
Auto-ILA
2 parents 3e4cd2f + 783d3f5 commit ebf5db9

File tree

8 files changed

+37
-1
lines changed

8 files changed

+37
-1
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ if {[llength [glob -nocomplain -dir $TARGET_DIR *]] != 0} {
3535

3636
## Change file names and paths below to reflect your CL area. DO NOT include AWS RTL files.
3737
file copy -force $CL_DIR/design/cl_firesim_defines.vh $TARGET_DIR
38+
file copy -force $CL_DIR/design/ila_files/firesim_ila_insert_inst.v $TARGET_DIR
39+
file copy -force $CL_DIR/design/ila_files/firesim_ila_insert_ports.v $TARGET_DIR
40+
file copy -force $CL_DIR/design/ila_files/firesim_ila_insert_wires.v $TARGET_DIR
3841
file copy -force $CL_DIR/design/cl_id_defines.vh $TARGET_DIR
3942
file copy -force $CL_DIR/design/cl_firesim.sv $TARGET_DIR
4043
file copy -force $CL_DIR/design/cl_firesim_generated.sv $TARGET_DIR

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
########################################
2+
## Generate ILA based on Recipe
3+
########################################
4+
5+
puts "AWS FPGA: ([clock format [clock seconds] -format %T]) Calling firesim_ila_insert_vivado.tcl to generate ILAs from developer's specified recipe.";
6+
7+
source $CL_DIR/design/ila_files/firesim_ila_insert_vivado.tcl
8+
9+
110
#Param needed to avoid clock name collisions
211
set_param sta.enableAutoGenClkNamePersistence 0
312
set CL_MODULE $CL_MODULE
@@ -62,7 +71,8 @@ read_ip [ list \
6271
$CL_DIR/ip/axi_clock_converter_oclnew/axi_clock_converter_oclnew.xci \
6372
$CL_DIR/ip/axi_clock_converter_512_wide/axi_clock_converter_512_wide.xci \
6473
$CL_DIR/ip/axi_dwidth_converter_0/axi_dwidth_converter_0.xci \
65-
$CL_DIR/ip/clk_wiz_0_firesim/clk_wiz_0_firesim.xci
74+
$CL_DIR/ip/clk_wiz_0_firesim/clk_wiz_0_firesim.xci \
75+
$CL_DIR/ip/firesim_ila_ip/ila_firesim_0/ila_firesim_0.xci
6676
]
6777

6878
# Additional IP's that might be needed if using the DDR

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,8 @@ wire fsimtop_s_axi_rlast;
414414
wire fsimtop_s_axi_rvalid;
415415
wire fsimtop_s_axi_rready;
416416

417+
`include "firesim_ila_insert_wires.v"
418+
417419
F1Shim firesim_top (
418420
.clock(firesim_internal_clock),
419421
.reset(!rst_firesim_n_sync),
@@ -510,6 +512,8 @@ wire fsimtop_s_axi_rready;
510512
.io_dma_r_bits_id(cl_sh_dma_pcis_rid_FIRESIM),
511513
.io_dma_r_bits_user(), // UNUSED at top level
512514

515+
`include "firesim_ila_insert_ports.v"
516+
513517
.io_slave_aw_ready(fsimtop_s_axi_awready),
514518
.io_slave_aw_valid(fsimtop_s_axi_awvalid),
515519
.io_slave_aw_bits_addr(fsimtop_s_axi_awaddr_small),
@@ -862,6 +866,8 @@ assign zeroila = 64'b0;
862866
.probe5 (zeroila)
863867
);
864868

869+
`include "firesim_ila_insert_inst.v"
870+
865871
// Debug Bridge
866872
cl_debug_bridge CL_DEBUG_BRIDGE (
867873
.clk(clk_main_a0),

hdk/cl/developer_designs/cl_firesim/design/ila_files/firesim_ila_insert_inst.v

Whitespace-only changes.

hdk/cl/developer_designs/cl_firesim/design/ila_files/firesim_ila_insert_ports.v

Whitespace-only changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
create_project managed_ip_project $CL_DIR/ip/firesim_ila_ip/managed_ip_project -part xcvu9p-flgb2104-2-i -ip
2+
set_property simulator_language Verilog [current_project]
3+
set_property target_simulator XSim [current_project]
4+
create_ip -name ila -vendor xilinx.com -library ip -version 6.2 -module_name ila_firesim_0 -dir $CL_DIR/ip/firesim_ila_ip
5+
set_property -dict [list CONFIG.C_PROBE0_WIDTH {1} CONFIG.C_PROBE0_MU_CNT {3} CONFIG.C_NUM_OF_PROBES {1} CONFIG.C_TRIGOUT_EN {false} CONFIG.C_EN_STRG_QUAL {1} CONFIG.C_ADV_TRIGGER {true} CONFIG.C_TRIGIN_EN {false} CONFIG.ALL_PROBE_SAME_MU_CNT {3} ] [get_ips ila_firesim_0]
6+
generate_target {instantiation_template} [get_files $CL_DIR/ip/firesim_ila_ip/ila_firesim_0/ila_firesim_0.xci]
7+
generate_target all [get_files $CL_DIR/ip/firesim_ila_ip/ila_firesim_0/ila_firesim_0.xci]
8+
export_ip_user_files -of_objects [get_files $CL_DIR/ip/firesim_ila_ip/ila_0/ila_firesim_0.xci] -no_script -sync -force -quiet
9+
create_ip_run [get_files -of_objects [get_fileset sources_1] $CL_DIR/ip/firesim_ila_ip/ila_firesim_0/ila_firesim_0.xci]
10+
launch_runs -jobs 8 ila_firesim_0_synth_1
11+
wait_on_run ila_firesim_0_synth_1
12+
export_simulation -of_objects [get_files $CL_DIR/ip/firesim_ila_ip/ila_firesim_0/ila_firesim_0.xci] -directory $CL_DIR/ip/firesim_ila_ip/ip_user_files/sim_scripts -ip_user_files_dir $CL_DIR/ip/firesim_ila_ip/ip_user_files -ipstatic_source_dir $CL_DIR/ip/firesim_ila_ip/ip_user_files/ipstatic -lib_map_path [list {modelsim=$CL_DIR/ip/firesim_ila_ip/managed_ip_project/managed_ip_project.cache/compile_simlib/modelsim} {questa=$CL_DIR/ip/firesim_ila_ip/managed_ip_project/managed_ip_project.cache/compile_simlib/questa} {ies=$CL_DIR/ip/firesim_ila_ip/managed_ip_project/managed_ip_project.cache/compile_simlib/ies} {vcs=$CL_DIR/ip/firesim_ila_ip/managed_ip_project/managed_ip_project.cache/compile_simlib/vcs} {riviera=$CL_DIR/ip/firesim_ila_ip/managed_ip_project/managed_ip_project.cache/compile_simlib/riviera}] -use_ip_compiled_libs -force -quiet

hdk/cl/developer_designs/cl_firesim/design/ila_files/firesim_ila_insert_wires.v

Whitespace-only changes.

hdk/cl/developer_designs/cl_firesim/verif/scripts/top.vivado.f

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
-sourcelibdir ${CL_ROOT}/../common/design
2929
-sourcelibdir ${CL_ROOT}/design
30+
-sourcelibdir ${CL_ROOT}/design/ila_files
3031
-sourcelibdir ${CL_ROOT}/verif/sv
3132
-sourcelibdir ${SH_LIB_DIR}
3233
-sourcelibdir ${SH_INF_DIR}
@@ -36,6 +37,7 @@
3637

3738
-include ${CL_ROOT}/../common/design
3839
-include ${CL_ROOT}/verif/sv
40+
-include ${CL_ROOT}/design/ila_files
3941
-include ${SH_LIB_DIR}
4042
-include ${SH_INF_DIR}
4143
-include ${SH_SH_DIR}
@@ -49,6 +51,9 @@
4951

5052
${CL_ROOT}/../common/design/cl_common_defines.vh
5153
${CL_ROOT}/design/cl_firesim_defines.vh
54+
${CL_ROOT}/design/ila_files/firesim_ila_insert_inst.v
55+
${CL_ROOT}/design/ila_files/firesim_ila_insert_ports.v
56+
${CL_ROOT}/design/ila_files/firesim_ila_insert_wires.v
5257
${HDK_SHELL_DESIGN_DIR}/ip/ila_vio_counter/sim/ila_vio_counter.v
5358
${HDK_SHELL_DESIGN_DIR}/ip/ila_0/sim/ila_0.v
5459
${HDK_SHELL_DESIGN_DIR}/ip/cl_debug_bridge/bd_0/sim/bd_a493.v

0 commit comments

Comments
 (0)