📄 tag_mem.tcl
字号:
########## Tcl recorder starts at 12/19/08 12:32:45 ##########
set version "7.2"
set proj_dir "E:/3/tag_mem"
cd $proj_dir
# Get directory paths
set pver $version
regsub -all {\.} $pver {_} pver
set lscfile "lsc_"
append lscfile $pver ".ini"
set lsvini_dir [lindex [array get env LSC_INI_PATH] 1]
set lsvini_path [file join $lsvini_dir $lscfile]
if {[catch {set fid [open $lsvini_path]} msg]} {
puts "File Open Error: $lsvini_path"
return false
} else {set data [read $fid]; close $fid }
foreach line [split $data '\n'] {
set lline [string tolower $line]
set lline [string trim $lline]
if {[string compare $lline "\[paths\]"] == 0} { set path 1; continue}
if {$path && [regexp {^\[} $lline]} {set path 0; break}
if {$path && [regexp {^bin} $lline]} {set cpld_bin $line; continue}
if {$path && [regexp {^fpgapath} $lline]} {set fpga_dir $line; continue}
if {$path && [regexp {^fpgabinpath} $lline]} {set fpga_bin $line}}
set cpld_bin [string range $cpld_bin [expr [string first "=" $cpld_bin]+1] end]
regsub -all "\"" $cpld_bin "" cpld_bin
set cpld_bin [file join $cpld_bin]
set install_dir [string range $cpld_bin 0 [expr [string first "ispcpld" $cpld_bin]-2]]
regsub -all "\"" $install_dir "" install_dir
set install_dir [file join $install_dir]
set fpga_dir [string range $fpga_dir [expr [string first "=" $fpga_dir]+1] end]
regsub -all "\"" $fpga_dir "" fpga_dir
set fpga_dir [file join $fpga_dir]
set fpga_bin [string range $fpga_bin [expr [string first "=" $fpga_bin]+1] end]
regsub -all "\"" $fpga_bin "" fpga_bin
set fpga_bin [file join $fpga_bin]
if {[string match "*$fpga_bin;*" $env(PATH)] == 0 } {
set env(PATH) "$fpga_bin;$env(PATH)" }
if {[string match "*$cpld_bin;*" $env(PATH)] == 0 } {
set env(PATH) "$cpld_bin;$env(PATH)" }
lappend auto_path [file join $install_dir "ispcpld" "tcltk" "lib" "ispwidget" "runproc"]
package require runcmd
# Commands to make the Process:
# Generate Data File (JEDEC)
if [catch {open tag_mem.rvp w} rspFile] {
puts stderr "Cannot create response file tag_mem.rvp: $rspFile"
} else {
puts $rspFile "STYFILENAME=tag_mem.sty
PROJECT=tag_mem
ENTRY=Mixed Verilog/VHDL
WORKING_PATH=$proj_dir
MODULE=tag_mem_tst
TOP_FILE=tag_mem_tst.vhd
EDF_FILE_LIST=tag_mem.h tag_mem.vhd tag_mem0.vhd pll0.vhd tag_mem_tst.vhd
VHDL_FILE_LIST=tag_mem.h tag_mem.vhd tag_mem0.vhd pll0.vhd tag_mem_tst.vhd
VERILOG_FILE_LIST=tag_mem.h tag_mem.vhd tag_mem0.vhd pll0.vhd tag_mem_tst.vhd
DEVICEPART=LFXP2-17E-5QN208C
"
close $rspFile
}
if [catch {open tag_mem_tst.cmd w} rspFile] {
puts stderr "Cannot create response file tag_mem_tst.cmd: $rspFile"
} else {
puts $rspFile "STYFILENAME: tag_mem.sty
PROJECT: tag_mem_tst
WORKING_PATH: \"$proj_dir\"
MODULE: work.tag_mem_tst
VHDL_FILE_LIST: \"$install_dir/ispcpld/../cae_library/synthesis/vhdl/XP2.vhd\" tag_mem.h tag_mem.vhd tag_mem0.vhd pll0.vhd tag_mem_tst.vhd
OUTPUT_FILE_NAME: tag_mem_tst
SUFFIX_NAME: edi
WRITE_PRF: false
FREQUENCY: 200
FANOUT_LIMIT: 100
DISABLE_IO_INSERTION: false
FORCE_GSR: false
SPEED_GRADE: -5
SYMBOLIC_FSM_COMPILER: true
NUM_CRITICAL_PATHS: 3
AUTO_CONSTRAIN_IO: true
NUM_STARTEND_POINTS: 0
COMPILER_COMPATIBLE: true
RETIMING: none
RESOURCE_SHARING: true
DEFAULT_ENUM_ENCODING: default
fixgatedclocks: 3
fixgeneratedclocks: 3
Vlog_std_v2001: V2001
DUP: false
"
close $rspFile
}
if [runCmd "\"$cpld_bin/Synpwrap\" -dyn -e tag_mem_tst -target LATTICE-XP2 -part LFXP2_17E -pro -oem"] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
if [runCmd "\"$fpga_bin/edif2ngd\" -l LatticeXP2 -d LFXP2-17E \"tag_mem_tst.edi\" \"tag_mem_tst.ngo\""] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
if [runCmd "\"$fpga_bin/edfupdate\" -t \"tag_mem.tcy\" -w \"tag_mem_tst.ngo\" -m \"tag_mem_tst.ngo\" \"tag_mem.ngx\""] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
if [runCmd "\"$fpga_bin/ngdbuild\" -a LatticeXP2 -d LFXP2-17E -p \"$fpga_dir/mg5a00/data\" \"tag_mem_tst.ngo\" \"tag_mem.ngd\""] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
if [runCmd "\"$fpga_bin/map\" -a LatticeXP2 -p LFXP2-17E -t PQFP208 -s 5 \"tag_mem.ngd\" -o \"tag_mem_map.ncd\" -mp \"tag_mem.mrp\" \"tag_mem.lpf\""] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
if [catch {open tag_mem.cm2 w} rspFile] {
puts stderr "Cannot create response file tag_mem.cm2: $rspFile"
} else {
puts $rspFile "-t tag_mem.mt
-to tag_mem.tw1
-o tag_mem.tcm
-log tag_mem.log
-pr tag_mem.prf
-rpt tag_mem.mrp
"
close $rspFile
}
if [runCmd "\"$cpld_bin/checkpoint\" -m -f \"tag_mem.cmm\" -f \"tag_mem.cm2\" -arch LatticeXP2 \"tag_mem_map.ncd\""] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
file delete tag_mem.cm2
if [catch {open tag_mem.p2t w} rspFile] {
puts stderr "Cannot create response file tag_mem.p2t: $rspFile"
} else {
puts $rspFile "-w
-i 6
-l 5
-n 1
-t 1
-s 1
-c 0
-e 0
-exp parCDP=Auto
-exp parCDR=1
-exp parPlcInLimit=0
-exp parPlcInNeighborSize=1
-exp parPathBased=OFF
-exp parHold=OFF
"
close $rspFile
}
if [catch {open tag_mem.p3t w} rspFile] {
puts stderr "Cannot create response file tag_mem.p3t: $rspFile"
} else {
puts $rspFile "-rem
-log tag_mem.log
-o tag_mem_mp.par
-pr tag_mem.prf
"
close $rspFile
}
if [runCmd "\"$cpld_bin/multipar\" -p tag_mem.p2t -f \"tag_mem.p3t\" \"tag_mem_map.ncd\" \"tag_mem.ncd\""] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
if [catch {open tag_mem.cm2 w} rspFile] {
puts stderr "Cannot create response file tag_mem.cm2: $rspFile"
} else {
puts $rspFile "-t tag_mem.pt
-to tag_mem.twr
-o tag_mem.tcp
-log tag_mem.log
-pr tag_mem.prf
-rpt tag_mem.par
"
close $rspFile
}
if [runCmd "\"$cpld_bin/checkpoint\" -p -f \"tag_mem.cmp\" -f \"tag_mem.cm2\" -arch LatticeXP2 \"tag_mem.ncd\" -l 60"] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
file delete tag_mem.cm2
if [catch {open tag_mem.t2b w} rspFile] {
puts stderr "Cannot create response file tag_mem.t2b: $rspFile"
} else {
puts $rspFile "-g DisableUES:FALSE
-g RamCfg:Reset
"
close $rspFile
}
if [runCmd "\"$fpga_bin/bitgen\" -f \"tag_mem.t2b\" -w \"tag_mem.ncd\" -jedec -e -s \"tag_mem.sec\" -k \"tag_mem.bek\" \"tag_mem.prf\""] {
return
} else {
vwait done
if [checkResult $done] {
return
}
}
########## Tcl recorder end at 12/19/08 12:32:45 ###########
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -