pluto_hdl_adi/library/scripts/adi_ip_alt.tcl

67 lines
2.0 KiB
Tcl
Raw Normal View History

2015-05-20 13:11:18 +00:00
# keep interface-mess out of the way - keeping it pretty is a waste of time
2015-07-21 14:55:13 +00:00
proc ad_alt_intf {type name dir width {arg_1 ""} {arg_2 ""}} {
2015-05-20 13:11:18 +00:00
if {(($type eq "clock") && ($dir eq "input"))} {
add_interface if_${name} clock sink
add_interface_port if_${name} ${name} clk ${dir} ${width}
return
}
if {(($type eq "clock") && ($dir eq "output"))} {
add_interface if_${name} clock source
add_interface_port if_${name} ${name} clk ${dir} ${width}
return
}
2015-07-09 18:27:53 +00:00
if {(($type eq "reset") && ($dir eq "input"))} {
add_interface if_${name} reset sink
add_interface_port if_${name} ${name} reset ${dir} ${width}
2015-07-21 14:55:13 +00:00
set_interface_property if_${name} associatedclock ${arg_1}
2015-07-09 18:27:53 +00:00
return
}
if {(($type eq "reset") && ($dir eq "output"))} {
add_interface if_${name} reset source
add_interface_port if_${name} ${name} reset ${dir} ${width}
2015-07-21 14:55:13 +00:00
set_interface_property if_${name} associatedclock ${arg_1}
set_interface_property if_${name} associatedResetSinks ${arg_2}
2015-07-09 18:27:53 +00:00
return
}
if {(($type eq "reset-n") && ($dir eq "input"))} {
add_interface if_${name} reset sink
add_interface_port if_${name} ${name} reset_n ${dir} ${width}
2015-07-21 14:55:13 +00:00
set_interface_property if_${name} associatedclock ${arg_1}
2015-07-09 18:27:53 +00:00
return
}
if {(($type eq "reset-n") && ($dir eq "output"))} {
add_interface if_${name} reset source
add_interface_port if_${name} ${name} reset_n ${dir} ${width}
2015-07-21 14:55:13 +00:00
set_interface_property if_${name} associatedclock ${arg_1}
set_interface_property if_${name} associatedResetSinks ${arg_2}
2015-07-09 18:27:53 +00:00
return
}
if {(($type eq "intr") && ($dir eq "output"))} {
add_interface if_${name} interrupt source
add_interface_port if_${name} ${name} irq ${dir} ${width}
2015-07-21 14:55:13 +00:00
set_interface_property if_${name} associatedclock ${arg_1}
2015-07-09 18:27:53 +00:00
return
}
2015-07-21 14:55:13 +00:00
set remap $arg_1
if {$arg_1 eq ""} {
2015-05-20 15:51:50 +00:00
set remap $name
}
2015-05-20 13:11:18 +00:00
if {$type eq "signal"} {
add_interface if_${name} conduit end
2015-05-20 15:51:50 +00:00
add_interface_port if_${name} ${name} ${remap} ${dir} ${width}
2015-05-20 13:11:18 +00:00
return
}
}