Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #=================================================
- # File : PrimeTime - Find registers of ARM CoreLink ADB-400, AMBA Domain Bridge IP
- # Date : 09-June-2015
- # Author : Ramnath Swamy
- # Company : ARM Ltd
- #=================================================
- proc rm_find_adb400_registers { type } {
- # Find destination registers instances
- if {$type == "destination_registers"} {
- set all_pld_regs [lsort -dictionary -increasing [get_object_name [get_cells -hier *payld_reg_* -filter "is_sequential==true"]]]
- foreach i $all_pld_regs {
- if {[string match *adb400_mst* $i]} {
- puts $i
- }
- }
- }
- # Find Slave synchronizer modules
- if {$type == "slv_synchronizer_modules"} {
- set all_ptr_regs [lsort -dictionary -increasing [get_object_name [get_cells -hier *ptr_async* -filter "is_sequential==true"]]]
- foreach i $all_ptr_regs {
- if {[string match *adb400_slv* $i]} {
- puts $i
- }
- }
- }
- # Find Master synchronizer modules
- if {$type == "mst_synchronizer_modules"} {
- set all_ptr_regs [lsort -dictionary -increasing [get_object_name [get_cells -hier *ptr_async*]]]
- foreach i $all_ptr_regs {
- if {[string match *adb400_mst* $i]} {
- puts $i
- }
- }
- }
- # Find slot registers
- if {$type == "slot_registers"} {
- set all_slot_regs [lsort -dictionary -increasing [get_object_name [get_cells -hier *data_reg* -filter "is_sequential==true"]]]
- foreach i $all_slot_regs {
- if {[string match *u_adb400_slv* $i]} {
- puts $i
- }
- }
- }
- if {$type != "destination_registers" && $type != "slv_synchronizer_modules" && $type != "mst_synchronizer_modules" && $type != "slot_registers"} {
- puts ""
- puts "Error: rm_find_adb400_registers: type = $type is not a valid entry. Specify one of the following"
- puts "\n type = destination_registers | slv_synchronizer_modules | mst_synchronizer_modules | slot_registers"
- puts ""
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement