Skip to content

Commit 758909f

Browse files
committed
Release 1.2.1
1 parent d84f722 commit 758909f

File tree

31 files changed

+1357
-93
lines changed

31 files changed

+1357
-93
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,9 @@ hdk/common/verif/models/.vivado_version
5252
vivado_pid*.str
5353
vivado*.jou
5454
vivado*.log
55+
56+
# Pycharm projects
57+
.idea/
58+
59+
# Python compiled code
60+
*.pyc

RELEASE_NOTES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
* 1 DDR controller implemented in the SH (always available)
2727
* 3 DDR controllers implemented in the CL (configurable number of implemented controllers allowed)
2828

29+
# Release 1.2.1
30+
* Updated CL example build scripts with Prohibit URAM sites
31+
* EDMA Performance improvments
32+
* Expanded EC2 Instance type support
33+
* CL Examples @250Mhz (Clock recipe A1)
34+
* Option to exclude chipscope from building CL examples (DISABLE_CHIPSCOPE_DEBUG)
2935

3036
# Release 1.2.0
3137

hdk/cl/examples/README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,18 @@ If you like to start your own CL, check out the [How to create your own CL](../d
4646

4747
Executing the `aws_build_dcp_from_cl.sh` script will perform the entire implementation process converting the CL design into a completed Design Checkpoint that meets timing and placement constrains of the target FPGA.
4848
The output is a tarball file comprising the DCP file, and other log/manifest files, formatted as `YY_MM_DD-hhmm.Developer_CL.tar`.
49-
This file would be submitted to AWS to create an AFI.
49+
This file would be submitted to AWS to create an AFI. By default the build script will use Clock Group A Recipe A0 wich uses a main clock of 125 MHz.
5050

5151
$ cd $CL_DIR/build/scripts
5252
$ ./aws_build_dcp_from_cl.sh
5353

54+
In order to use a 250 MHz main clock the developer can specify the A1 Clock Group A Recipe as in the following example:
55+
56+
$ cd $CL_DIR/build/scripts
57+
$ ./aws_build_dcp_from_cl.sh -clock_recipe_a A1
58+
59+
Other clock recipes can be specified as well. More details on the [Clock Group Recipes Table](../../docs/clock_recipes.csv) and how to specify different recipes can be found in the following [README](../../common/shell_v04151701/new_cl_template/build/README.md).
60+
5461
**NOTE**: *The DCP generation can take up to several hours to complete, hence the `aws_build_dcp_from_cl.sh` will run the main build process (`vivado`) in within a `nohup` context: This will allow the build to continue running even if the SSH session is terminated half way through the run*
5562

5663
To be notified via e-mail when the build completes:

hdk/cl/examples/cl_dram_dma/build/constraints/cl_pnr_user.xdc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,17 @@ add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells -quiet -hierarchical
3838
add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells -quiet -hierarchical -filter {NAME =~ CL/SH_DDR/ddr_cores.DDR4_2*}]
3939
add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells -quiet -hierarchical -filter {NAME =~ CL/SH_DDR/ddr_inst[2].*}]
4040
add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells -quiet -hierarchical -filter {NAME =~ CL/SH_DDR/ddr_stat[2].*}]
41-
add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells -quiet -hierarchical -filter {NAME =~ CL/CL_PCIM_MSTR/CL_TST_PCI}]
41+
#add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells -quiet -hierarchical -filter {NAME =~ CL/CL_PCIM_MSTR/CL_TST_PCI}]
4242
add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells [list CL/CL_DMA_PCIS_SLV/PCI_AXL_REG_SLC CL/CL_PCIM_MSTR/PCI_AXI4_REG_SLC CL/CL_OCL_SLV/AXIL_OCL_REG_SLC CL/CL_SDA_SLV/AXIL_SDA_REG_SLC]]
4343
add_cells_to_pblock [get_pblocks pblock_CL_bot] [get_cells -hierarchical -filter { NAME =~ "*CL/CL_OCL_SLV/slv_tst_wdata_reg[*][*]*" && PRIMITIVE_TYPE =~ REGISTER.*.* }]
4444
resize_pblock [get_pblocks pblock_CL_bot] -add {CLOCKREGION_X0Y0:CLOCKREGION_X3Y4}
4545
set_property PARENT pblock_CL [get_pblocks pblock_CL_bot]
4646

47-
set_clock_groups -name cl_main_a0_tck -asynchronous -group [get_clocks -of_objects [get_pins SH/kernel_clks_i/clkwiz_sys_clk/inst/CLK_CORE_DRP_I/clk_inst/mmcme3_adv_inst/CLKOUT0]] -group [get_clocks tck]
47+
#set_clock_groups -name cl_main_a0_tck -asynchronous -group [get_clocks -of_objects [get_pins SH/kernel_clks_i/clkwiz_sys_clk/inst/CLK_CORE_DRP_I/clk_inst/mmcme3_adv_inst/CLKOUT0]] -group [get_clocks tck]
4848

49+
set_clock_groups -name TIG_SRAI_1 -asynchronous -group [get_clocks -of_objects [get_pins static_sh/SH_DEBUG_BRIDGE/inst/bsip/inst/USE_SOFTBSCAN.U_TAP_TCKBUFG/O]] -group [get_clocks -of_objects [get_pins SH/kernel_clks_i/clkwiz_sys_clk/inst/CLK_CORE_DRP_I/clk_inst/mmcme3_adv_inst/CLKOUT0]]
50+
set_clock_groups -name TIG_SRAI_2 -asynchronous -group [get_clocks -of_objects [get_pins static_sh/SH_DEBUG_BRIDGE/inst/bsip/inst/USE_SOFTBSCAN.U_TAP_TCKBUFG/O]] -group [get_clocks drck]
51+
set_clock_groups -name TIG_SRAI_3 -asynchronous -group [get_clocks -of_objects [get_pins static_sh/SH_DEBUG_BRIDGE/inst/bsip/inst/USE_SOFTBSCAN.U_TAP_TCKBUFG/O]] -group [get_clocks -of_objects [get_pins static_sh/pcie_inst/inst/gt_top_i/diablo_gt.diablo_gt_phy_wrapper/phy_clk_i/bufg_gt_userclk/O]]
4952

5053

5154

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
# This contains the CL specific constraints for synthesis at the CL level
2+
set_property MAX_FANOUT 50 [get_nets -of_objects [get_pins CL/SH_DDR/ddr_cores.DDR4_0/inst/div_clk_rst_r1_reg/Q]]
3+
set_property MAX_FANOUT 50 [get_nets -of_objects [get_pins CL/CL_PCIM_MSTR/CL_TST_PCI/sync_rst_n_reg/Q]]
24

35

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
220
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
220

hdk/cl/examples/cl_dram_dma/build/scripts/create_dcp_from_cl.tcl

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ set subsystem_vendor_id [lindex $argv 7]
3232
set clock_recipe_a [lindex $argv 8]
3333
set clock_recipe_b [lindex $argv 9]
3434
set clock_recipe_c [lindex $argv 10]
35-
set run_aws_emulation [lindex $argv 11]
36-
set notify_via_sns [lindex $argv 12]
35+
set notify_via_sns [lindex $argv 11]
3736

3837
##################################################
3938
### Implementation step options
@@ -85,7 +84,6 @@ puts "PCI Subsystem Vendor ID $subsystem_vendor_id";
8584
puts "Clock Recipe A: $clock_recipe_a";
8685
puts "Clock Recipe B: $clock_recipe_b";
8786
puts "Clock Recipe C: $clock_recipe_c";
88-
puts "Run AWS Emulation: $run_aws_emulation";
8987
puts "Notify when done: $notify_via_sns";
9088

9189
#checking if CL_DIR env variable exists
@@ -438,6 +436,11 @@ foreach uramSite $uramSites {
438436
########################
439437
puts "AWS FPGA: Place design stage";
440438

439+
# Constraints for TCK<->Main Clock
440+
set_clock_groups -name tck_clk_main_a0 -asynchronous -group [get_clocks -of_objects [get_pins static_sh/SH_DEBUG_BRIDGE/inst/bsip/inst/USE_SOFTBSCAN.U_TAP_TCKBUFG/O]] -group [get_clocks -of_objects [get_pins SH/kernel_clks_i/clkwiz_sys_clk/inst/CLK_CORE_DRP_I/clk_inst/mmcme3_adv_inst/CLKOUT0]]
441+
set_clock_groups -name tck_drck -asynchronous -group [get_clocks -of_objects [get_pins static_sh/SH_DEBUG_BRIDGE/inst/bsip/inst/USE_SOFTBSCAN.U_TAP_TCKBUFG/O]] -group [get_clocks drck]
442+
set_clock_groups -name tck_userclk -asynchronous -group [get_clocks -of_objects [get_pins static_sh/SH_DEBUG_BRIDGE/inst/bsip/inst/USE_SOFTBSCAN.U_TAP_TCKBUFG/O]] -group [get_clocks -of_objects [get_pins static_sh/pcie_inst/inst/gt_top_i/diablo_gt.diablo_gt_phy_wrapper/phy_clk_i/bufg_gt_userclk/O]]
443+
441444
switch $strategy {
442445
"BASIC" {
443446
puts "BASIC strategy."
@@ -580,17 +583,6 @@ puts "AWS FPGA: ([clock format [clock seconds] -format %T]) writing final DCP to
580583
write_checkpoint -force $CL_DIR/build/checkpoints/to_aws/${timestamp}.SH_CL_routed.dcp
581584
close_project
582585

583-
# ################################################
584-
# Emulate AWS Bitstream Generation
585-
# ################################################
586-
587-
# Only run AWS emulation step if explicitly specified.
588-
589-
if {[string compare $run_aws_emulation "1"] == 0} {
590-
puts "AWS FPGA: ([clock format [clock seconds] -format %T]) Calling aws_dcp_verify.tcl to emulate AWS bitstream generation for checking the DCP.";
591-
source $HDK_SHELL_DIR/build/scripts/aws_dcp_verify.tcl
592-
}
593-
594586
# ################################################
595587
# Create Manifest and Tarball for delivery
596588
# ################################################

hdk/cl/examples/cl_dram_dma/design/cl_dram_dma_defines.vh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,8 @@
2727
//uncomment below to make SH and CL async
2828
`define SH_CL_ASYNC
2929

30+
// Uncomment to disable Chipscope
31+
//`define DISABLE_CHIPSCOPE_DEBUG
32+
3033
`endif
3134

hdk/cl/examples/cl_dram_dma/software/runtime/test_dram_dma.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ int main(int argc, char **argv) {
6363
fail_on(rc, out, "Interrupt example failed");
6464

6565
out:
66-
return 1;
66+
return rc;
6767
}
6868

6969
static int

0 commit comments

Comments
 (0)