10 set cpu_name [get_cpu_name]
27 proc initialize { args } {
45 proc generate { args } {
47 if {[
llength $args] < 3} {
48 error "Insufficient arguments for generate callback proc (expected 3, received [
llength $args])."
51 set module_name [get_module_name]
52 set NPROCESSORS [ get_module_assignment "embeddedsw.CMacro.NPROCESSORS"]
55 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.NPROCESSORS"]
56 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.PRESCALE"]
57 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.GRTOSFREQUENCY"]
58 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.GRTOSINTERRUPTS"]
59 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.GRTOSGENERATIONID"]
60 add_module_systemh_line $module_name \"[ get_module_assignment "embeddedsw.CMacro.PROCESSOR_TYPE"]\"
61 add_module_systemh_line $module_name \"[ get_module_assignment "embeddedsw.CMacro.INSTRUCTION_CACHE_SIZE"]\"
62 add_module_systemh_line $module_name \"[ get_module_assignment "embeddedsw.CMacro.INSTRUCTION_CACHE_BURST"]\"
63 add_module_systemh_line $module_name \"[ get_module_assignment "embeddedsw.CMacro.ENABLE_HPS_MAP_ACCESS"]\"
64 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.NIOS_CLOCK_FREQUENCY"]
65 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.BUS_CLOCK_FREQUENCY"]
66 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.BUS_WIDTH"]
67 add_module_systemh_line $module_name [ get_module_assignment "embeddedsw.CMacro.EXTERNAL_MEMORY_SPAN"]
68 add_module_systemh_line $module_name \"[ get_module_assignment "embeddedsw.CMacro.EXTERNAL_MEMORY_UNIT"]\"
70 add_class_systemh_line [
string toupper "NPROCESSORS"] [ get_module_assignment "embeddedsw.CMacro.NPROCESSORS"]
71 add_class_systemh_line [
string toupper "PRESCALE"] [ get_module_assignment "embeddedsw.CMacro.PRESCALE"]
72 add_class_systemh_line [
string toupper "GRTOSFREQUENCY"] [ get_module_assignment "embeddedsw.CMacro.GRTOSFREQUENCY"]
73 add_class_systemh_line [
string toupper "GRTOSINTERRUPTS"] [ get_module_assignment "embeddedsw.CMacro.GRTOSINTERRUPTS"]
74 add_class_systemh_line [
string toupper "GRTOSGENERATIONID"] [ get_module_assignment "embeddedsw.CMacro.GRTOSGENERATIONID"]
75 add_class_systemh_line [
string toupper "PROCESSOR_TYPE"] \"[ get_module_assignment "embeddedsw.CMacro.PROCESSOR_TYPE"]\"
76 add_class_systemh_line [
string toupper "INSTRUCTION_CACHE_SIZE"] \"[ get_module_assignment "embeddedsw.CMacro.INSTRUCTION_CACHE_SIZE"]\"
77 add_class_systemh_line [
string toupper "INSTRUCTION_CACHE_BURST"] \"[ get_module_assignment "embeddedsw.CMacro.INSTRUCTION_CACHE_BURST"]\"
78 add_class_systemh_line [
string toupper "ENABLE_HPS_MAP_ACCESS"] \"[ get_module_assignment "embeddedsw.CMacro.ENABLE_HPS_MAP_ACCESS"]\"
79 add_class_systemh_line [
string toupper "NIOS_CLOCK_FREQUENCY"] [ get_module_assignment "embeddedsw.CMacro.NIOS_CLOCK_FREQUENCY"]
80 add_class_systemh_line [
string toupper "BUS_CLOCK_FREQUENCY"] [ get_module_assignment "embeddedsw.CMacro.BUS_CLOCK_FREQUENCY"]
81 add_class_systemh_line [
string toupper "BUS_WIDTH"] [ get_module_assignment "embeddedsw.CMacro.BUS_WIDTH"]
82 add_class_systemh_line [
string toupper "EXTERNAL_MEMORY_SPAN"] [ get_module_assignment "embeddedsw.CMacro.EXTERNAL_MEMORY_SPAN"]
83 add_class_systemh_line [
string toupper "EXTERNAL_MEMORY_UNIT"] \"[ get_module_assignment "embeddedsw.CMacro.EXTERNAL_MEMORY_UNIT"]\"
86 set grtos_system_name [
string map {_grtos_0 ""} $module_name]
87 set grtos_on_chip_memory1 ${grtos_system_name}_onchip_memory2_0
89 add_class_systemh_line SYSTEM_NAME \"${grtos_system_name}\"
91 add_class_systemh_line GRTOS_BASE [
string toupper ${grtos_system_name}_GRTOS_0_S_GLOBAL_BASE]
93 add_class_systemh_line GRTOS_MONITOR_BASE [
string toupper ${grtos_system_name}_GRTOS_0_S_PROCESSOR_MONITOR_BASE]
94 add_class_systemh_line GRTOS_S_PROCESSOR1_IRQ_INTERRUPT_CONTROLLER_ID [
string toupper ${grtos_system_name}_GRTOS_0_S_PROCESSOR1_IRQ_INTERRUPT_CONTROLLER_ID]
95 add_class_systemh_line GRTOS_S_PROCESSOR1_IRQ [
string toupper ${grtos_system_name}_GRTOS_0_S_PROCESSOR1_IRQ]
98 for {
set i 1} {$i <= $NPROCESSORS} {
incr i} {
99 add_class_systemh_line GRTOS_PROCESSOR_BASE${i} [
string toupper ${grtos_system_name}_GRTOS_0_S_PROCESSOR${i}_BASE]
102 set list (int*)[
string toupper ${grtos_system_name}_GRTOS_0_S_PROCESSOR1_BASE]
103 for {
set i 2} {$i <= $NPROCESSORS} {
incr i} {
104 set list ${list},(int*)[
string toupper ${grtos_system_name}_GRTOS_0_S_PROCESSOR${i}_BASE]
106 add_class_systemh_line GRTOS_PROCESSOR_BASE (int*\[\])\{${list}\}
110 set bsp_dir [
lindex $args 1]
111 set bsp_subdir [
lindex $args 2]
127 proc validate { args } {
132 proc sub_validate_vec_size { module_name } {
140 proc add_file_header { fp } {
144 * DO NOT MODIFY THIS FILE
146 * Changing this file will have subtle consequences
147 * which will almost certainly lead to a nonfunctioning
148 * system. If you do modify this file, be aware that your
149 * changes will be overwritten and lost when this file
150 * is generated again.
152 * DO NOT MODIFY THIS FILE
162 * Altera Corporation, San Jose, California, USA.
163 * All rights reserved.
165 * Permission is hereby granted, free of charge, to any person obtaining a
166 * copy of this software and associated documentation files (the \"Software\"),
167 * to deal in the Software without restriction, including without limitation
168 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
169 * and/or sell copies of the Software, and to permit persons to whom the
170 * Software is furnished to do so, subject to the following conditions:
172 * The above copyright notice and this permission notice shall be included in
173 * all copies or substantial portions of the Software.
175 * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
176 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
177 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
178 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
179 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
180 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
181 * DEALINGS IN THE SOFTWARE.
183 * This agreement shall be governed in all respects by the laws of the State
184 * of California and by the laws of the United States of America.
198 proc class_initialize { args } {
206 proc class_validate { args } {
213 proc sub_class_validate_ril { driver_name } {
219 proc sub_class_validate_rrs { driver_name } {
229 proc sub_class_validate_rnmi { driver_name module_list } {
236 proc sub_class_validate_linker_section { driver_name } {
241 proc sub_class_validate_preemption { driver_name } {
246 proc get_module_instance_list { driver_name } {
251 proc get_default_peripheral_preemption { driver_name } {
256 proc sort_vic_order { vic_list } {
270 proc initialize_default_per_intr_settings { driver_name } {
275 proc get_ril_min_max_list { driver_name module_list } {
281 proc sub_class_validate_rrs_ril { driver_name module_list } {
286 proc get_ril_max { vic_list } {