⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data_pilot_insert.restore

📁 基于Xilinx+FPGA的OFDM通信系统基带设计-程序
💻 RESTORE
📖 第 1 页 / 共 4 页
字号:
#  Helper to close and release a project.proc CloseFacilProject { iProjHelper } {   if {$iProjHelper == 0} { return }   $iProjHelper Close   Release $iProjHelper}#  Helper to get the Project from the Project Helper.#  Clients must release this.proc GetProject { iProjHelper } {   if {$iProjHelper == 0} { return 0 }   set dpm_project 0   $iProjHelper GetDpmProject dpm_project   set iProject [ GetInterface $dpm_project $xilinx::Dpm::IProjectID ]   OnNullPtr iProject {      ERR "Could not get the Project from the Project Helper."   }   return $iProject}#  Helper to get the File Manager from the Project Helper.#  Clients must release this.proc GetFileManager { iProjHelper } {   set iProject [GetProject $iProjHelper]   set iFileMgr [ GetInterface $iProject $xilinx::Dpm::IFileManagerID ]   OnNullPtr iFileMgr {      ERR "Could not get the File Manager from the Project Helper."   }   # Don't release the project here, clients will release it    # when they release its IFileManager interface.   return $iFileMgr}#  Helper to get the Source Library Manager from the Project Helper.#  Clients must release this.proc GetSourceLibraryManager { iProjHelper } {   set iProject [GetProject $iProjHelper]   set iSourceLibraryMgr [ GetInterface $iProject $xilinx::Dpm::ISourceLibraryManagerID ]   OnNullPtr iSourceLibraryMgr {      ERR "Could not get the Source Library Manager from the Project Helper."   }   # Don't release the project here, clients will release it    # when they release its IFileManager interface.   return $iSourceLibraryMgr}#  Helper to get the ProjSrcHelper from the Project Helper.#  Clients must NOT release this.proc GetProjSrcHelper { iProjHelper } {   set iSrcHelper [ GetInterface $iProjHelper $::xilinx::Dpm::IProjSrcHelperID IProjSrcHelper ]   OnNullPtr iSrcHelper {      ERR "Could not get the ProjSrcHelper from the Project Helper."   }   return $iSrcHelper}#  Helper to get the ScratchPropertyManager from the Project Helper.#  Clients must NOT release this.proc GetScratchPropertyManager { iProjHelper } {   set iPropTableFetch [ GetInterface $iProjHelper $xilinx::Dpm::IPropTableFetchID IPropTableFetch ]   set prop_table_comp 0   OnOkPtr iPropTableFetch {      $iPropTableFetch GetPropTable prop_table_comp   }   set iScratch [ GetInterface $prop_table_comp $xilinx::Dpm::IScratchPropertyManagerID ]   OnNullPtr iScratch {      ERR "Could not get the Scratch Property Manager from the Project Helper."   }   return $iScratch}#  Helper to get the Design from the Project Helper.#  Clients must release this.proc GetDesign { iProjHelper } {   set iProject [GetProject $iProjHelper]   set iDesign 0   OnOkPtr iProject { $iProject GetDesign iDesign }   OnNullPtr iDesign {      ERR "Could not get the Design from the Project Helper."   }   Release $iProject   return $iDesign}#  Helper to get the Data Store from the Project Helper.#  Clients must NOT release this.proc GetDataStore { iProjHelper } {   set iDesign [ GetDesign $iProjHelper]   set iDataStore 0   OnOkPtr iDesign { $iDesign GetDataStore iDataStore }   OnNullPtr iDataStore {      ERR "Could not get the Data Store from the Project Helper."   }   Release $iDesign   return $iDataStore}#  Helper to get the View Manager from the Project Helper.#  Clients must NOT release this.proc GetViewManager { iProjHelper } {   set iDesign [ GetDesign $iProjHelper]   set iViewMgr [ GetInterface $iDesign $xilinx::Dpm::IViewManagerID ]   OnNullPtr iViewMgr {      ERR "Could not get the View Manager from the Project Helper."   }   # Don't release the design here, clients will release it    # when they release its IViewManager interface.   return $iViewMgr}#  Helper to get the Property Manager from the Project Helper.#  Clients must release this.proc GetPropertyManager { iProjHelper } {   set iDesign [ GetDesign $iProjHelper]   set iPropMgr 0   OnOkPtr iDesign { $iDesign GetPropertyManager iPropMgr }   OnNullPtr iPropMgr {      ERR "Could not get the Property Manager from the Project Helper."   }   Release $iDesign   return $iPropMgr}#  Helper to find a property template, based on prop_name#  Clients must NOT release this.proc GetPropertyTemplate { iProjHelper prop_name } {   set iPropTempl 0   set iUnk 0   set iDefdataId 0   set iPropTemplStore 0   set iDataStore [GetDataStore $iProjHelper]   OnOkPtr iDataStore { $iDataStore GetComponentByName $prop_name iUnk }   OnOkPtr iUnk { set iDefdataId [ GetInterface $iUnk $xilinx::Dpm::IDefDataIdID IDefDataId ] }   OnOkPtr iDefdataId {      set iPropTemplStore [ GetInterface $iDataStore $xilinx::Dpm::IPropertyTemplateStoreID IPropertyTemplateStore ]   }   OnOkPtr iPropTemplStore { $iPropTemplStore GetPropertyTemplate $iDefdataId iPropTempl }   OnNullPtr iPropTempl {      WARN "Could not get the property template for \"$prop_name\"."   }   return $iPropTempl}#  Helper to get a component's name.proc GetName { iUnk } {   set name ""   set iName [ GetInterface $iUnk $xilinx::Prjrep::INameID IName ]   OnOkPtr iName { $iName GetName name }   return $name}#  Helper to get the name of a view's type.proc GetViewTypeName { iView } {   set typeName ""   set iType 0   set iDefdataType 0   OnOkPtr iView { $iView GetType iType }   OnOkPtr iType {      set iDefdataType [ GetInterface $iType $xilinx::Dpm::IDefDataIdID IDefDataId ]   }   OnOkPtr iDefdataType { $iDefdataType GetID typeName }   return $typeName}#  Helper to find a view and return its context.#  Must clients release this?proc GetViewContext { iProjHelper view_id view_name } {   # Simply return if the view_id or view_name is empty.   if { [IsBlank $view_id] || [IsBlank $view_name] } { return 0 }   set foundview 0   set viewiter 0   set iViewMgr [GetViewManager $iProjHelper]   OnOkPtr iViewMgr { $iViewMgr GetViews viewiter }   ForEachIterEle view $viewiter {      set typeName [GetViewTypeName $view]      set name [GetName $view]      if { [ string equal $name $view_name ] && [ string equal $view_id $typeName ] } {         set foundview $view      }   }   set context [ GetInterface $foundview $xilinx::Dpm::IPropertyContextID ]   OnNullPtr context {      WARN "Could not get the context for view \"$view_id\":\"$view_name\"."   }   return $context}#  Helper to get a string property instance from the property manager.proc GetStringPropertyInstance { iProjHelper simple_id } {   set iPropMgr [GetPropertyManager $iProjHelper]   if {$iPropMgr == 0} { return 0 }   set iPropInst 0   $iPropMgr GetStringProperty $simple_id iPropInst   OnNullPtr iPropInst { WARN "Could not get the string property instance $simple_id." }   Release $iPropMgr   return $iPropInst}#  Helper to get a property instance from the property manager.proc GetPropertyInstance { iProjHelper view_name view_id prop_name } {   set iPropInst 0   set iPropTempl [ GetPropertyTemplate $iProjHelper $prop_name ]   if {$iPropTempl == 0} { return 0 }   set context [ GetViewContext $iProjHelper $view_id $view_name ]   set iPropMgr [GetPropertyManager $iProjHelper]   if {$iPropMgr == 0} { return 0 }   $iPropMgr GetPropertyInstance $iPropTempl $context iPropInst   OnNullPtr iPropInst {      if { ![IsBlank $view_id] && ![IsBlank $view_name] } {         WARN "Could not get the context sensitive property instance $prop_name."      } else {         WARN "Could not get the property instance $prop_name."      }   }   Release $iPropMgr   return $iPropInst}#  Helper to store properties back into the property manager.proc RestoreProcessProperties { iProjHelper process_props } {   INFO "Restoring process properties"   foreach { unused view_name view_id simple_id prop_name prop_val } $process_props {      set iPropInst 0      if {![IsBlank $simple_id]} {         set iPropInst [ GetStringPropertyInstance $iProjHelper $simple_id ]      } else {         set iPropInst [ GetPropertyInstance $iProjHelper $view_name $view_id $prop_name ]      }      OnOkPtr iPropInst {         OnFail [ $iPropInst SetStringValue "$prop_val" ] {            WARN "Could not set the value of the $prop_name property to \"$prop_val\"."         }      }      Release $iPropInst   }}#  Helper to recreate partitions from the variable name with#  a list of instance names.proc RestorePartitions { namelist } {   INFO "Restoring partitions."   set iHDProject [ GetCurrentHDProject ]   OnOkPtr iHDProject {      foreach name $namelist {         set iPartition [ $iHDProject CreatePartition "$name" ]      }   }}#  Helper to create and populate a library#proc CreateLibrary { iProjHelper libname filelist } {   set iLibMgr [ GetSourceLibraryManager $iProjHelper ]   set iFileMgr [ GetFileManager $iProjHelper ]   if {$iLibMgr == 0} { return 0 }   if {$iFileMgr == 0} { return 0 }   $iLibMgr CreateSourceLibrary "libname" ilib   OnOkPtr ilib {      foreach filename $filelist {         set argfile [ file normalize "$filename" ]         set found 0         set fileiter 0         $iFileMgr GetFiles fileiter         ForEachIterEle ifile $fileiter {            set path ""            set file ""            $ifile getPath path file            set currentfile [ file normalize [ file join "$path" "$file" ] ]            if { $currentfile == $argfile } {               set found 1               $ilib AddFile ifile               break            }         }         OnNullPtr found {            WARN "Could not add the file \"$filename\" to the library \"$libname\"."         }      }   }}#  Helper to create source libraries and populate them.proc RestoreSourceLibraries { iProjHelper libraries } {   INFO "Restoring source libraries."   foreach { libname filelist } $libraries {      CreateLibrary $iProjHelper "$libname" $filelist   }}# Helper to add user files to the project using the PnF.proc AddUserFiles { iProjHelper files } {   INFO "Adding User files."

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -