AMF-Placer  2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
extractLUTRAMs.tcl
Go to the documentation of this file.
1 set fo [open "${pahtPrefix}unpredictableMacros" "w"]
2 set ram32s [get_cells $allCells -filter {REF_NAME =~ "RAM32X1D"}]
3 foreach curCell $ram32s {
4  set tmpLoc [get_property LOC $curCell]
5  set tmpBEL [get_property BEL $curCell]
6  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
7 }
8 
9 set ram64s [get_cells $allCells -filter {REF_NAME =~ "RAM64X1S"}]
10 foreach curCell $ram64s {
11  set tmpLoc [get_property LOC $curCell]
12  set tmpBEL [get_property BEL $curCell]
13  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
14 }
15 
16 set RAM64Ms [get_cells $allCells -filter {REF_NAME =~ "RAM64M"}]
17 foreach curCell $RAM64Ms {
18  set tmpLoc [get_property LOC $curCell]
19  set tmpBEL [get_property BEL $curCell]
20  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
21 }
22 
23 set RAM64X1Ds [get_cells $allCells -filter {REF_NAME =~ "RAM64X1D"}]
24 foreach curCell $RAM64X1Ds {
25  set tmpLoc [get_property LOC $curCell]
26  set tmpBEL [get_property BEL $curCell]
27  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
28 }
29 
30 set RAM32Ms [get_cells $allCells -filter {REF_NAME =~ "RAM32M"}]
31 foreach curCell $RAM32Ms {
32  set tmpLoc [get_property LOC $curCell]
33  set tmpBEL [get_property BEL $curCell]
34  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
35 }
36 
37 set RAM32X1Ss [get_cells $allCells -filter {REF_NAME =~ "RAM32X1S"}]
38 foreach curCell $RAM32X1Ss {
39  set tmpLoc [get_property LOC $curCell]
40  set tmpBEL [get_property BEL $curCell]
41  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
42 }
43 
44 set RAM256X1Ds [get_cells $allCells -filter {REF_NAME =~ "RAM256X1D"}]
45 foreach curCell $RAM256X1Ds {
46  set tmpLoc [get_property LOC $curCell]
47  set tmpBEL [get_property BEL $curCell]
48  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
49 }
50 
51 
52 set AsyncRegs [get_cells $allCells -filter { ASYNC_REG == "TRUE" } ]
53 foreach curCell $AsyncRegs {
54  set tmpLoc [get_property LOC $curCell]
55  set tmpBEL [get_property BEL $curCell]
56  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
57 }
58 
59 set XPMs [get_cells $allCells -filter { XPM_CDC != "" } ]
60 foreach curCell $XPMs {
61  set tmpLoc [get_property LOC $curCell]
62  set tmpBEL [get_property BEL $curCell]
63  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
64 }
65 
66 
67 set specialCells [get_cells -hierarchical -filter { KEEP =~ "*yes*" } ]
68 foreach curCell $specialCells {
69  set tmpLoc [get_property LOC $curCell]
70  set tmpBEL [get_property BEL $curCell]
71  puts $fo "name=> $curCell loc=> $tmpLoc bel=> $tmpBEL"
72 }
73 
74 
75 close $fo