Skip to content

Commit

Permalink
New makefile flow
Browse files Browse the repository at this point in the history
-enabled the make generate_from_tcl
-make all in the progress
  • Loading branch information
hui1teng authored and FelixWongSiewAn committed Mar 28, 2024
1 parent f4b0169 commit 8889cf7
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 25 deletions.
4 changes: 2 additions & 2 deletions sm_soc_devkit_ghrd/Makefile.new
Expand Up @@ -568,7 +568,7 @@ QUARTUS_QSF_QPF_GEN := $(firstword $(wildcard create_*_quartus.tcl))
ifneq ($(QUARTUS_QSF_QPF_GEN),)
quartus_generate_qsf_qpf: $(QUARTUS_QSF_QPF_GEN)
@$(RM) $(QUARTUS_QSF) $(QUARTUS_QPF)
quartus_sh --script=$< $(QUARTUS_TCL_ARGS)
quartus_sh --script=$< $(QUARTUS_TCL_ARGS) prjroot $(PROJECT_ROOT)
else
quartus_generate_qsf_qpf:
@$(ECHO) "Make target '$@' is not supported for this design"
Expand All @@ -580,7 +580,7 @@ QUARTUS_TCL_ARGS += qsys_name $(patsubst %.qsys,%,$(QSYS_FILE_TOP))
ifneq ($(QUARTUS_TOP_GEN),)
quartus_generate_top: $(QUARTUS_TOP_GEN)
@$(RM) *_top.v
quartus_sh --script=$< $(QUARTUS_TCL_ARGS)
quartus_sh --script=$< $(QUARTUS_TCL_ARGS) prjroot $(PROJECT_ROOT)
else
quartus_generate_top:
@$(ECHO) "Make target '$@' is not supported for this design"
Expand Down
3 changes: 2 additions & 1 deletion sm_soc_devkit_ghrd/agilex_hps_pinmux_solver.tcl
Expand Up @@ -135,7 +135,8 @@ for {set i 0} {$i < 12} {incr i} {
lappend io48_q4_assignment NONE
}

source ./agilex_io48.tcl
puts "prjroot = ${prjroot} "
source ${prjroot}/agilex_io48.tcl

# Assigning individual IO48 peripherals
if {$hps_jtag_en == 1} {
Expand Down
13 changes: 7 additions & 6 deletions sm_soc_devkit_ghrd/arguments_solver.tcl
Expand Up @@ -102,8 +102,8 @@
#
#****************************************************************************

source ./design_config.tcl

puts "prjroot = ${prjroot} "
source ${prjroot}/design_config.tcl

proc check_then_accept { param } {
if {$param == device_family || device || qsys_name || project_name} {
Expand Down Expand Up @@ -167,7 +167,7 @@ if { ![ info exists board_pwrmgt ] } {
}

# Loading Board default configuration settings
set board_config_file "./board/board_${board}_config.tcl"
set board_config_file "${prjroot}/board/board_${board}_config.tcl"
if {[file exist $board_config_file]} {
source $board_config_file
} else {
Expand Down Expand Up @@ -709,9 +709,10 @@ if {$f2s_address_width > 32 && $f2sdram_width > 0} {
set cct_en 0
}

source ./agilex_hps_pinmux_solver.tcl
source ./agilex_hps_parameter_solver.tcl
source ./agilex_hps_io48_delay_chain_solver.tcl

source ${prjroot}/agilex_hps_pinmux_solver.tcl
source ${prjroot}/agilex_hps_parameter_solver.tcl
source ${prjroot}/agilex_hps_io48_delay_chain_solver.tcl

# Was thinking to enable single TCL entry for flow of TOP RTL, qsys, quartus generation. Ideal still pending implementation
# exec quartus_sh --script=create_ghrd_quartus.tcl $top_quartus_arg
Expand Down
5 changes: 3 additions & 2 deletions sm_soc_devkit_ghrd/create_ghrd_qsys.tcl
Expand Up @@ -20,8 +20,9 @@
#
#****************************************************************************

source ./arguments_solver.tcl
source ./utils.tcl
puts "prjroot = ${prjroot} "
source ${prjroot}/arguments_solver.tcl
source ${prjroot}/utils.tcl

package require -exact qsys 19.1

Expand Down
5 changes: 3 additions & 2 deletions sm_soc_devkit_ghrd/create_ghrd_quartus.tcl
Expand Up @@ -15,9 +15,10 @@ foreach {key value} $quartus(args) {
set ${key} $value
}

source ./arguments_solver.tcl
puts "prjroot = ${prjroot} "
source ${prjroot}/arguments_solver.tcl

source ./board/board_${board}_pin_assignment_table.tcl
source ${prjroot}/board/board_${board}_pin_assignment_table.tcl
global pin_assignment_table

set hdlfiles "${top_name}.v,custom_ip/debounce/debounce.v"
Expand Down
4 changes: 3 additions & 1 deletion sm_soc_devkit_ghrd/create_ghrd_top.tcl
Expand Up @@ -23,7 +23,9 @@ source $::env(QUARTUS_ROOTDIR)/../ip/altera/common/hw_tcl_packages/altera_terp.t
foreach {key val} $::argv {
set ${key} $val
}
source ./arguments_solver.tcl

puts "prjroot = ${prjroot}"
source ${prjroot}/arguments_solver.tcl

# construct parameters value used in / affect terp file
set param(top_name) $top_name
Expand Down
3 changes: 2 additions & 1 deletion sm_soc_devkit_ghrd/hps_subsys/Makefile
Expand Up @@ -41,7 +41,8 @@ GHRD_SCRIPT_FILE := $(PROJECT_ROOT)/scripts/config_parzer.awk
.PHONY: generate_from_tcl
generate_from_tcl:
ifeq ($(HPS_EN), $(ENABLE))
@qsys-script $(shell echo $(QSYS_ARGS) | sed 's/quartus-project=/quartus-project=..\//g') --script=./construct_subsys_hps.tcl $(QSYS_TCL_ARGS)
@qsys-script $(shell echo $(QSYS_ARGS) | sed 's/quartus-project=/quartus-project=..\//g') --script=./construct_subsys_hps.tcl \
$(shell echo "" | awk -v qsys_tcl_args=$(QSYS_TCL_ARGS) -v prjroot=$(PROJECT_ROOT) '{split(qsys_tcl_args, a, "=");printf("%s=\"%s;set prjroot %s\"", a[1], a[2], prjroot)}')
else
@echo "hps_subsys does not be enabled, skip."
endif
Expand Down
6 changes: 3 additions & 3 deletions sm_soc_devkit_ghrd/hps_subsys/construct_subsys_hps.tcl
Expand Up @@ -11,9 +11,9 @@
#
#****************************************************************************

source ./arguments_solver.tcl
source ./utils.tcl

puts "prjroot = ${prjroot} "
source ${prjroot}/arguments_solver.tcl
source ${prjroot}/utils.tcl

set subsys_name subsys_hps

Expand Down
3 changes: 2 additions & 1 deletion sm_soc_devkit_ghrd/jtag_subsys/Makefile
Expand Up @@ -31,7 +31,8 @@ GHRD_SCRIPT_FILE := $(PROJECT_ROOT)/scripts/config_parzer.awk
.PHONY: generate_from_tcl
generate_from_tcl:
ifeq ($(JTAG_EN), $(ENABLE))
@qsys-script $(shell echo $(QSYS_ARGS) | sed 's/quartus-project=/quartus-project=..\//g') --script=./construct_subsys_jtag_master.tcl $(QSYS_TCL_ARGS)
@qsys-script $(shell echo $(QSYS_ARGS) | sed 's/quartus-project=/quartus-project=..\//g') --script=./construct_subsys_jtag_master.tcl \
$(shell echo "" | awk -v qsys_tcl_args=$(QSYS_TCL_ARGS) -v prjroot=$(PROJECT_ROOT) '{split(qsys_tcl_args, a, "=");printf("%s=\"%s;set prjroot %s\"", a[1], a[2], prjroot)}')
else
@echo "jtag_subsys does not be enabled, skip."
endif
Expand Down
Expand Up @@ -11,8 +11,10 @@
#
#****************************************************************************

source ./arguments_solver.tcl
source ./utils.tcl
puts "prjroot = ${prjroot} "
source ${prjroot}/arguments_solver.tcl
source ${prjroot}/utils.tcl

set sub_qsys_jtag subsys_jtg_mst

package require -exact qsys 19.1
Expand Down
3 changes: 2 additions & 1 deletion sm_soc_devkit_ghrd/peripheral_subsys/Makefile
Expand Up @@ -31,7 +31,8 @@ GHRD_SCRIPT_FILE := $(PROJECT_ROOT)/scripts/config_parzer.awk
.PHONY: generate_from_tcl
generate_from_tcl:
ifeq ($(SUB_PERI_EN), $(ENABLE))
@qsys-script $(shell echo $(QSYS_ARGS) | sed 's/quartus-project=/quartus-project=..\//g') --script=./construct_subsys_peripheral.tcl $(QSYS_TCL_ARGS)
@qsys-script $(shell echo $(QSYS_ARGS) | sed 's/quartus-project=/quartus-project=..\//g') --script=./construct_subsys_peripheral.tcl \
$(shell echo "" | awk -v qsys_tcl_args=$(QSYS_TCL_ARGS) -v prjroot=$(PROJECT_ROOT) '{split(qsys_tcl_args, a, "=");printf("%s=\"%s;set prjroot %s\"", a[1], a[2], prjroot)}')
else
@echo "peripheral_subsys does not be enabled, skip."
endif
Expand Down
Expand Up @@ -11,8 +11,11 @@
#
#****************************************************************************

source ./arguments_solver.tcl
source ./utils.tcl
puts "prjroot = ${prjroot} "
source ${prjroot}/arguments_solver.tcl
source ${prjroot}/utils.tcl
source ${prjroot}/board/board_hidden_config.tcl

set sub_qsys_periph subsys_periph

package require -exact qsys 19.1
Expand Down Expand Up @@ -40,7 +43,7 @@ add_component_param "altera_reset_bridge periph_rst_in
"

add_component_param "altera_avalon_sysid_qsys sysid
IP_FILE_PATH ip/$qsys_name/sysid.ip
IP_FILE_PATH ip/$sub_qsys_periph/sysid.ip
id $SYSID
"

Expand Down

0 comments on commit 8889cf7

Please sign in to comment.