OpenCores
URL https://opencores.org/ocsvn/opb_vga_char_display_nodac/opb_vga_char_display_nodac/trunk

Subversion Repositories opb_vga_char_display_nodac

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 3 to Rev 4
    Reverse comparison

Rev 3 → Rev 4

/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v File deleted \ No newline at end of file
/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore =================================================================== --- trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore (revision 3) +++ trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore (nonexistent) @@ -1,1345 +0,0 @@ -# Project Navigator Project Restoration Script -# -# WARNING: Do not modify this file. Any alteration of this file is not -# supported and will likely cause project restoration to fail. The -# format and the contents will be modified without further notice. -# -# This script can be used to recreate the associated project. To use this script, -# source it in a Xilinx Tcl shell, such as xtclsh or the Project Navigator Tcl -# Shell tab, and call the 'restore' proc. Restore takes the project directory as -# an optional argument. Pass in the project directory if it is different than the -# current working directory, otherwise don't pass in anything. -# -# Example: -# In this example the project is in the directory "./projects/m_project_dir". -# -# source ./projects/m_project_dir/my_project.restore -# restore ./projects/m_project_dir -# -# Example: -# In this example the project is in the current working directory. -# -# source my_project.restore -# restore -# -# Note that restoring a project this way has the following limitations: -# - Process status will not be restored. -# - A root-level source will be set as "Top", even if a lower-level source had -# previously been set as "Top". -# - Sources with non-default Design View associations will revert to the default -# association. -# - Snapshots will not be restored. -# -# The project which failed to load will be backed up as .fail. -# Please open a Technical Support WebCase at -# www.xilinx.com/support/clearexpress/websupport.htm and submit this file, along -# with the project source files, for evaluation. -# -# Copyright 2007, Xilinx, Inc. - - -proc ERR { msg } { - puts "ERROR: $msg" -} - -proc WARN { msg } { - puts "WARNING: $msg" -} - -proc INFO { msg } { - puts "$msg" -} - -# Helper that returns 1 if the string is blank, otherwise 0. -proc IsBlank { str } { - if { [string length $str] == 0 } { - return 1 - } - return 0 -} - -# Helper for determining whether a value is 'NULL'. -# Returns 1 if the value is 0; returns 0 if the value is anything else. -proc IsNull { val } { - if { $val == 0 } { - return 1 - } - return 0 -} - -proc HandleException { script { msg "" } } { - set catch_result [catch { - uplevel 1 $script - } RESULT] - if {$catch_result} { - if {![IsBlank $msg]} { - ERR $msg - } - INFO "$RESULT" - INFO "$::errorInfo" - } -} - -# These two procs help to load shared libraries in a platform -# independent way. -proc _LoadLibrary {name} { - set libExt [info sharedlibextension] - set libFullName "$name$libExt" - HandleException { - load $libFullName - } "A problem occured loading library $libFullName." -} - -proc _LoadFactoryLibrary {Factory} { - HandleException { - Xilinx::Cit::FactoryLoad $Factory - } "A problem occured loading library $Factory." -} - -_LoadLibrary libCit_CoreStub -_LoadLibrary libPrjrep_CommonStub -_LoadFactoryLibrary libPrjrep_Common -_LoadLibrary libDpm_SupportStub -_LoadLibrary libDpm_PnfStub -_LoadLibrary libDpm_DefnDataStub -_LoadLibrary libDpm_DesignDataStub -_LoadLibrary libDpm_HdlStub -_LoadLibrary libPrjrep_RepositoryStub -_LoadLibrary libCitI_CoreStub -_LoadLibrary libHdcI_HdcHDProjectStub -_LoadLibrary libTcltaskI_TaskStub -_LoadLibrary libCommonI_CommonStub -_LoadFactoryLibrary libTcltask_Helpers -_LoadFactoryLibrary libHdcC_HDProject -_LoadLibrary libHdcI_HdcContainerStub - -# Helper to exectute code only when the (pointer) variable name is valid. -proc OnOkPtr { var_name script } { - if { [ uplevel info exists $var_name ] } { - upvar $var_name var - if { $var != 0 } { return [ uplevel $script ] } - } -} - -# Helper to exectute code only when the (pointer) variable name is 0. -proc OnNullPtr { var_name script } { - if { [ uplevel info exists $var_name ] } { - upvar $var_name var - if { $var == 0 } { return [ uplevel $script ] } - } -} - -# Helper to exectute code only when the value of variable name is 1. -proc OnSuccess { var_name script } { - if { $val != 0 } { return [ uplevel $script ] } -} - -# Helper to exectute code only when the value of variable name is 0. -proc OnFail { val script } { - if { $val != 1 } { return [ uplevel $script ] } -} - -# Helper to get a component interface. -proc GetInterface { iUnk id { name "" } } { - if {$iUnk == 0} { return 0 } - set iIface [ $iUnk GetInterface $id ] - OnNullPtr iIface { - if {![IsBlank $name]} { - ERR " Could not get the \"$name\" interface." - } - } - return $iIface -} - -# Helper to create a component and return one of its interfaces. -proc CreateComponent { compId ifaceId { name "" } } { - set iUnk [ ::Xilinx::Cit::FactoryCreate $compId ] - set iIface [ GetInterface $iUnk $ifaceId ] - OnNullPtr iIface { - if {![IsBlank $name]} { ERR "Could not create a \"$name\" component." } - } - return $iIface -} - -# Helper to release an object -proc Release { args } { - foreach iUnk $args { - set i_refcount [ GetInterface $iUnk $::xilinx::Prjrep::IRefCountID ] - OnNullPtr i_refcount { set i_refcount [ GetInterface $iUnk $::xilinx::CommonI::IRefCountID ] } - OnOkPtr i_refcount { $i_refcount Release } - } -} - -# Helper to loop over IIterator based pointers. -proc ForEachIterEle { _ele_var_name _iter script } { - if {$_iter == 0} { return 0 } - upvar $_ele_var_name ele - for { $_iter First } { ![ $_iter IsEnd ] } { $_iter Next } { - set ele [ $_iter CurrentItem ] - set returned_val [ uplevel $script ] - } -} - -# Helper to get the Tcl Project Manager, if possible. -proc GetTclProjectMgr { } { - set TclProjectMgrId "{7d528480-1196-4635-aba9-639446e4aa59}" - set iUnk [ Xilinx::CitP::CreateComponent $TclProjectMgrId ] - if {$iUnk == 0} { return 0 } - set iTclProjectMgr [ $iUnk GetInterface $::xilinx::TcltaskI::ITclProjectMgrID ] - OnNullPtr iTclProjectMgr { - ERR "Could not create a \"TclProjectMgr\" component." - } - return $iTclProjectMgr -} - -# Helper to get the current Tcl Project, if one is open. -proc GetCurrentTclProject { } { - set iTclProject 0 - set iTclProjectMgr [GetTclProjectMgr] - OnOkPtr iTclProjectMgr { - set errmsg "" - $iTclProjectMgr GetCurrentTclProject iTclProject errmsg - } - return $iTclProject -} - -# Helper to get the current HDProject, if one is open. -proc GetCurrentHDProject { } { - set iHDProject 0 - set iTclProjectMgr [GetTclProjectMgr] - set errmsg "" - OnOkPtr iTclProjectMgr { $iTclProjectMgr GetCurrentHDProject iHDProject errmsg } - OnNullPtr iHDProject { - ERR "Could not get the current HDProject." - } - return $iHDProject -} - -# Helper to create a Project Helper. -proc GetProjectHelper { } { - set ProjectHelperID "{0725c3d2-5e9b-4383-a7b6-a80c932eac21}" - set iProjHelper [CreateComponent $ProjectHelperID $::xilinx::Dpm::IProjectHelperID "Project Helper"] - return $iProjHelper -} - -# Helper to find out if a project is currently open. -# Returns 1 if a project is open, otherwise 0. -proc IsProjectOpen { } { - set iTclProject [GetCurrentTclProject] - set isOpen [expr {$iTclProject != 0}] - Release $iTclProject - return $isOpen -} - -# Helper to return the lock file for the specified project if there is one. -# Returns an empty string if there is no lock file on the specified project. -# This assumes that the project_file is in the current directory. -# It also assumes project_file does not have a path. -proc GetProjectLockFile { project_file } { - INFO "Checking for a lock file for \"$project_file\"." - set lock_file "__ISE_repository_${project_file}_.lock" - if { [ file isfile "$lock_file" ] } { - return $lock_file - } - return -} - -# Helper to move aside the project file. -# This assumes that the project_file is in the current directory. -proc MoveProject { project_file backup_file } { - INFO "Moving aside the project \"$project_file\" so that it can be recreated." - INFO "The project will be backed up as \"$backup_file\"." - if { ![ file isfile "$project_file" ] } { - WARN "Could not move \"$project_file\"; it does not exist or is not a file." - return 1 - } - file rename -force "$project_file" "$backup_file" - # We will need to bail if the project still exists. - if { [ file isfile "$project_file" ] } { - ERR "Could not remove \"$project_file\"; unable to recreate the project.." - return 0 - } - return 1 -} - -# Helper to open a project and return a project facilitator (pointer). -proc OpenFacilProject { project_name } { - # first make sure the tcl project mgr singleton exists - GetTclProjectMgr - # get a Project Helper and open the project. - set iProjHelper [GetProjectHelper] - if {$iProjHelper == 0} { return 0 } - set result [$iProjHelper Open $project_name] - OnFail $result { - if {$result == 576460769483292673} { - ERR "Could not open the project \"$project_name\" because it is locked." - } else { - ERR "Could not open the \"$project_name\" project." - } - Release $iProjHelper - set iProjHelper 0 - } - return $iProjHelper -} - -# 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." - set iconflict 0 - set iSrcHelper [ GetProjSrcHelper $iProjHelper ] - if {$iSrcHelper == 0} { return 0 } - foreach filename $files { - INFO "Adding the file \"$filename\" to the project." - set result [$iSrcHelper AddSourceFile "$filename" iconflict] - OnFail $result { - if {$result == 6} { - INFO "The file \"$filename\" is already in the project." - } else { - ERR "A problem occurred adding the file \"$filename\" to the project." - } - } - } -} - -# Helper to add files to the project and set their origination. -# Valid origination values are: -# 0 - User -# 1 - Generated -# 2 - Imported -# Files of origination "User" are added through the facilitator, -# otherwise they are added directly to the File Manager. -proc AddImportedFiles { iProjHelper files origination } { - switch $origination { - 0 { INFO "Adding User files." } - 1 { INFO "Adding Generated files." } - 2 { INFO "Adding Imported files." } - default { - ERR "Invalid parameter: origination was set to \"$origination\", but may only be 0, 1, or 2." - return 0 - } - } - set iFileMgr [ GetFileManager $iProjHelper ] - if {$iFileMgr == 0} { return 0 } - foreach filename $files { - set file_type 0 - set hdl_file 0 - set result [$iFileMgr AddFile "$filename" $file_type hdl_file] - OnFail $result { - if {$result == 6} { - INFO "The file \"$filename\" is already in the project." - } elseif { $hdl_file == 0 } { - ERR "A problem occurred adding the file \"$filename\" to the project." - } - } - OnOkPtr hdl_file { - set ifile [ GetInterface $hdl_file $xilinx::Dpm::IFileID IFile ] - OnOkPtr ifile { - set result [ $ifile SetOrigination $origination ] - if {$result != 1} { - ERR "A problem occurred setting the origination of \"$filename\" to \"$origination\"." - } - Release $ifile - } - } - } - return 1 -} - -proc RestoreProjectSettings { iProjHelper project_settings } { - INFO "Restoring device settings" - set iScratch [GetScratchPropertyManager $iProjHelper] - set iPropIter 0 - set iPropSet [ GetInterface $iScratch $xilinx::Dpm::IPropertyNodeSetID IPropertyNodeSet ] - OnOkPtr iPropSet { - $iPropSet GetIterator iPropIter - } - set index 0 - set lastindex [llength $project_settings] - ForEachIterEle prop_node $iPropIter { - set prop_instance 0 - $prop_node GetPropertyInstance prop_instance - if { $index < $lastindex } { - set argname [ lindex $project_settings $index ] - set argvalue [ lindex $project_settings [ expr $index + 1 ] ] - } else { - set argname {} - set argvalue {} - } - if { $prop_instance != 0 } { - set name {} - $prop_instance GetName name - if { [string equal $name $argname ] } { - $prop_instance SetStringValue $argvalue - incr index - incr index - } - } - Release $prop_instance - } - $iScratch Commit - # initialize - $iProjHelper Init -} - -# Helper to load a source control configuration from a stream -# and then store it back into an ise file. -proc RestoreSourceControlOptions { prjfile istream } { - INFO "Restoring source control options" - set config_comp [::Xilinx::Cit::FactoryCreate $::xilinx::Dpm::SourceControlConfigurationCompID ] - OnOkPtr config_comp { set ipersist [ $config_comp GetInterface $xilinx::Prjrep::IPersistID ] } - OnOkPtr config_comp { set igetopts [ $config_comp GetInterface $xilinx::Dpm::SrcCtrl::IGetOptionsID ] } - set helper_comp [::Xilinx::Cit::FactoryCreate $::xilinx::Dpm::SourceControlHelpCompID ] - OnOkPtr helper_comp { set ihelper [ $config_comp GetInterface $xilinx::Dpm::SrcCtrl::IHelperID ] } - OnOkPtr ipersist { $ipersist Load istream } - OnOkPtr ihelper { OnOkPtr igetopts { $ihelper SaveOptions $prjfile $igetopts } } - Release $helper_comp $config_comp -} - -# Call this proc to restore the ISE project. -proc restore { { project_dir "" } } { - set script_file "s3e_vga_char_dev.restore" - set project_file "s3e_vga_char_dev.ise" - set backup_file "s3e_vga_char_dev.fail" - set old_working_dir [pwd] - # Make sure a project isn't already open. - if {[IsProjectOpen]} { - ERR "The project must be closed before performing this operation." - cd $old_working_dir - return - } - # If a project directory was supplied, cd into it. - if {![IsBlank $project_dir]} { - cd $project_dir - } - # Make sure the project file exists. - if { ![ file isfile "$project_file" ] } { - ERR "Could not find the project file \"$project_file\". You must be in the project directory to perform this operation." - cd $old_working_dir - return - } - # Make sure the project isn't locked. - set lock_file [GetProjectLockFile $project_file] - if { ![IsBlank "$lock_file" ] } { - ERR "Could not restore the project \"$project_name\" because it is locked." - INFO "Please remove the lock file \"$lock_file\" and try again." - cd $old_working_dir - return - } - # Backup this script because it will be overwritten the next time - # the project is saved, which happens right after it is created! - file copy -force "$script_file" "${script_file}.last" - # Back up the project and remove the project file, since it can't be opened. - OnFail [ MoveProject "$project_file" "$backup_file" ] { - cd $old_working_dir - return - } - - # Open the project. - HandleException { - set iProjHelper [ OpenFacilProject "$project_file"] - } "A problem occurred while creating the project \"$project_file\"." - if {$iProjHelper == 0} { - cd $old_working_dir - return - } - INFO "Recreating project \"$project_file\"." - set project_settings { - "PROP_DevFamily" "Virtex2P" - "PROP_DevDevice" "xc2vp7" - "PROP_DevPackage" "fg456" - "PROP_DevSpeed" "-6" - "PROP_Top_Level_Module_Type" "HDL" - "PROP_Synthesis_Tool" "XST (VHDL/Verilog)" - "PROP_Simulator" "Modelsim-SE Mixed" - "PROP_PreferredLanguage" "Verilog" - "PROP_Enable_Message_Capture" "true" - "PROP_Enable_Message_Filtering" "false" - "PROP_Enable_Incremental_Messaging" "false" - } - - HandleException { - RestoreProjectSettings $iProjHelper $project_settings - } "A problem occured while restoring project settings." - - set user_files { - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" - "../../hdl/verilog/user_logic.v" - "../../hdl/vhdl/s3e_vga_char_dev.vhd"} - - HandleException { - AddUserFiles $iProjHelper $user_files - } "A problem occured while restoring user files." - - set imported_files {} - - set origination 2 - - HandleException { - AddImportedFiles $iProjHelper $imported_files $origination - } "A problem occured while restoring imported files." - - set process_props { - "A" "" "" "" "PROPEXT_SynthMultStyle_virtex2" "Auto" - "A" "" "" "" "PROPEXT_xilxBitgCfg_DCIUpdateMode_virtex2p" "As Required" - "A" "" "" "" "PROPEXT_xilxBitgCfg_TDO_virtex2p" "Float" - "A" "" "" "" "PROPEXT_xilxBitgStart_Clk_Done_virtex2p" "Default (4)" - "A" "" "" "" "PROPEXT_xilxMapGenInputK_virtex2" "4" - "A" "" "" "" "PROPEXT_xilxSynthAddBufg_virtex2" "16" - "A" "" "" "" "PROPEXT_xilxSynthMaxFanout_virtex2" "500" - "A" "" "" "" "PROP_CPLDFitkeepio" "false" - "A" "" "" "" "PROP_CompxlibAbelLib" "true" - "A" "" "" "" "PROP_CompxlibCPLDDetLib" "true" - "A" "" "" "" "PROP_CompxlibOtherCompxlibOpts" "" - "A" "" "" "" "PROP_CompxlibOutputDir" "$XILINX//" - "A" "" "" "" "PROP_CompxlibOverwriteLib" "Overwrite" - "A" "" "" "" "PROP_CompxlibSimPath" "Search in Path" - "A" "" "" "" "PROP_CompxlibSimPrimatives" "true" - "A" "" "" "" "PROP_CompxlibXlnxCoreLib" "true" - "A" "" "" "" "PROP_CurrentFloorplanFile" "" - "A" "" "" "" "PROP_DesignName" "s3e_vga_char_dev" - "A" "" "" "" "PROP_Dummy" "dum1" - "A" "" "" "" "PROP_EnableWYSIWYG" "None" - "A" "" "" "" "PROP_Enable_Incremental_Messaging" "false" - "A" "" "" "" "PROP_Enable_Message_Capture" "true" - "A" "" "" "" "PROP_Enable_Message_Filtering" "false" - "A" "" "" "" "PROP_FunctionBlockInputLimit" "38" - "A" "" "" "" "PROP_ISimLibSearchOrderFile" "" - "A" "" "" "" "PROP_ISimSDFTimingToBeRead" "Setup Time" - "A" "" "" "" "PROP_ISimUseCustomCompilationOrder" "false" - "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_behav_tb" "false" - "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_behav_tbw" "false" - "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_gen_tbw" "false" - "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_par_tb" "false" - "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_par_tbw" "false" - "A" "" "" "" "PROP_ISimUutInstName" "UUT" - "A" "" "" "" "PROP_ImpactProjectFile" "" - "A" "" "" "" "PROP_MSimSDFTimingToBeRead" "Setup Time" - "A" "" "" "" "PROP_ModelSimUseConfigName" "false" - "A" "" "" "" "PROP_Parse_Target" "synthesis" - "A" "" "" "" "PROP_PartitionCreateDelete" "" - "A" "" "" "" "PROP_PartitionForcePlacement" "" - "A" "" "" "" "PROP_PartitionForceSynth" "" - "A" "" "" "" "PROP_PartitionForceTranslate" "" - "A" "" "" "" "PROP_PlsClockEnable" "true" - "A" "" "" "" "PROP_PostTrceFastPath" "false" - "A" "" "" "" "PROP_PreTrceFastPath" "false" - "A" "" "" "" "PROP_SimDo" "true" - "A" "" "" "" "PROP_SimModelGenerateTestbenchFile" "false" - "A" "" "" "" "PROP_SimModelInsertBuffersPulseSwallow" "false" - "A" "" "" "" "PROP_SimModelOtherNetgenOpts" "" - "A" "" "" "" "PROP_SimModelRetainHierarchy" "true" - "A" "" "" "" "PROP_SimUseCustom_behav" "false" - "A" "" "" "" "PROP_SimUseCustom_postMap" "false" - "A" "" "" "" "PROP_SimUseCustom_postPar" "false" - "A" "" "" "" "PROP_SimUseCustom_postXlate" "false" - "A" "" "" "" "PROP_SynthCaseImplStyle" "None" - "A" "" "" "" "PROP_SynthDecoderExtract" "true" - "A" "" "" "" "PROP_SynthEncoderExtract" "Yes" - "A" "" "" "" "PROP_SynthExtractMux" "Yes" - "A" "" "" "" "PROP_SynthExtractRAM" "true" - "A" "" "" "" "PROP_SynthExtractROM" "true" - "A" "" "" "" "PROP_SynthFsmEncode" "Auto" - "A" "" "" "" "PROP_SynthLogicalShifterExtract" "true" - "A" "" "" "" "PROP_SynthOpt" "Speed" - "A" "" "" "" "PROP_SynthOptEffort" "Normal" - "A" "" "" "" "PROP_SynthResSharing" "true" - "A" "" "" "" "PROP_SynthShiftRegExtract" "true" - "A" "" "" "" "PROP_SynthXORCollapse" "true" - "A" "" "" "" "PROP_Top_Level_Module_Type" "HDL" - "A" "" "" "" "PROP_UseDataGate" "true" - "A" "" "" "" "PROP_XPowerOptInputTclScript" "" - "A" "" "" "" "PROP_XPowerOptLoadPCFFile" "Default" - "A" "" "" "" "PROP_XPowerOptLoadVCDFile" "Default" - "A" "" "" "" "PROP_XPowerOptLoadXMLFile" "Default" - "A" "" "" "" "PROP_XPowerOptOutputFile" "Default" - "A" "" "" "" "PROP_XPowerOptVerboseRpt" "false" - "A" "" "" "" "PROP_XPowerOtherXPowerOpts" "" - "A" "" "" "" "PROP_XplorerMode" "Off" - "A" "" "" "" "PROP_bitgen_Encrypt_keySeq0" "None" - "A" "" "" "" "PROP_bitgen_Encrypt_keySeq1" "None" - "A" "" "" "" "PROP_bitgen_Encrypt_keySeq2" "None" - "A" "" "" "" "PROP_bitgen_Encrypt_keySeq3" "None" - "A" "" "" "" "PROP_bitgen_Encrypt_keySeq4" "None" - "A" "" "" "" "PROP_bitgen_Encrypt_keySeq5" "None" - "A" "" "" "" "PROP_bitgen_Encrypt_startCBC" "" - "A" "" "" "" "PROP_bitgen_Encrypt_startKey" "None" - "A" "" "" "" "PROP_bitgen_otherCmdLineOptions" "" - "A" "" "" "" "PROP_cpldBestFit" "false" - "A" "" "" "" "PROP_cpldfitHDLeqStyle" "Source" - "A" "" "" "" "PROP_cpldfit_otherCmdLineOptions" "" - "A" "" "" "" "PROP_fitGenSimModel" "false" - "A" "" "" "" "PROP_hprep6_autosig" "false" - "A" "" "" "" "PROP_hprep6_otherCmdLineOptions" "" - "A" "" "" "" "PROP_ibiswriterEnableMultiLingualModel" "false" - "A" "" "" "" "PROP_ibiswriterShowAllModels" "false" - "A" "" "" "" "PROP_impactConfigFileName_CPLD" "" - "A" "" "" "" "PROP_mapUseRLOCConstraints" "true" - "A" "" "" "" "PROP_map_otherCmdLineOptions" "" - "A" "" "" "" "PROP_mpprRsltToCopy" "" - "A" "" "" "" "PROP_ngdbuildUseLOCConstraints" "true" - "A" "" "" "" "PROP_ngdbuild_otherCmdLineOptions" "" - "A" "" "" "" "PROP_parUseTimingConstraints" "true" - "A" "" "" "" "PROP_par_otherCmdLineOptions" "" - "A" "" "" "" "PROP_primeCorrelateOutput" "false" - "A" "" "" "" "PROP_primeFlatternOutputNetlist" "false" - "A" "" "" "" "PROP_primeTopLevelModule" "" - "A" "" "" "" "PROP_primetimeBlockRamData" "" - "A" "" "" "" "PROP_taengine_otherCmdLineOptions" "" - "A" "" "" "" "PROP_xcpldFitDesInit" "Low" - "A" "" "" "" "PROP_xcpldFitDesInputLmt_xbr" "32" - "A" "" "" "" "PROP_xcpldFitDesMultiLogicOpt" "true" - "A" "" "" "" "PROP_xcpldFitDesSlew" "Fast" - "A" "" "" "" "PROP_xcpldFitDesTimingCst" "true" - "A" "" "" "" "PROP_xcpldFitDesTriMode" "Keeper" - "A" "" "" "" "PROP_xcpldFitDesUnused" "Keeper" - "A" "" "" "" "PROP_xcpldFitDesVolt" "LVCMOS18" - "A" "" "" "" "PROP_xcpldFitTemplate_xpla3" "Optimize Density" - "A" "" "" "" "PROP_xcpldFittimRptOption" "Summary" - "A" "" "" "" "PROP_xcpldUseGlobalClocks" "true" - "A" "" "" "" "PROP_xcpldUseGlobalOutputEnables" "true" - "A" "" "" "" "PROP_xcpldUseGlobalSetReset" "true" - "A" "" "" "" "PROP_xcpldUseLocConst" "Always" - "A" "" "" "" "PROP_xilxBitgCfg_Clk" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_Code" "0xFFFFFFFF" - "A" "" "" "" "PROP_xilxBitgCfg_DCMBandgap" "false" - "A" "" "" "" "PROP_xilxBitgCfg_DCMShutdown" "false" - "A" "" "" "" "PROP_xilxBitgCfg_Done" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_ASCIIFile" "false" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_BinaryFile" "false" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_BitFile" "true" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_Compress" "false" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_DRC" "true" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_EnableCRC" "true" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_IEEE1532File" "false" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_IEEE1532File_xbr" "false" - "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_ReadBack" "false" - "A" "" "" "" "PROP_xilxBitgCfg_M0" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_M1" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_M2" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_Pgm" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_PwrDown" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_Rate" "4" - "A" "" "" "" "PROP_xilxBitgCfg_TCK" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_TDI" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_TMS" "Pull Up" - "A" "" "" "" "PROP_xilxBitgCfg_Unused" "Pull Down" - "A" "" "" "" "PROP_xilxBitgReadBk_Sec" "Enable Readback and Reconfiguration" - "A" "" "" "" "PROP_xilxBitgStart_Clk" "CCLK" - "A" "" "" "" "PROP_xilxBitgStart_Clk_DriveDone" "false" - "A" "" "" "" "PROP_xilxBitgStart_Clk_EnOut" "Default (5)" - "A" "" "" "" "PROP_xilxBitgStart_Clk_MatchCycle" "Auto" - "A" "" "" "" "PROP_xilxBitgStart_Clk_RelDLL" "Default (NoWait)" - "A" "" "" "" "PROP_xilxBitgStart_Clk_WrtEn" "Default (6)" - "A" "" "" "" "PROP_xilxBitgStart_IntDone" "false" - "A" "" "" "" "PROP_xilxMapAllowLogicOpt" "false" - "A" "" "" "" "PROP_xilxMapCoverMode" "Area" - "A" "" "" "" "PROP_xilxMapDisableRegOrdering" "false" - "A" "" "" "" "PROP_xilxMapPackRegInto" "For Inputs and Outputs" - "A" "" "" "" "PROP_xilxMapReplicateLogic" "true" - "A" "" "" "" "PROP_xilxMapReportDetail" "false" - "A" "" "" "" "PROP_xilxMapSliceLogicInUnusedBRAMs" "false" - "A" "" "" "" "PROP_xilxMapTimingDrivenPacking" "false" - "A" "" "" "" "PROP_xilxMapTrimUnconnSig" "true" - "A" "" "" "" "PROP_xilxNgdbldIOPads" "false" - "A" "" "" "" "PROP_xilxNgdbldMacro" "" - "A" "" "" "" "PROP_xilxNgdbldNTType" "Timestamp" - "A" "" "" "" "PROP_xilxNgdbldPresHierarchy" "false" - "A" "" "" "" "PROP_xilxNgdbldUR" "" - "A" "" "" "" "PROP_xilxNgdbldUnexpBlks" "false" - "A" "" "" "" "PROP_xilxNgdbld_AUL" "false" - "A" "" "" "" "PROP_xilxPARplacerCostTable" "1" - "A" "" "" "" "PROP_xilxPARplacerEffortLevel" "None" - "A" "" "" "" "PROP_xilxPARrouterEffortLevel" "None" - "A" "" "" "" "PROP_xilxPARstrat" "Normal Place and Route" - "A" "" "" "" "PROP_xilxPARuseBondedIO" "false" - "A" "" "" "" "PROP_xilxPostTrceAdvAna" "false" - "A" "" "" "" "PROP_xilxPostTrceRpt" "Error Report" - "A" "" "" "" "PROP_xilxPostTrceRptLimit" "3" - "A" "" "" "" "PROP_xilxPostTrceStamp" "" - "A" "" "" "" "PROP_xilxPostTrceTSIFile" "" - "A" "" "" "" "PROP_xilxPostTrceUncovPath" "" - "A" "" "" "" "PROP_xilxPreTrceAdvAna" "false" - "A" "" "" "" "PROP_xilxPreTrceRpt" "Error Report" - "A" "" "" "" "PROP_xilxPreTrceRptLimit" "3" - "A" "" "" "" "PROP_xilxPreTrceUncovPath" "" - "A" "" "" "" "PROP_xilxSynthAddIObuf" "true" - "A" "" "" "" "PROP_xilxSynthGlobOpt" "AllClockNets" - "A" "" "" "" "PROP_xilxSynthKeepHierarchy" "No" - "A" "" "" "" "PROP_xilxSynthKeepHierarchy_CPLD" "Yes" - "A" "" "" "" "PROP_xilxSynthMacroPreserve" "true" - "A" "" "" "" "PROP_xilxSynthRegBalancing" "No" - "A" "" "" "" "PROP_xilxSynthRegDuplication" "true" - "A" "" "" "" "PROP_xilxSynthXORPreserve" "true" - "A" "" "" "" "PROP_xilxTriStateBuffTXMode" "Off" - "A" "" "" "" "PROP_xstAsynToSync" "false" - "A" "" "" "" "PROP_xstAutoBRAMPacking" "false" - "A" "" "" "" "PROP_xstBRAMUtilRatio" "100" - "A" "" "" "" "PROP_xstBusDelimiter" "<>" - "A" "" "" "" "PROP_xstCase" "Maintain" - "A" "" "" "" "PROP_xstCoresSearchDir" "" - "A" "" "" "" "PROP_xstCrossClockAnalysis" "false" - "A" "" "" "" "PROP_xstEquivRegRemoval" "true" - "A" "" "" "" "PROP_xstFsmStyle" "LUT" - "A" "" "" "" "PROP_xstGenerateRTLNetlist" "Yes" - "A" "" "" "" "PROP_xstGenericsParameters" "" - "A" "" "" "" "PROP_xstHierarchySeparator" "/" - "A" "" "" "" "PROP_xstIniFile" "" - "A" "" "" "" "PROP_xstLibSearchOrder" "" - "A" "" "" "" "PROP_xstOptimizeInsPrimtives" "false" - "A" "" "" "" "PROP_xstPackIORegister" "Auto" - "A" "" "" "" "PROP_xstReadCores" "true" - "A" "" "" "" "PROP_xstSlicePacking" "true" - "A" "" "" "" "PROP_xstSliceUtilRatio" "100" - "A" "" "" "" "PROP_xstTristate2Logic" "Yes" - "A" "" "" "" "PROP_xstUseClockEnable" "Yes" - "A" "" "" "" "PROP_xstUseSyncReset" "Yes" - "A" "" "" "" "PROP_xstUseSyncSet" "Yes" - "A" "" "" "" "PROP_xstUseSynthConstFile" "true" - "A" "" "" "" "PROP_xstUserCompileList" "" - "A" "" "" "" "PROP_xstVeriIncludeDir_Global" "" - "A" "" "" "" "PROP_xstVerilog2001" "true" - "A" "" "" "" "PROP_xstVerilogMacros" "" - "A" "" "" "" "PROP_xstWorkDir" "./xst" - "A" "" "" "" "PROP_xstWriteTimingConstraints" "false" - "A" "" "" "" "PROP_xst_otherCmdLineOptions" "" - "A" "AutoGeneratedView" "VIEW_AbstractSimulation" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP" - "A" "AutoGeneratedView" "VIEW_AnalyzedDesign" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimIncreCompilation" "true" - "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" - "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" - "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimValueRangeCheck" "false" - "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_AnnotatedResultsModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_BehavioralSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_FPGAConfiguration" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_FPGAConfigureDevice" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_FPGAGeneratePROM" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Map" "" "PROP_SmartGuide" "false" - "A" "AutoGeneratedView" "VIEW_Map" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Par" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-MapAbstractSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-MapPreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-MapSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-ParAbstractSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" - "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimIncreCompilation" "true" - "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" - "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" - "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimValueRangeCheck" "false" - "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-ParSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-SynthesisAbstractSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-TranslateAbstractSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-TranslatePreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Post-TranslateSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_PostAbstractSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" - "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimIncreCompilation" "true" - "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" - "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifySearchDir" "" - "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" - "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimValueRangeCheck" "false" - "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Structural" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWBehavioralSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-MapPreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-MapSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" - "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimIncreCompilation" "true" - "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimValueRangeCheck" "false" - "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-ParSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-TranslatePreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWPost-TranslateSimulationModelSim" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" - "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimIncreCompilation" "true" - "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" - "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" - "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimValueRangeCheck" "false" - "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_Translation" "" "PROP_SmartGuide" "false" - "A" "AutoGeneratedView" "VIEW_Translation" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_UpdatedBitstream" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_XSTAbstractSynthesis" "" "PROP_SmartGuide" "false" - "A" "AutoGeneratedView" "VIEW_XSTAbstractSynthesis" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP" - "A" "AutoGeneratedView" "VIEW_XSTPreSynthesis" "" "PROP_TopDesignUnit" "" - "A" "AutoGeneratedView" "VIEW_XSTPreSynthesis" "" "PROP_xstVeriIncludeDir" "" - "A" "VIEW_Initial" "VIEW_Initial" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP" - "B" "" "" "" "PROP_AutoGenFile" "false" - "B" "" "" "" "PROP_DevFamily" "Virtex2P" - "B" "" "" "" "PROP_FitterOptimization_xpla3" "Density" - "B" "" "" "" "PROP_ISimCustomCompilationOrderFile" "" - "B" "" "" "" "PROP_ISimCustomSimCmdFileName_behav_tb" "" - "B" "" "" "" "PROP_ISimCustomSimCmdFileName_behav_tbw" "" - "B" "" "" "" "PROP_ISimCustomSimCmdFileName_gen_tbw" "" - "B" "" "" "" "PROP_ISimCustomSimCmdFileName_par_tb" "" - "B" "" "" "" "PROP_ISimCustomSimCmdFileName_par_tbw" "" - "B" "" "" "" "PROP_ISimGenVCDFile_par_tb" "false" - "B" "" "" "" "PROP_ISimGenVCDFile_par_tbw" "false" - "B" "" "" "" "PROP_ISimSimulationRun_behav_tb" "true" - "B" "" "" "" "PROP_ISimSimulationRun_behav_tbw" "true" - "B" "" "" "" "PROP_ISimSimulationRun_par_tb" "true" - "B" "" "" "" "PROP_ISimSimulationRun_par_tbw" "true" - "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_behav_tb" "false" - "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_behav_tbw" "false" - "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_par_tb" "false" - "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_par_tbw" "false" - "B" "" "" "" "PROP_MapEffortLevel" "Medium" - "B" "" "" "" "PROP_MapLogicOptimization" "false" - "B" "" "" "" "PROP_MapPlacerCostTable" "1" - "B" "" "" "" "PROP_MapRegDuplication" "false" - "B" "" "" "" "PROP_ModelSimConfigName" "Default" - "B" "" "" "" "PROP_ModelSimDataWin" "false" - "B" "" "" "" "PROP_ModelSimListWin" "false" - "B" "" "" "" "PROP_ModelSimProcWin" "false" - "B" "" "" "" "PROP_ModelSimSignalWin" "true" - "B" "" "" "" "PROP_ModelSimSimRes" "Default (1 ps)" - "B" "" "" "" "PROP_ModelSimSimRunTime_tb" "1000ns" - "B" "" "" "" "PROP_ModelSimSimRunTime_tbw" "1000ns" - "B" "" "" "" "PROP_ModelSimSourceWin" "false" - "B" "" "" "" "PROP_ModelSimStructWin" "true" - "B" "" "" "" "PROP_ModelSimUutInstName_postMap" "UUT" - "B" "" "" "" "PROP_ModelSimUutInstName_postPar" "UUT" - "B" "" "" "" "PROP_ModelSimVarsWin" "false" - "B" "" "" "" "PROP_ModelSimWaveWin" "true" - "B" "" "" "" "PROP_SimCustom_behav" "" - "B" "" "" "" "PROP_SimCustom_postMap" "" - "B" "" "" "" "PROP_SimCustom_postPar" "" - "B" "" "" "" "PROP_SimCustom_postXlate" "" - "B" "" "" "" "PROP_SimGenVcdFile" "false" - "B" "" "" "" "PROP_SimModelRenTopLevInstTo" "UUT" - "B" "" "" "" "PROP_SimSyntax" "93" - "B" "" "" "" "PROP_SimUseExpDeclOnly" "true" - "B" "" "" "" "PROP_SimUserCompileList_behav" "" - "B" "" "" "" "PROP_Simulator" "Modelsim-SE Mixed" - "B" "" "" "" "PROP_SynthConstraintsFile" "" - "B" "" "" "" "PROP_SynthMuxStyle" "Auto" - "B" "" "" "" "PROP_SynthRAMStyle" "Auto" - "B" "" "" "" "PROP_XPowerOptAdvancedVerboseRpt" "false" - "B" "" "" "" "PROP_XPowerOptMaxNumberLines" "1000" - "B" "" "" "" "PROP_XPowerOptUseTimeBased" "false" - "B" "" "" "" "PROP_bitgen_Encrypt_Encrypt" "false" - "B" "" "" "" "PROP_impactBaud" "None" - "B" "" "" "" "PROP_impactConfigMode" "None" - "B" "" "" "" "PROP_impactPort" "None" - "B" "" "" "" "PROP_parGenAsyDlyRpt" "false" - "B" "" "" "" "PROP_parGenClkRegionRpt" "false" - "B" "" "" "" "PROP_parGenSimModel" "false" - "B" "" "" "" "PROP_parGenTimingRpt" "true" - "B" "" "" "" "PROP_parMpprNodelistFile" "" - "B" "" "" "" "PROP_parMpprParIterations" "3" - "B" "" "" "" "PROP_parMpprResultsDirectory" "" - "B" "" "" "" "PROP_parMpprResultsToSave" "" - "B" "" "" "" "PROP_parPowerReduction" "false" - "B" "" "" "" "PROP_vcom_otherCmdLineOptions" "" - "B" "" "" "" "PROP_vlog_otherCmdLineOptions" "" - "B" "" "" "" "PROP_vsim_otherCmdLineOptions" "" - "B" "" "" "" "PROP_xcpldFitDesInReg_xbr" "true" - "B" "" "" "" "PROP_xcpldFitDesPtermLmt_xbr" "28" - "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_DbgBitStr" "false" - "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_LogicAllocFile" "false" - "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_MaskFile" "false" - "B" "" "" "" "PROP_xilxBitgReadBk_GenBitStr" "false" - "B" "" "" "" "PROP_xilxMapPackfactor" "100" - "B" "" "" "" "PROP_xilxPAReffortLevel" "Standard" - "B" "" "" "" "PROP_xstMoveFirstFfStage" "true" - "B" "" "" "" "PROP_xstMoveLastFfStage" "true" - "B" "" "" "" "PROP_xstROMStyle" "Auto" - "B" "" "" "" "PROP_xstSafeImplement" "No" - "B" "AutoGeneratedView" "VIEW_Map" "" "PROP_ParSmartGuideFileName" "" - "B" "AutoGeneratedView" "VIEW_Translation" "" "PROP_MapSmartGuideFileName" "" - "C" "" "" "" "PROP_AceActiveName" "" - "C" "" "" "" "PROP_CompxlibLang" "All" - "C" "" "" "" "PROP_CompxlibSmartModels" "true" - "C" "" "" "" "PROP_CompxlibUpdateIniForSmartModel" "false" - "C" "" "" "" "PROP_DevDevice" "xc2vp7" - "C" "" "" "" "PROP_DevFamilyPMName" "virtex2p" - "C" "" "" "" "PROP_ISimSimulationRunTime_behav_tb" "1000 ns" - "C" "" "" "" "PROP_ISimSimulationRunTime_behav_tbw" "1000 ns" - "C" "" "" "" "PROP_ISimSimulationRunTime_par_tb" "1000 ns" - "C" "" "" "" "PROP_ISimSimulationRunTime_par_tbw" "1000 ns" - "C" "" "" "" "PROP_ISimVCDFileName_par_tb" "xpower.vcd" - "C" "" "" "" "PROP_ISimVCDFileName_par_tbw" "xpower.vcd" - "C" "" "" "" "PROP_MapExtraEffort" "None" - "C" "" "" "" "PROP_SimModelGenMultiHierFile" "false" - "C" "" "" "" "PROP_XPowerOptBaseTimeUnit" "ps" - "C" "" "" "" "PROP_XPowerOptNumberOfUnits" "1" - "C" "" "" "" "PROP_bitgen_Encrypt_key0" "" - "C" "" "" "" "PROP_bitgen_Encrypt_key1" "" - "C" "" "" "" "PROP_bitgen_Encrypt_key2" "" - "C" "" "" "" "PROP_bitgen_Encrypt_key3" "" - "C" "" "" "" "PROP_bitgen_Encrypt_key4" "" - "C" "" "" "" "PROP_bitgen_Encrypt_key5" "" - "C" "" "" "" "PROP_bitgen_Encrypt_keyFile" "" - "C" "" "" "" "PROP_impactConfigFileName" "" - "C" "" "" "" "PROP_xilxBitgCfg_GenOpt_ReadBack_virtex2" "false" - "C" "" "" "" "PROP_xilxPARextraEffortLevel" "None" - "D" "" "" "" "PROP_CompxlibUni9000Lib" "true" - "D" "" "" "" "PROP_CompxlibUniSimLib" "true" - "D" "" "" "" "PROP_DevPackage" "fg456" - "D" "" "" "" "PROP_Synthesis_Tool" "XST (VHDL/Verilog)" - "D" "" "" "" "PROP_xilxBitgCfg_GenOpt_LogicAllocFile_virtex2" "false" - "D" "" "" "" "PROP_xilxBitgCfg_GenOpt_MaskFile_virtex2" "false" - "D" "" "" "" "PROP_xilxBitgReadBk_GenBitStr_virtex2" "false" - "E" "" "" "" "PROP_DevSpeed" "-6" - "E" "" "" "" "PROP_PreferredLanguage" "Verilog" - "F" "" "" "" "PROP_ChangeDevSpeed" "-6" - "F" "" "" "" "PROP_SimModelTarget" "Verilog" - "F" "" "" "" "PROP_tbwTestbenchTargetLang" "Verilog" - "F" "" "" "" "PROP_xilxPostTrceSpeed" "-6" - "F" "" "" "" "PROP_xilxPreTrceSpeed" "-6" - "G" "" "" "" "PROP_PostSynthSimModelName" "_synthesis.v" - "G" "" "" "" "PROP_SimModelAutoInsertGlblModuleInNetlist" "true" - "G" "" "" "" "PROP_SimModelGenArchOnly" "false" - "G" "" "" "" "PROP_SimModelIncSdfAnnInVerilogFile" "true" - "G" "" "" "" "PROP_SimModelIncSimprimInVerilogFile" "false" - "G" "" "" "" "PROP_SimModelIncUnisimInVerilogFile" "false" - "G" "" "" "" "PROP_SimModelIncUselibDirInVerilogFile" "false" - "G" "" "" "" "PROP_SimModelNoEscapeSignal" "false" - "G" "" "" "" "PROP_SimModelOutputExtIdent" "false" - "G" "" "" "" "PROP_SimModelRenTopLevArchTo" "Structure" - "G" "" "" "" "PROP_SimModelRenTopLevMod" "" - "G" "AutoGeneratedView" "VIEW_Map" "" "PROP_PostMapSimModelName" "_map.v" - "G" "AutoGeneratedView" "VIEW_Par" "" "PROP_PostParSimModelName" "_timesim.v" - "G" "AutoGeneratedView" "VIEW_Post-MapAbstractSimulation" "" "PROP_tbwPostMapTestbenchName" "" - "G" "AutoGeneratedView" "VIEW_Post-ParAbstractSimulation" "" "PROP_tbwPostParTestbenchName" "" - "G" "AutoGeneratedView" "VIEW_Post-TranslateAbstractSimulation" "" "PROP_tbwPostXlateTestbenchName" "" - "G" "AutoGeneratedView" "VIEW_TBWPost-MapPreSimulation" "" "PROP_tbwPostMapTestbenchName" "" - "G" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_tbwPostParTestbenchName" "" - "G" "AutoGeneratedView" "VIEW_TBWPost-TranslatePreSimulation" "" "PROP_tbwPostXlateTestbenchName" "" - "G" "AutoGeneratedView" "VIEW_Translation" "" "PROP_PostXlateSimModelName" "_translate.v" - "H" "" "" "" "PROP_SimModelBringOutGsrNetAsAPort" "false" - "H" "" "" "" "PROP_SimModelBringOutGtsNetAsAPort" "false" - "H" "" "" "" "PROP_SimModelPathUsedInSdfAnn" "Default" - "H" "AutoGeneratedView" "VIEW_Map" "" "PROP_SimModelRenTopLevEntTo" "" - "H" "AutoGeneratedView" "VIEW_Par" "" "PROP_SimModelRenTopLevEntTo" "" - "H" "AutoGeneratedView" "VIEW_Structural" "" "PROP_SimModelRenTopLevEntTo" "" - "H" "AutoGeneratedView" "VIEW_Translation" "" "PROP_SimModelRenTopLevEntTo" "" - "I" "" "" "" "PROP_SimModelGsrPortName" "GSR_PORT" - "I" "" "" "" "PROP_SimModelGtsPortName" "GTS_PORT" - "I" "" "" "" "PROP_SimModelRocPulseWidth" "100" - "I" "" "" "" "PROP_SimModelTocPulseWidth" "0"} - - HandleException { - RestoreProcessProperties $iProjHelper $process_props - } "A problem occured while restoring process properties." - - # library names and their members - set libraries { - "interrupt_control_v1_00_a" - { - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd" - } - "opb_ipif_v3_01_c" - { - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" - } - "proc_common_v2_00_a" - { - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd" - } - "rdpfifo_v1_01_b" - { - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" - } - "s3e_vga_char_dev_v1_00_a" - { - "../../hdl/vhdl/s3e_vga_char_dev.vhd" - } - "wrpfifo_v1_01_b" - { - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd" - "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" - } - } - - HandleException { - RestoreSourceLibraries $iProjHelper $libraries - } "A problem occured while restoring source libraries." - - # Close the facilitator project. - CloseFacilProject $iProjHelper - - # Open the restored project in the user's client application, - # which will either be the Projnav GUI or xtclsh. - project open $project_file - - # Let the user know about the backed up project file. - INFO "The project \"$project_file\" was backed up as \"$backup_file\"." - INFO "Please open a Technical Support WebCase at" - INFO "www.xilinx.com/support/clearexpress/websupport.htm" - INFO "and submit this file, along with the project source files, for evaluation." -} - Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup =================================================================== --- trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup (revision 3) +++ trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup (nonexistent)
trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli =================================================================== --- trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli (revision 3) +++ trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli (nonexistent) @@ -1,103 +0,0 @@ -NewProject(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise) -SetProperty(Device Family, virtex2p) -SetProperty(Device, xc2vp7) -SetProperty(Package, fg456) -SetProperty(Speed Grade, -6) -SetProperty(Top-Level Module Type, HDL) -SetProperty(Synthesis Tool, XST (VHDL/Verilog)) -SetProperty(Simulator, Modelsim-SE Mixed) -SetPreference(PathType, Absolute) -AddLibrary(s3e_vga_char_dev_v1_00_a, D:/custom_pulse_generator/standalone_pulse_generator/pcores, TRUE) -AddSource(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd, VHDL Module) -MoveToLibrary(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd, s3e_vga_char_dev_v1_00_a) -AddSource(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v, Verilog Module) -AddLibrary(proc_common_v2_00_a, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd, proc_common_v2_00_a) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd, proc_common_v2_00_a) -AddLibrary(interrupt_control_v1_00_a, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd, interrupt_control_v1_00_a) -AddLibrary(wrpfifo_v1_01_b, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd, wrpfifo_v1_01_b) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd, wrpfifo_v1_01_b) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd, wrpfifo_v1_01_b) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd, wrpfifo_v1_01_b) -AddLibrary(rdpfifo_v1_01_b, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd, rdpfifo_v1_01_b) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd, rdpfifo_v1_01_b) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd, rdpfifo_v1_01_b) -AddLibrary(opb_ipif_v3_01_c, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd, opb_ipif_v3_01_c) -AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd, VHDL Module) -MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd, opb_ipif_v3_01_c) -CloseProject() Index: trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log =================================================================== --- trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log (revision 3) +++ trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log (nonexistent) @@ -1,346 +0,0 @@ - ----------------------------------------------------------------------------- --- Design Analysis -- ----------------------------------------------------------------------------- -Analyze pcore s3e_vga_char_dev ... - - ----------------------------------------------------------------------------- --- File Generation -- ----------------------------------------------------------------------------- -Creating HDL source directory ... -Generating top peripheral VHDL template ... -Generating stub user logic Verilog template ... -HDL templates successfully generated ... -Creating data directory ... -Generating XPS inteface files ... -WARNING:HDLParsers:3497 - Ignoring Verilog File - "D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev - _v1_00_a/data/../hdl/verilog/user_logic.v" -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut -4.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_b -it.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit -.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.v -hd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_count -er.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_ -pkg.vhd" in Library proc_common_v2_00_a. -Package compiled. -Package body compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_count -er_top.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_t -op.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd -" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit. -vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd -" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" -in Library proc_common_v2_00_a. -Package compiled. -Package body compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" -in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" -in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vh -d" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_sel -ect.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.v -hd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" -in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd -" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg -.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.v -hd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter -.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd -" in Library proc_common_v2_00_a. -Package compiled. -Package body compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.v -hd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_ -cntr_ai.vhd" in Library proc_common_v2_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" -in Library wrpfifo_v1_01_b. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd. -vhd" in Library rdpfifo_v1_01_b. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl. -vhd" in Library rdpfifo_v1_01_b. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr. -vhd" in Library wrpfifo_v1_01_b. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl. -vhd" in Library wrpfifo_v1_01_b. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_c -ntr.vhd" in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" -in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vh -d" in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" -in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr. -vhd" in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_ -reg.vhd" in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" -in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interr -upt_control.vhd" in Library interrupt_control_v1_00_a. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" -in Library wrpfifo_v1_01_b. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" -in Library rdpfifo_v1_01_b. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" in -Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" -in Library opb_ipif_v3_01_c. -Entity compiled. -Entity (Architecture ) compiled. -Compiling vhdl file -"D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1 -_00_a/data/../hdl/vhdl/s3e_vga_char_dev.vhd" in Library -s3e_vga_char_dev_v1_00_a. -Entity compiled. -Entity (Architecture ) compiled. - - -Analyzing HDL attributes ... -INFO:MDT - IPTYPE set to value : PERIPHERAL -INFO:MDT - IMP_NETLIST set to value : TRUE -INFO:MDT - HDL set to value : VHDL -WARNING:MDT - Unable to delete temparary XST project file - D:\custom_pulse_generator\standalone_pulse_generator\pcores\s3e_vga_char_dev_ - v1_00_a\data\_s3e_vga_char_dev_xst.prj : 13 -XPS interface files successfully generated ... -Creating development directory ... -Generating command option file ... -Generating readme file ... -Development misc files successfully generated ... -Creating projnav directory ... -Generating ProjNav support files ... -ProjNav support files successfully generated ... -Creating synthesis directory ... -Generating XST synthesis support files ... -XST synthesis support files successfully generated ... -No BFM simulation files will be generated at this time ... -Creating software driver data directory ... -Generating software driver XPS interface (mdd/tcl) files ... -Software driver data definition file (.mdd) successfully generated ... -Software driver data generation file (.tcl) successfully generated ... -Creating software driver src directory ... -Generating software driver template files ... -Software driver compile file (Makefile) successfully generated ... -output user slave register(s) offset to software driver header ... -output IPIF software reset/module identification register(s) offset to software -driver header ... -Software driver header file (.h) successfully generated ... -Software driver source file (.c) successfully generated ... -Software driver SelfTest file (.c) successfully generated ... -Software driver template files successfully generated ... - ----------------------------------------------------------------------------- --- Final Report -- ----------------------------------------------------------------------------- -Thank you for using Create and Import Peripheral Wizard! Please find your -peripheral hardware templates under -D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ -00_a and peripheral software templates under -D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1 -_00_a respectively. - -Peripheral Summary: - - top name : s3e_vga_char_dev - version : 1.00.a - type : OPB slave - features : slave attachement - mir/rst register - user s/w registers - -Address Block Summary: - - user logic slv : C_BASEADDR + 0x00000000 - : C_BASEADDR + 0x000000FF - mir/reset reg : C_BASEADDR + 0x00000100 - : C_BASEADDR + 0x000001FF - -File Summary - - - HDL source - -D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ -00_a/hdl - top entity : vhdl/s3e_vga_char_dev.vhd - user logic : verilog/user_logic.v - - - XPS interface - -D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ -00_a/data - mpd : s3e_vga_char_dev_v2_1_0.mpd - pao : s3e_vga_char_dev_v2_1_0.pao - - - ISE project - -D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ -00_a/devl/projnav - ise project : s3e_vga_char_dev.npl - cli command : s3e_vga_char_dev.cli - - - - XST synthesis - -D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ -00_a/devl/synthesis - xst script : s3e_vga_char_dev_xst.scr - xst project : s3e_vga_char_dev_xst.prj - - - Misc file - -D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ -00_a/devl - help : README.txt - option : ipwiz.opt - log : ipwiz.log - - - Driver source - -D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1 -_00_a/src - makefile : Makefile - header : s3e_vga_char_dev.h - source : s3e_vga_char_dev.c - selftest : s3e_vga_char_dev_selftest.c - - - Driver interface - -D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1 -_00_a/data - mdd : s3e_vga_char_dev_v2_1_0.mdd - tcl : s3e_vga_char_dev_v2_1_0.tcl - - Index: trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt =================================================================== --- trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt (revision 3) +++ trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt (nonexistent) @@ -1,11 +0,0 @@ --batch --create s3e_vga_char_dev --ver 1.00.a --dir "D:\custom_pulse_generator\standalone_pulse_generator" --lang verilog --bus opb s --rstmir --regn 2 32 --xps --ise --driver Index: trunk/s3e_vga_char_dev_v1_00_a.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/s3e_vga_char_dev_v1_00_a.zip =================================================================== --- trunk/s3e_vga_char_dev_v1_00_a.zip (revision 3) +++ trunk/s3e_vga_char_dev_v1_00_a.zip (nonexistent)
trunk/s3e_vga_char_dev_v1_00_a.zip Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: trunk/microblaze_functions.txt =================================================================== --- trunk/microblaze_functions.txt (revision 3) +++ trunk/microblaze_functions.txt (nonexistent) @@ -1,55 +0,0 @@ - #define VGA_LINES_PER_ROW 75 - unsigned char vga_current_line = 0; - unsigned char vga_current_row = 0; - unsigned char VGAcolor; - - PutVGAChar(unsigned char CH, char color) - { - VGAcolor = color; - WriteVGAData(CH); - } - - WriteVGAData(Data) - { - Xuint32 VGAAddress; - - VGAAddress = (((vga_current_row * VGA_LINES_PER_ROW) + vga_current_line) << 18); // Character location - VGAAddress = VGAAddress + (VGAcolor << 14); // 7 is the foreground color white - VGAAddress = VGAAddress + (Data << 6); // The character to write - WriteREG (XPAR_S3E_VGA_CHAR_DEV_0_BASEADDR,USER,0x0,VGAAddress); - - vga_current_line = vga_current_line + 1; - if (vga_current_line > VGA_LINES_PER_ROW) { - vga_current_line = 0; - vga_current_row = vga_current_row + 1; - } - } - - WriteVGAString(char*STR, char color) - { - int i=0; - Xuint32 VGAAddress; - - while (STR[i]!='\0') - { - VGAcolor = color; - WriteVGAData(STR[i]); - i++; - } - VGAcolor = color; - WriteVGAData(0x20); - } - - //---------------------------------------------------------------------------------- - // - // Colors are controlled through the lower four bits of the color parameter. - // Bit zero (the LSB) controls the red portion of the color (on or off). - // Bit one controls green, bit two controls blue. - // Bit three, if set, inverts the character. - // - //---------------------------------------------------------------------------------- - - // Example Call: - vga_current_row = 0; - vga_current_line = 0; - WriteVGAString("Testing VGA Generator Core",0x7); // White, noninverted \ No newline at end of file Index: opb_vga_char_display_nodac/trunk/microblaze_functions.txt =================================================================== --- opb_vga_char_display_nodac/trunk/microblaze_functions.txt (nonexistent) +++ opb_vga_char_display_nodac/trunk/microblaze_functions.txt (revision 4) @@ -0,0 +1,55 @@ + #define VGA_LINES_PER_ROW 75 + unsigned char vga_current_line = 0; + unsigned char vga_current_row = 0; + unsigned char VGAcolor; + + PutVGAChar(unsigned char CH, char color) + { + VGAcolor = color; + WriteVGAData(CH); + } + + WriteVGAData(Data) + { + Xuint32 VGAAddress; + + VGAAddress = (((vga_current_row * VGA_LINES_PER_ROW) + vga_current_line) << 18); // Character location + VGAAddress = VGAAddress + (VGAcolor << 14); // 7 is the foreground color white + VGAAddress = VGAAddress + (Data << 6); // The character to write + WriteREG (XPAR_S3E_VGA_CHAR_DEV_0_BASEADDR,USER,0x0,VGAAddress); + + vga_current_line = vga_current_line + 1; + if (vga_current_line > VGA_LINES_PER_ROW) { + vga_current_line = 0; + vga_current_row = vga_current_row + 1; + } + } + + WriteVGAString(char*STR, char color) + { + int i=0; + Xuint32 VGAAddress; + + while (STR[i]!='\0') + { + VGAcolor = color; + WriteVGAData(STR[i]); + i++; + } + VGAcolor = color; + WriteVGAData(0x20); + } + + //---------------------------------------------------------------------------------- + // + // Colors are controlled through the lower four bits of the color parameter. + // Bit zero (the LSB) controls the red portion of the color (on or off). + // Bit one controls green, bit two controls blue. + // Bit three, if set, inverts the character. + // + //---------------------------------------------------------------------------------- + + // Example Call: + vga_current_row = 0; + vga_current_line = 0; + WriteVGAString("Testing VGA Generator Core",0x7); // White, noninverted \ No newline at end of file Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/gpl.txt =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/gpl.txt (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/gpl.txt (revision 4) @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v (revision 4) @@ -0,0 +1,2488 @@ +`include "SVGA_DEFINES.v" + +//---------------------------------------------------------------------------- +// user_logic.v - module +//---------------------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +//---------------------------------------------------------------------------- +// Filename: user_logic.v +// Version: 1.00.a +// Description: User logic module. +// Date: Wed Sep 12 16:22:49 2007 (by Create and Import Peripheral Wizard) +// Verilog Standard: Verilog-2001 +//---------------------------------------------------------------------------- +// Naming Conventions: +// active low signals: "*_n" +// clock signals: "clk", "clk_div#", "clk_#x" +// reset signals: "rst", "rst_n" +// generics: "C_*" +// user defined types: "*_TYPE" +// state machine next state: "*_ns" +// state machine current state: "*_cs" +// combinatorial signals: "*_com" +// pipelined or register delay signals: "*_d#" +// counter signals: "*cnt*" +// clock enable signals: "*_ce" +// internal version of output port: "*_i" +// device pins: "*_pin" +// ports: "- Names begin with Uppercase" +// processes: "*_PROCESS" +// component instantiations: "I_<#|FUNC>" +//---------------------------------------------------------------------------- + +module user_logic +( + // -- ADD USER PORTS BELOW THIS LINE --------------- + // --USER ports added here + fifty_clock_in, + VGA_HSYNCH, + VGA_VSYNCH, + VGA_OUT_RED, + VGA_OUT_GREEN, + VGA_OUT_BLUE, + // -- ADD USER PORTS ABOVE THIS LINE --------------- + + // -- DO NOT EDIT BELOW THIS LINE ------------------ + // -- Bus protocol ports, do not add to or delete + Bus2IP_Clk, // Bus to IP clock + Bus2IP_Reset, // Bus to IP reset + Bus2IP_Data, // Bus to IP data bus for user logic + Bus2IP_BE, // Bus to IP byte enables for user logic + Bus2IP_RdCE, // Bus to IP read chip enable for user logic + Bus2IP_WrCE, // Bus to IP write chip enable for user logic + IP2Bus_Data, // IP to Bus data bus for user logic + IP2Bus_Ack, // IP to Bus acknowledgement + IP2Bus_Retry, // IP to Bus retry response + IP2Bus_Error, // IP to Bus error response + IP2Bus_ToutSup // IP to Bus timeout suppress + // -- DO NOT EDIT ABOVE THIS LINE ------------------ +); // user_logic + +// -- ADD USER PARAMETERS BELOW THIS LINE ------------ +// --USER parameters added here +// -- ADD USER PARAMETERS ABOVE THIS LINE ------------ + +// -- DO NOT EDIT BELOW THIS LINE -------------------- +// -- Bus protocol parameters, do not add to or delete +parameter C_DWIDTH = 32; +parameter C_NUM_CE = 2; +// -- DO NOT EDIT ABOVE THIS LINE -------------------- + +// -- ADD USER PORTS BELOW THIS LINE ----------------- +// --USER ports added here +input fifty_clock_in; +output VGA_HSYNCH; +output VGA_VSYNCH; +output VGA_OUT_RED; +output VGA_OUT_GREEN; +output VGA_OUT_BLUE; +// -- ADD USER PORTS ABOVE THIS LINE ----------------- + +// -- DO NOT EDIT BELOW THIS LINE -------------------- +// -- Bus protocol ports, do not add to or delete +input Bus2IP_Clk; +input Bus2IP_Reset; +input [0 : C_DWIDTH-1] Bus2IP_Data; +input [0 : C_DWIDTH/8-1] Bus2IP_BE; +input [0 : C_NUM_CE-1] Bus2IP_RdCE; +input [0 : C_NUM_CE-1] Bus2IP_WrCE; +output [0 : C_DWIDTH-1] IP2Bus_Data; +output IP2Bus_Ack; +output IP2Bus_Retry; +output IP2Bus_Error; +output IP2Bus_ToutSup; +// -- DO NOT EDIT ABOVE THIS LINE -------------------- + +//---------------------------------------------------------------------------- +// Implementation +//---------------------------------------------------------------------------- + + // --USER nets declarations added here, as needed for user logic + + // Nets for user logic slave model s/w accessible register example + reg [0 : C_DWIDTH-1] slv_reg0; + reg [0 : C_DWIDTH-1] slv_reg1; + wire [0 : 1] slv_reg_write_select; + wire [0 : 1] slv_reg_read_select; + reg [0 : C_DWIDTH-1] slv_ip2bus_data; + wire slv_read_ack; + wire slv_write_ack; + integer byte_index, bit_index; + + // --USER logic implementation added here + + // ------------------------------------------------------ + // Example code to read/write user logic slave model s/w accessible registers + // + // Note: + // The example code presented here is to show you one way of reading/writing + // software accessible registers implemented in the user logic slave model. + // Each bit of the Bus2IP_WrCE/Bus2IP_RdCE signals is configured to correspond + // to one software accessible register by the top level template. For example, + // if you have four 32 bit software accessible registers in the user logic, you + // are basically operating on the following memory mapped registers: + // + // Bus2IP_WrCE or Memory Mapped + // Bus2IP_RdCE Register + // "1000" C_BASEADDR + 0x0 + // "0100" C_BASEADDR + 0x4 + // "0010" C_BASEADDR + 0x8 + // "0001" C_BASEADDR + 0xC + // + // ------------------------------------------------------ + + assign + slv_reg_write_select = Bus2IP_WrCE[0:1], + slv_reg_read_select = Bus2IP_RdCE[0:1], + slv_write_ack = Bus2IP_WrCE[0] || Bus2IP_WrCE[1], + slv_read_ack = Bus2IP_RdCE[0] || Bus2IP_RdCE[1]; + + // implement slave model register(s) + always @( posedge Bus2IP_Clk ) + begin: SLAVE_REG_WRITE_PROC + + if ( Bus2IP_Reset == 1 ) + begin + slv_reg0 <= 0; + slv_reg1 <= 0; + end + else + case ( slv_reg_write_select ) + 2'b10 : + for ( byte_index = 0; byte_index <= (C_DWIDTH/8)-1; byte_index = byte_index+1 ) + if ( Bus2IP_BE[byte_index] == 1 ) + for ( bit_index = byte_index*8; bit_index <= byte_index*8+7; bit_index = bit_index+1 ) + slv_reg0[bit_index] <= Bus2IP_Data[bit_index]; + 2'b01 : + for ( byte_index = 0; byte_index <= (C_DWIDTH/8)-1; byte_index = byte_index+1 ) + if ( Bus2IP_BE[byte_index] == 1 ) + for ( bit_index = byte_index*8; bit_index <= byte_index*8+7; bit_index = bit_index+1 ) + slv_reg1[bit_index] <= Bus2IP_Data[bit_index]; + default : ; + endcase + + end // SLAVE_REG_WRITE_PROC + + // implement slave model register read mux + always @( slv_reg_read_select or slv_reg0 or slv_reg1 ) + begin: SLAVE_REG_READ_PROC + + case ( slv_reg_read_select ) + 2'b10 : slv_ip2bus_data <= slv_reg0; + 2'b01 : slv_ip2bus_data <= slv_reg1; + default : slv_ip2bus_data <= 0; + endcase + + end // SLAVE_REG_READ_PROC + + // ------------------------------------------------------------ + // Example code to drive IP to Bus signals + // ------------------------------------------------------------ + + assign IP2Bus_Data = slv_ip2bus_data; + assign IP2Bus_Ack = slv_write_ack || slv_read_ack; + assign IP2Bus_Error = 0; + assign IP2Bus_Retry = 0; + assign IP2Bus_ToutSup = 0; + + S3E_VGA_CHAR_DEVICE S3E_VGA_CHAR_DEVICE(.SYSTEM_CLOCK(fifty_clock_in), .VGA_HSYNCH(VGA_HSYNCH), + .VGA_VSYNCH(VGA_VSYNCH), .VGA_OUT_RED(VGA_OUT_RED), .VGA_OUT_GREEN(VGA_OUT_GREEN), + .VGA_OUT_BLUE(VGA_OUT_BLUE), .address(slv_reg0[0:13]), .character(slv_reg0[14:25]), .loadit(1)); + +endmodule + +//------------------------------------------------------------------------ + +module S3E_VGA_CHAR_DEVICE +( +SYSTEM_CLOCK, + +VGA_HSYNCH, +VGA_VSYNCH, +VGA_OUT_RED, +VGA_OUT_GREEN, +VGA_OUT_BLUE, + +address, +character, +loadit +); + +input SYSTEM_CLOCK; // 100MHz LVTTL SYSTEM CLOCK + +output VGA_HSYNCH; // horizontal sync for the VGA output connector +output VGA_VSYNCH; // vertical sync for the VGA output connector +output VGA_OUT_RED; // RED DAC data +output VGA_OUT_GREEN; // GREEN DAC data +output VGA_OUT_BLUE; // BLUE DAC data + +input [13:0] address; +input [11:0] character; +input loadit; + +wire system_clock_buffered; // buffered SYSTEM CLOCK +wire pixel_clock; // generated from SYSTEM CLOCK +wire reset; // reset asserted when DCMs are NOT LOCKED + +wire vga_red_data; // red video data +wire vga_green_data; // green video data +wire vga_blue_data; // blue video data + +// internal video timing signals +wire h_synch; // horizontal synch for VGA connector +wire v_synch; // vertical synch for VGA connector +wire blank; // composite blanking +wire [10:0] pixel_count; // bit mapped pixel position within the line +wire [9:0] line_count; // bit mapped line number in a frame lines within the frame +wire [2:0] subchar_pixel; // pixel position within the character +wire [2:0] subchar_line; // identifies the line number within a character block +wire [6:0] char_column; // character number on the current line +wire [6:0] char_line; // line number on the screen + +// instantiate the character generator +CHAR_DISPLAY CHAR_DISPLAY +( +char_column, +char_line, +subchar_line, +subchar_pixel, +pixel_clock, +reset, +vga_red_data, +vga_green_data, +vga_blue_data, +address, +character, +loadit +); + +// instantiate the clock generation module +CLOCK_GEN CLOCK_GEN +( +SYSTEM_CLOCK, +system_clock_buffered, +pixel_clock, +reset +); + +// instantiate the video timing generator +SVGA_TIMING_GENERATION SVGA_TIMING_GENERATION +( +pixel_clock, +reset, +h_synch, +v_synch, +blank, +pixel_count, +line_count, +subchar_pixel, +subchar_line, +char_column, +char_line +); + +// instantiate the video output mux +VIDEO_OUT VIDEO_OUT +( +pixel_clock, +reset, +vga_red_data, +vga_green_data, +vga_blue_data, +h_synch, +v_synch, +blank, + +VGA_HSYNCH, +VGA_VSYNCH, +VGA_OUT_RED, +VGA_OUT_GREEN, +VGA_OUT_BLUE +); + +endmodule // MAIN + +//--------------------------------------------------------- + +module CHAR_DISPLAY +( +char_column, +char_line, +subchar_line, +subchar_pixel, +pixel_clock, +reset, +vga_red_data, +vga_green_data, +vga_blue_data, +address, +character, +loadit +); + +input [6:0] char_column; // character number on the current line +input [6:0] char_line; // line number on the screen +input [2:0] subchar_line; // the line number within a character block 0-8 +input [2:0] subchar_pixel; // the pixel number within a character block 0-8 +input pixel_clock; +input reset; +output vga_red_data; +output vga_green_data; +output vga_blue_data; + +input [13:0] address; +input [11:0] character; +input loadit; + +//// Label Definitions //// + +// Note: all labels must match their defined length--shorter labels will be padded with solid blocks, +// and longer labels will be truncated + +wire write_enable; // character memory is written to on a clock rise when high +assign write_enable = loadit; + +// The character write address +reg [13:0] char_addr; + +//wire [13:0] my_char_read_addr = {char_line[6:0], char_column[6:0]}; +//wire [13:0] my_char_read_addr = {char_line[6:0], char_column[5:0]}; +wire [13:0] my_char_read_addr = (char_line[6:0] * 75) + char_column[6:0]; + +wire pixel_on; // high => output foreground color, low => output background color +reg [13:0] char_write_data; // the data that will be written to character memory at the clock rise +reg char_addr_is_0; + +reg [3:0] hex; // the 4 bit value to be converted into ASCII +wire [7:0] ascii; // the result of the conversion to ASCII +integer i, ii; // iterators + +wire fore_red; +wire fore_green; +wire fore_blue; +wire back_red; +wire back_green; +wire back_blue; + +// write the appropriate character data to memory +always @ (char_line or char_column) begin + char_write_data <= character; + char_addr <= address[13:0]; +end + + +wire background_red; // the red component of the background color +wire background_green; // the green component of the background color +wire background_blue; // the blue component of the background color +wire foreground_red; // the red component of the foreground color +wire foreground_green; // the green component of the foreground color +wire foreground_blue; // the blue component of the foreground color + +// use the result of the character generator module to choose between the foreground and background color +assign vga_red_data = (pixel_on) ? foreground_red : background_red; +assign vga_green_data = (pixel_on) ? foreground_green : background_green; +assign vga_blue_data = (pixel_on) ? foreground_blue : background_blue; + +assign foreground_red = (back_red) ? 0 : fore_red; // If the invert signal is 1, then foreground is 0 +assign foreground_green = (back_red) ? 0 : fore_green; +assign foreground_blue = (back_red) ? 0 : fore_blue; + +assign background_red = (back_red) ? fore_red : 0; // If invert is 1, then the background is the values passed +assign background_green = (back_red) ? fore_green : 0; +assign background_blue = (back_red) ? fore_blue : 0; + +// the character generator block includes the character RAM +// and the character generator ROM +CHAR_GEN CHAR_GEN +( +reset, // reset signal +char_addr, // write address +char_write_data, // write data +write_enable, // write enable +pixel_clock, // write clock +my_char_read_addr,// read address of current character +subchar_line, // current line of pixels within current character +subchar_pixel, // current column of pixels withing current character +pixel_clock, // read clock +pixel_on, // read data +fore_red, +fore_green, +fore_blue, +back_red, +back_green, +back_blue +); + +endmodule //CHAR_DISPLAY + +//------------------------------------------------------- + +module CHAR_GEN( +// control +reset, +// write side +char_write_addr, +char_write_data, +char_write_enable, +char_write_clock, +// read side +char_address, +subchar_line, +subchar_pixel, +pixel_clock, +pixel_on, + +fore_red, +fore_green, +fore_blue, +back_red, +back_green, +back_blue +); + +input pixel_clock; +input reset; +input [2:0] subchar_line; // line number within 8 line block +input [13:0] char_address; // character address "0" is upper left character +input [2:0] subchar_pixel; // pixel position within 8 pixel block +input [13:0] char_write_addr; +input [11:0] char_write_data; +input char_write_enable; +input char_write_clock; +output pixel_on; + +output fore_red; +output fore_green; +output fore_blue; +output back_red; +output back_green; +output back_blue; + +reg latch_data; +reg latch_low_data; +reg shift_high; +reg shift_low; +reg [3:0] latched_low_char_data; +reg [7:0] latched_char_data; +reg pixel_on; + +wire [11:0] ascii_code; +wire [10:0] chargen_rom_address = {ascii_code[7:0], subchar_line[2:0]}; +wire [7:0] char_gen_rom_data; + +// instantiate the CHARACTER RAM +CHAR_RAM CHAR_RAM +( +char_write_clock, +char_write_enable, +char_write_addr, +char_write_data, + +pixel_clock, +char_address, +ascii_code +); + +//assign back_red = ascii_code[10]; +//assign back_green = ascii_code[9]; +//assign back_blue = ascii_code[8]; + +//assign back_red = 0; +assign back_green = 0; +assign back_blue = 0; + +assign fore_red = ascii_code[8]; +assign fore_green = ascii_code[9]; +assign fore_blue = ascii_code[10]; +assign back_red = ascii_code[11]; + +// instantiate the character generator ROM +CHAR_GEN_ROM CHAR_GEN_ROM +( +pixel_clock, +chargen_rom_address, +char_gen_rom_data +); + +// LATCH THE CHARTACTER DATA FROM THE CHAR GEN ROM AND CREATE A SERIAL CHAR DATA STREAM +always @ (posedge pixel_clock or posedge reset)begin + if (reset) begin + latch_data <= 1'b0; + end + else if (subchar_pixel == 3'b110) begin + latch_data <= 1'b1; + end + else if (subchar_pixel == 3'b111) begin + latch_data <= 1'b0; + end + end + +always @ (posedge pixel_clock or posedge reset)begin + if (reset) begin + latch_low_data <= 1'b0; + end + else if (subchar_pixel == 3'b010) begin + latch_low_data <= 1'b1; + end + else if (subchar_pixel == 3'b011) begin + latch_low_data <= 1'b0; + end + end + +always @ (posedge pixel_clock or posedge reset)begin + if (reset) begin + shift_high <= 1'b1; + end + else if (subchar_pixel == 3'b011) begin + shift_high <= 1'b0; + end + else if (subchar_pixel == 3'b111) begin + shift_high <= 1'b1; + end + end + +always @ (posedge pixel_clock or posedge reset)begin + if (reset) begin + shift_low <= 1'b0; + end + else if (subchar_pixel == 3'b011) begin + shift_low <= 1'b1; + end + else if (subchar_pixel == 3'b111) begin + shift_low <= 1'b0; + end + end + +// serialize the CHARACTER MODE data +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + begin + pixel_on = 1'b0; + latched_low_char_data = 4'h0; + latched_char_data = 8'h00; + end + + else if (shift_high) + begin + pixel_on = latched_char_data [7]; + latched_char_data [7] = latched_char_data [6]; + latched_char_data [6] = latched_char_data [5]; + latched_char_data [5] = latched_char_data [4]; + latched_char_data [4] = latched_char_data [7]; + if(latch_low_data) begin + latched_low_char_data [3:0] = latched_char_data [3:0]; + end + else begin + latched_low_char_data [3:0] = latched_low_char_data [3:0]; + end + end + + else if (shift_low) + begin + pixel_on = latched_low_char_data [3]; + latched_low_char_data [3] = latched_low_char_data [2]; + latched_low_char_data [2] = latched_low_char_data [1]; + latched_low_char_data [1] = latched_low_char_data [0]; + latched_low_char_data [0] = latched_low_char_data [3]; + if (latch_data) begin + latched_char_data [7:0] = char_gen_rom_data[7:0]; + end + else begin + latched_char_data [7:0] = latched_char_data [7:0]; + end + end + else + begin + latched_low_char_data [3:0] = latched_low_char_data [3:0]; + latched_char_data [7:0] = latched_char_data [7:0]; + pixel_on = pixel_on; + end + end + +endmodule //CHAR_GEN + +//-------------------------------------------------------------- + +/* +------------------------------------------- +Code 00h defines a solid block +Codes 01h-04h define block graphics +Codes 05h-1Fh define line graphics +Codes 20h-7Eh define the ASCII characters +Code 7Fh defines a hash pattern +Codes 80h-FFh user defined characters +------------------------------------------- +*/ + +module CHAR_GEN_ROM +( +pixel_clock, +address, +data +); + +input pixel_clock; +input [10:0] address; +output reg [7:0] data; + +always @(posedge pixel_clock) begin + case(address) + + //// Solid Block //// + + // 00h: solid block + 11'h000: data <= 8'hFF; + 11'h001: data <= 8'hFF; + 11'h002: data <= 8'hFF; + 11'h003: data <= 8'hFF; + 11'h004: data <= 8'hFF; + 11'h005: data <= 8'hFF; + 11'h006: data <= 8'hFF; + 11'h007: data <= 8'hFF; + + //// Block graphics //// + + // 01h: Left block up, right block down + 11'h008: data <= 8'hF0; + 11'h009: data <= 8'hF0; + 11'h00A: data <= 8'hF0; + 11'h00B: data <= 8'hF0; + 11'h00C: data <= 8'h0F; + 11'h00D: data <= 8'h0F; + 11'h00E: data <= 8'h0F; + 11'h00F: data <= 8'h0F; + // 02h: Left block down, right block up + 11'h010: data <= 8'h0F; + 11'h011: data <= 8'h0F; + 11'h012: data <= 8'h0F; + 11'h013: data <= 8'h0F; + 11'h014: data <= 8'hF0; + 11'h015: data <= 8'hF0; + 11'h016: data <= 8'hF0; + 11'h017: data <= 8'hF0; + // 03h: Both blocks down + 11'h018: data <= 8'h00; + 11'h019: data <= 8'h00; + 11'h01A: data <= 8'h00; + 11'h01B: data <= 8'h00; + 11'h01C: data <= 8'hFF; + 11'h01D: data <= 8'hFF; + 11'h01E: data <= 8'hFF; + 11'h01F: data <= 8'hFF; + // 04h: Both blocks up + 11'h020: data <= 8'hFF; + 11'h021: data <= 8'hFF; + 11'h022: data <= 8'hFF; + 11'h023: data <= 8'hFF; + 11'h024: data <= 8'h00; + 11'h025: data <= 8'h00; + 11'h026: data <= 8'h00; + 11'h027: data <= 8'h00; + + //// Line Graphics //// + + // 05h: corner upper left + 11'h028: data <= 8'hFF; + 11'h029: data <= 8'h80; + 11'h02A: data <= 8'h80; + 11'h02B: data <= 8'h80; + 11'h02C: data <= 8'h80; + 11'h02D: data <= 8'h80; + 11'h02E: data <= 8'h80; + 11'h02F: data <= 8'h80; + // 06h: corner upper right + 11'h030: data <= 8'hFF; + 11'h031: data <= 8'h01; + 11'h032: data <= 8'h01; + 11'h033: data <= 8'h01; + 11'h034: data <= 8'h01; + 11'h035: data <= 8'h01; + 11'h036: data <= 8'h01; + 11'h037: data <= 8'h01; + // 07h: corner lower left + 11'h038: data <= 8'h80; + 11'h039: data <= 8'h80; + 11'h03A: data <= 8'h80; + 11'h03B: data <= 8'h80; + 11'h03C: data <= 8'h80; + 11'h03D: data <= 8'h80; + 11'h03E: data <= 8'h80; + 11'h03F: data <= 8'hFF; + // 08h: corner lower right + 11'h040: data <= 8'h01; + 11'h041: data <= 8'h01; + 11'h042: data <= 8'h01; + 11'h043: data <= 8'h01; + 11'h044: data <= 8'h01; + 11'h045: data <= 8'h01; + 11'h046: data <= 8'h01; + 11'h047: data <= 8'hFF; + // 09h: cross junction + 11'h048: data <= 8'h10; + 11'h049: data <= 8'h10; + 11'h04A: data <= 8'h10; + 11'h04B: data <= 8'hFF; + 11'h04C: data <= 8'h10; + 11'h04D: data <= 8'h10; + 11'h04E: data <= 8'h10; + 11'h04F: data <= 8'h10; + // 0Ah: "T" junction + 11'h050: data <= 8'hFF; + 11'h051: data <= 8'h10; + 11'h052: data <= 8'h10; + 11'h053: data <= 8'h10; + 11'h054: data <= 8'h10; + 11'h055: data <= 8'h10; + 11'h056: data <= 8'h10; + 11'h057: data <= 8'h10; + // 0Bh: "T" juntion rotated 90 clockwise + 11'h058: data <= 8'h01; + 11'h059: data <= 8'h01; + 11'h05A: data <= 8'h01; + 11'h05B: data <= 8'hFF; + 11'h05C: data <= 8'h01; + 11'h05D: data <= 8'h01; + 11'h05E: data <= 8'h01; + 11'h05F: data <= 8'h01; + // 0Ch: "T" juntion rotated 180 + 11'h060: data <= 8'h10; + 11'h061: data <= 8'h10; + 11'h062: data <= 8'h10; + 11'h063: data <= 8'h10; + 11'h064: data <= 8'h10; + 11'h065: data <= 8'h10; + 11'h066: data <= 8'h10; + 11'h067: data <= 8'hFF; + // 0Dh: "T" junction rotated 270 clockwise + 11'h068: data <= 8'h80; + 11'h069: data <= 8'h80; + 11'h06A: data <= 8'h80; + 11'h06B: data <= 8'hFF; + 11'h06C: data <= 8'h80; + 11'h06D: data <= 8'h80; + 11'h06E: data <= 8'h80; + 11'h06F: data <= 8'h80; + // 0Eh: arrow pointing right + 11'h070: data <= 8'h08; + 11'h071: data <= 8'h04; + 11'h072: data <= 8'h02; + 11'h073: data <= 8'hFF; + 11'h074: data <= 8'h02; + 11'h075: data <= 8'h04; + 11'h076: data <= 8'h08; + 11'h077: data <= 8'h00; + // 0Fh: arrow pointing left + 11'h078: data <= 8'h10; + 11'h079: data <= 8'h20; + 11'h07A: data <= 8'h40; + 11'h07B: data <= 8'hFF; + 11'h07C: data <= 8'h40; + 11'h07D: data <= 8'h20; + 11'h07E: data <= 8'h10; + 11'h07F: data <= 8'h00; + // 10h: first (top) horizontal line + 11'h080: data <= 8'hFF; + 11'h081: data <= 8'h00; + 11'h082: data <= 8'h00; + 11'h083: data <= 8'h00; + 11'h084: data <= 8'h00; + 11'h085: data <= 8'h00; + 11'h086: data <= 8'h00; + 11'h087: data <= 8'h00; + // 11h: second horizontal line + 11'h088: data <= 8'h00; + 11'h089: data <= 8'hFF; + 11'h08A: data <= 8'h00; + 11'h08B: data <= 8'h00; + 11'h08C: data <= 8'h00; + 11'h08D: data <= 8'h00; + 11'h08E: data <= 8'h00; + 11'h08F: data <= 8'h00; + // 12h: third horizontal line + 11'h090: data <= 8'h00; + 11'h091: data <= 8'h00; + 11'h092: data <= 8'hFF; + 11'h093: data <= 8'h00; + 11'h094: data <= 8'h00; + 11'h095: data <= 8'h00; + 11'h096: data <= 8'h00; + 11'h097: data <= 8'h00; + // 13h: fourth horizontal line + 11'h098: data <= 8'h00; + 11'h099: data <= 8'h00; + 11'h09A: data <= 8'h00; + 11'h09B: data <= 8'hFF; + 11'h09C: data <= 8'h00; + 11'h09D: data <= 8'h00; + 11'h09E: data <= 8'h00; + 11'h09F: data <= 8'h00; + // 14h: fifth horizontal line + 11'h0A0: data <= 8'h00; + 11'h0A1: data <= 8'h00; + 11'h0A2: data <= 8'h00; + 11'h0A3: data <= 8'h00; + 11'h0A4: data <= 8'hFF; + 11'h0A5: data <= 8'h00; + 11'h0A6: data <= 8'h00; + // 15h: sixth horizontal line + 11'h0A7: data <= 8'h00; + 11'h0A8: data <= 8'h00; + 11'h0A9: data <= 8'h00; + 11'h0AA: data <= 8'h00; + 11'h0AB: data <= 8'h00; + 11'h0AC: data <= 8'h00; + 11'h0AD: data <= 8'hFF; + 11'h0AE: data <= 8'h00; + 11'h0AF: data <= 8'h00; + // 16h: seventh horizontal line + 11'h0B0: data <= 8'h00; + 11'h0B1: data <= 8'h00; + 11'h0B2: data <= 8'h00; + 11'h0B3: data <= 8'h00; + 11'h0B4: data <= 8'h00; + 11'h0B5: data <= 8'h00; + 11'h0B6: data <= 8'hFF; + 11'h0B7: data <= 8'h00; + // 17h: eighth (bottom) horizontal line + 11'h0B8: data <= 8'h00; + 11'h0B9: data <= 8'h00; + 11'h0BA: data <= 8'h00; + 11'h0BB: data <= 8'h00; + 11'h0BC: data <= 8'h00; + 11'h0BD: data <= 8'h00; + 11'h0BE: data <= 8'h00; + 11'h0BF: data <= 8'hFF; + // 18h: first (left) vertical line + 11'h0C0: data <= 8'h80; + 11'h0C1: data <= 8'h80; + 11'h0C2: data <= 8'h80; + 11'h0C3: data <= 8'h80; + 11'h0C4: data <= 8'h80; + 11'h0C5: data <= 8'h80; + 11'h0C6: data <= 8'h80; + 11'h0C7: data <= 8'h80; + // 19h: second vertical line + 11'h0C8: data <= 8'h40; + 11'h0C9: data <= 8'h40; + 11'h0CA: data <= 8'h40; + 11'h0CB: data <= 8'h40; + 11'h0CC: data <= 8'h40; + 11'h0CD: data <= 8'h40; + 11'h0CE: data <= 8'h40; + 11'h0CF: data <= 8'h40; + // 1Ah: third vertical line + 11'h0D0: data <= 8'h20; + 11'h0D1: data <= 8'h20; + 11'h0D2: data <= 8'h20; + 11'h0D3: data <= 8'h20; + 11'h0D4: data <= 8'h20; + 11'h0D5: data <= 8'h20; + 11'h0D6: data <= 8'h20; + 11'h0D7: data <= 8'h20; + // 1Bh: fourth vertical line + 11'h0D8: data <= 8'h10; + 11'h0D9: data <= 8'h10; + 11'h0DA: data <= 8'h10; + 11'h0DB: data <= 8'h10; + 11'h0DC: data <= 8'h10; + 11'h0DD: data <= 8'h10; + 11'h0DE: data <= 8'h10; + 11'h0DF: data <= 8'h10; + // 1Ch: fifth vertical line + 11'h0E0: data <= 8'h08; + 11'h0E1: data <= 8'h08; + 11'h0E2: data <= 8'h08; + 11'h0E3: data <= 8'h08; + 11'h0E4: data <= 8'h08; + 11'h0E5: data <= 8'h08; + 11'h0E6: data <= 8'h08; + 11'h0E7: data <= 8'h08; + // 1Dh: sixth vertical line + 11'h0E8: data <= 8'h04; + 11'h0E9: data <= 8'h04; + 11'h0EA: data <= 8'h04; + 11'h0EB: data <= 8'h04; + 11'h0EC: data <= 8'h04; + 11'h0ED: data <= 8'h04; + 11'h0EE: data <= 8'h04; + 11'h0EF: data <= 8'h04; + // 1Eh: seventh vertical line + 11'h0F0: data <= 8'h02; + 11'h0F1: data <= 8'h02; + 11'h0F2: data <= 8'h02; + 11'h0F3: data <= 8'h02; + 11'h0F4: data <= 8'h02; + 11'h0F5: data <= 8'h02; + 11'h0F6: data <= 8'h02; + 11'h0F7: data <= 8'h02; + // 1Fh: eighth (right) vertical line + 11'h0F8: data <= 8'h01; + 11'h0F9: data <= 8'h01; + 11'h0FA: data <= 8'h01; + 11'h0FB: data <= 8'h01; + 11'h0FC: data <= 8'h01; + 11'h0FD: data <= 8'h01; + 11'h0FE: data <= 8'h01; + 11'h0FF: data <= 8'h01; + + //// ASCII Characters //// + + // 20h: space + 11'h100: data <= 8'h00; + 11'h101: data <= 8'h00; + 11'h102: data <= 8'h00; + 11'h103: data <= 8'h00; + 11'h104: data <= 8'h00; + 11'h105: data <= 8'h00; + 11'h106: data <= 8'h00; + 11'h107: data <= 8'h00; + // 21h: ! + 11'h108: data <= 8'h10; + 11'h109: data <= 8'h10; + 11'h10A: data <= 8'h10; + 11'h10B: data <= 8'h10; + 11'h10C: data <= 8'h00; + 11'h10D: data <= 8'h00; + 11'h10E: data <= 8'h10; + 11'h10F: data <= 8'h00; + // 22h: " + 11'h110: data <= 8'h28; + 11'h111: data <= 8'h28; + 11'h112: data <= 8'h28; + 11'h113: data <= 8'h00; + 11'h114: data <= 8'h00; + 11'h115: data <= 8'h00; + 11'h116: data <= 8'h00; + 11'h117: data <= 8'h00; + // 23h: # + 11'h118: data <= 8'h28; + 11'h119: data <= 8'h28; + 11'h11A: data <= 8'h7C; + 11'h11B: data <= 8'h28; + 11'h11C: data <= 8'h7C; + 11'h11D: data <= 8'h28; + 11'h11E: data <= 8'h28; + 11'h11F: data <= 8'h00; + // 24h: $ + 11'h120: data <= 8'h10; + 11'h121: data <= 8'h3C; + 11'h122: data <= 8'h50; + 11'h123: data <= 8'h38; + 11'h124: data <= 8'h14; + 11'h125: data <= 8'h78; + 11'h126: data <= 8'h10; + 11'h127: data <= 8'h00; + // 25h: % + 11'h128: data <= 8'h60; + 11'h129: data <= 8'h64; + 11'h12A: data <= 8'h08; + 11'h12B: data <= 8'h10; + 11'h12C: data <= 8'h20; + 11'h12D: data <= 8'h46; + 11'h12E: data <= 8'h06; + 11'h12F: data <= 8'h00; + // 26h: & + 11'h130: data <= 8'h30; + 11'h131: data <= 8'h48; + 11'h132: data <= 8'h50; + 11'h133: data <= 8'h20; + 11'h134: data <= 8'h54; + 11'h135: data <= 8'h48; + 11'h136: data <= 8'h34; + 11'h137: data <= 8'h00; + // 27h: ' + 11'h138: data <= 8'h30; + 11'h139: data <= 8'h10; + 11'h13A: data <= 8'h20; + 11'h13B: data <= 8'h00; + 11'h13C: data <= 8'h00; + 11'h13D: data <= 8'h00; + 11'h13E: data <= 8'h00; + 11'h13F: data <= 8'h00; + // 28h: ( + 11'h140: data <= 8'h08; + 11'h141: data <= 8'h10; + 11'h142: data <= 8'h20; + 11'h143: data <= 8'h20; + 11'h144: data <= 8'h20; + 11'h145: data <= 8'h10; + 11'h146: data <= 8'h08; + 11'h147: data <= 8'h00; + // 29h: ) + 11'h148: data <= 8'h20; + 11'h149: data <= 8'h10; + 11'h14A: data <= 8'h08; + 11'h14B: data <= 8'h08; + 11'h14C: data <= 8'h08; + 11'h14D: data <= 8'h10; + 11'h14E: data <= 8'h20; + 11'h14F: data <= 8'h00; + // 2Ah: * + 11'h150: data <= 8'h00; + 11'h151: data <= 8'h10; + 11'h152: data <= 8'h54; + 11'h153: data <= 8'h38; + 11'h154: data <= 8'h54; + 11'h155: data <= 8'h10; + 11'h156: data <= 8'h00; + 11'h157: data <= 8'h00; + // 2Bh: + + 11'h158: data <= 8'h00; + 11'h159: data <= 8'h10; + 11'h15A: data <= 8'h10; + 11'h15B: data <= 8'h7C; + 11'h15C: data <= 8'h10; + 11'h15D: data <= 8'h10; + 11'h15E: data <= 8'h00; + 11'h15F: data <= 8'h00; + // 2Ch: , + 11'h160: data <= 8'h00; + 11'h161: data <= 8'h00; + 11'h162: data <= 8'h00; + 11'h163: data <= 8'h00; + 11'h164: data <= 8'h00; + 11'h165: data <= 8'h30; + 11'h166: data <= 8'h10; + 11'h167: data <= 8'h20; + // 2Dh: - + 11'h168: data <= 8'h00; + 11'h169: data <= 8'h00; + 11'h16A: data <= 8'h00; + 11'h16B: data <= 8'h7C; + 11'h16C: data <= 8'h00; + 11'h16D: data <= 8'h00; + 11'h16E: data <= 8'h00; + 11'h16F: data <= 8'h00; + // 2Eh: . + 11'h170: data <= 8'h00; + 11'h171: data <= 8'h00; + 11'h172: data <= 8'h00; + 11'h173: data <= 8'h00; + 11'h174: data <= 8'h00; + 11'h175: data <= 8'h30; + 11'h176: data <= 8'h30; + 11'h177: data <= 8'h00; + // 2Fh: / + 11'h178: data <= 8'h00; + 11'h179: data <= 8'h04; + 11'h17A: data <= 8'h08; + 11'h17B: data <= 8'h10; + 11'h17C: data <= 8'h20; + 11'h17D: data <= 8'h40; + 11'h17E: data <= 8'h00; + 11'h17F: data <= 8'h00; + // 30h: 0 + 11'h180: data <= 8'h38; + 11'h181: data <= 8'h44; + 11'h182: data <= 8'h4C; + 11'h183: data <= 8'h54; + 11'h184: data <= 8'h64; + 11'h185: data <= 8'h44; + 11'h186: data <= 8'h38; + 11'h187: data <= 8'h00; + // 31h: 1 + 11'h188: data <= 8'h10; + 11'h189: data <= 8'h30; + 11'h18A: data <= 8'h10; + 11'h18B: data <= 8'h10; + 11'h18C: data <= 8'h10; + 11'h18D: data <= 8'h10; + 11'h18E: data <= 8'h38; + 11'h18F: data <= 8'h00; + // 32h: 2 + 11'h190: data <= 8'h38; + 11'h191: data <= 8'h44; + 11'h192: data <= 8'h04; + 11'h193: data <= 8'h08; + 11'h194: data <= 8'h10; + 11'h195: data <= 8'h20; + 11'h196: data <= 8'h7C; + 11'h197: data <= 8'h00; + // 33h: 3 + 11'h198: data <= 8'h7C; + 11'h199: data <= 8'h08; + 11'h19A: data <= 8'h10; + 11'h19B: data <= 8'h08; + 11'h19C: data <= 8'h04; + 11'h19D: data <= 8'h44; + 11'h19E: data <= 8'h38; + 11'h19F: data <= 8'h00; + // 34h: 4 + 11'h1A0: data <= 8'h08; + 11'h1A1: data <= 8'h18; + 11'h1A2: data <= 8'h28; + 11'h1A3: data <= 8'h48; + 11'h1A4: data <= 8'h7C; + 11'h1A5: data <= 8'h08; + 11'h1A6: data <= 8'h08; + 11'h1A7: data <= 8'h00; + // 35h: 5 + 11'h1A8: data <= 8'h7C; + 11'h1A9: data <= 8'h40; + 11'h1AA: data <= 8'h78; + 11'h1AB: data <= 8'h04; + 11'h1AC: data <= 8'h04; + 11'h1AD: data <= 8'h44; + 11'h1AE: data <= 8'h38; + 11'h1AF: data <= 8'h00; + // 36h: 6 + 11'h1B0: data <= 8'h18; + 11'h1B1: data <= 8'h20; + 11'h1B2: data <= 8'h40; + 11'h1B3: data <= 8'h78; + 11'h1B4: data <= 8'h44; + 11'h1B5: data <= 8'h44; + 11'h1B6: data <= 8'h38; + 11'h1B7: data <= 8'h00; + // 37h: 7 + 11'h1B8: data <= 8'h7C; + 11'h1B9: data <= 8'h04; + 11'h1BA: data <= 8'h08; + 11'h1BB: data <= 8'h10; + 11'h1BC: data <= 8'h20; + 11'h1BD: data <= 8'h20; + 11'h1BE: data <= 8'h20; + 11'h1BF: data <= 8'h00; + // 38h: 8 + 11'h1C0: data <= 8'h38; + 11'h1C1: data <= 8'h44; + 11'h1C2: data <= 8'h44; + 11'h1C3: data <= 8'h38; + 11'h1C4: data <= 8'h44; + 11'h1C5: data <= 8'h44; + 11'h1C6: data <= 8'h38; + 11'h1C7: data <= 8'h00; + // 39h: 9 + 11'h1C8: data <= 8'h38; + 11'h1C9: data <= 8'h44; + 11'h1CA: data <= 8'h44; + 11'h1CB: data <= 8'h3C; + 11'h1CC: data <= 8'h04; + 11'h1CD: data <= 8'h08; + 11'h1CE: data <= 8'h30; + 11'h1CF: data <= 8'h00; + // 3Ah: : + 11'h1D0: data <= 8'h00; + 11'h1D1: data <= 8'h30; + 11'h1D2: data <= 8'h30; + 11'h1D3: data <= 8'h00; + 11'h1D4: data <= 8'h00; + 11'h1D5: data <= 8'h30; + 11'h1D6: data <= 8'h30; + 11'h1D7: data <= 8'h00; + // 3Bh: ; + 11'h1D8: data <= 8'h00; + 11'h1D9: data <= 8'h30; + 11'h1DA: data <= 8'h30; + 11'h1DB: data <= 8'h00; + 11'h1DC: data <= 8'h00; + 11'h1DD: data <= 8'h30; + 11'h1DE: data <= 8'h10; + 11'h1DF: data <= 8'h20; + // 3Ch: < + 11'h1E0: data <= 8'h08; + 11'h1E1: data <= 8'h10; + 11'h1E2: data <= 8'h20; + 11'h1E3: data <= 8'h40; + 11'h1E4: data <= 8'h20; + 11'h1E5: data <= 8'h10; + 11'h1E6: data <= 8'h08; + 11'h1E7: data <= 8'h00; + // 3Dh: = + 11'h1E8: data <= 8'h00; + 11'h1E9: data <= 8'h00; + 11'h1EA: data <= 8'h7C; + 11'h1EB: data <= 8'h00; + 11'h1EC: data <= 8'h7C; + 11'h1ED: data <= 8'h00; + 11'h1EE: data <= 8'h00; + 11'h1EF: data <= 8'h00; + // 3Eh: > + 11'h1F0: data <= 8'h20; + 11'h1F1: data <= 8'h10; + 11'h1F2: data <= 8'h08; + 11'h1F3: data <= 8'h04; + 11'h1F4: data <= 8'h08; + 11'h1F5: data <= 8'h10; + 11'h1F6: data <= 8'h20; + 11'h1F7: data <= 8'h00; + // 3Fh: ? + 11'h1F8: data <= 8'h38; + 11'h1F9: data <= 8'h44; + 11'h1FA: data <= 8'h04; + 11'h1FB: data <= 8'h08; + 11'h1FC: data <= 8'h10; + 11'h1FD: data <= 8'h00; + 11'h1FE: data <= 8'h10; + 11'h1FF: data <= 8'h00; + // 40h: @ + 11'h200: data <= 8'h38; + 11'h201: data <= 8'h44; + 11'h202: data <= 8'h04; + 11'h203: data <= 8'h34; + 11'h204: data <= 8'h54; + 11'h205: data <= 8'h54; + 11'h206: data <= 8'h38; + 11'h207: data <= 8'h00; + // 41h: A + 11'h208: data <= 8'h38; + 11'h209: data <= 8'h44; + 11'h20A: data <= 8'h44; + 11'h20B: data <= 8'h44; + 11'h20C: data <= 8'h7C; + 11'h20D: data <= 8'h44; + 11'h20E: data <= 8'h44; + 11'h20F: data <= 8'h00; + // 42h: B + 11'h210: data <= 8'h78; + 11'h211: data <= 8'h44; + 11'h212: data <= 8'h44; + 11'h213: data <= 8'h78; + 11'h214: data <= 8'h44; + 11'h215: data <= 8'h44; + 11'h216: data <= 8'h78; + 11'h217: data <= 8'h00; + // 43h: C + 11'h218: data <= 8'h38; + 11'h219: data <= 8'h44; + 11'h21A: data <= 8'h40; + 11'h21B: data <= 8'h40; + 11'h21C: data <= 8'h40; + 11'h21D: data <= 8'h44; + 11'h21E: data <= 8'h38; + 11'h21F: data <= 8'h00; + // 44h: D + 11'h220: data <= 8'h70; + 11'h221: data <= 8'h48; + 11'h222: data <= 8'h44; + 11'h223: data <= 8'h44; + 11'h224: data <= 8'h44; + 11'h225: data <= 8'h48; + 11'h226: data <= 8'h70; + 11'h227: data <= 8'h00; + // 45h: E + 11'h228: data <= 8'h7C; + 11'h229: data <= 8'h40; + 11'h22A: data <= 8'h40; + 11'h22B: data <= 8'h78; + 11'h22C: data <= 8'h40; + 11'h22D: data <= 8'h40; + 11'h22E: data <= 8'h7C; + 11'h22F: data <= 8'h00; + // 46h: F + 11'h230: data <= 8'h7C; + 11'h231: data <= 8'h40; + 11'h232: data <= 8'h40; + 11'h233: data <= 8'h78; + 11'h234: data <= 8'h40; + 11'h235: data <= 8'h40; + 11'h236: data <= 8'h40; + 11'h237: data <= 8'h00; + // 47h: G + 11'h238: data <= 8'h38; + 11'h239: data <= 8'h44; + 11'h23A: data <= 8'h40; + 11'h23B: data <= 8'h5C; + 11'h23C: data <= 8'h44; + 11'h23D: data <= 8'h44; + 11'h23E: data <= 8'h3C; + 11'h23F: data <= 8'h00; + // 48h: H + 11'h240: data <= 8'h44; + 11'h241: data <= 8'h44; + 11'h242: data <= 8'h44; + 11'h243: data <= 8'h7C; + 11'h244: data <= 8'h44; + 11'h245: data <= 8'h44; + 11'h246: data <= 8'h44; + 11'h247: data <= 8'h00; + // 49h: I + 11'h248: data <= 8'h38; + 11'h249: data <= 8'h10; + 11'h24A: data <= 8'h10; + 11'h24B: data <= 8'h10; + 11'h24C: data <= 8'h10; + 11'h24D: data <= 8'h10; + 11'h24E: data <= 8'h38; + 11'h24F: data <= 8'h00; + // 4Ah: J + 11'h250: data <= 8'h1C; + 11'h251: data <= 8'h08; + 11'h252: data <= 8'h08; + 11'h253: data <= 8'h08; + 11'h254: data <= 8'h08; + 11'h255: data <= 8'h48; + 11'h256: data <= 8'h30; + 11'h257: data <= 8'h00; + // 4Bh: K + 11'h258: data <= 8'h44; + 11'h259: data <= 8'h48; + 11'h25A: data <= 8'h50; + 11'h25B: data <= 8'h60; + 11'h25C: data <= 8'h50; + 11'h25D: data <= 8'h48; + 11'h25E: data <= 8'h44; + 11'h25F: data <= 8'h00; + // 4Ch: L + 11'h260: data <= 8'h40; + 11'h261: data <= 8'h40; + 11'h262: data <= 8'h40; + 11'h263: data <= 8'h40; + 11'h264: data <= 8'h40; + 11'h265: data <= 8'h40; + 11'h266: data <= 8'h7C; + 11'h267: data <= 8'h00; + // 4Dh: M + 11'h268: data <= 8'h44; + 11'h269: data <= 8'h6C; + 11'h26A: data <= 8'h54; + 11'h26B: data <= 8'h54; + 11'h26C: data <= 8'h44; + 11'h26D: data <= 8'h44; + 11'h26E: data <= 8'h44; + 11'h26F: data <= 8'h00; + // 4Eh: N + 11'h270: data <= 8'h44; + 11'h271: data <= 8'h44; + 11'h272: data <= 8'h64; + 11'h273: data <= 8'h54; + 11'h274: data <= 8'h4C; + 11'h275: data <= 8'h44; + 11'h276: data <= 8'h44; + 11'h277: data <= 8'h00; + // 4Fh: O + 11'h278: data <= 8'h38; + 11'h279: data <= 8'h44; + 11'h27A: data <= 8'h44; + 11'h27B: data <= 8'h44; + 11'h27C: data <= 8'h44; + 11'h27D: data <= 8'h44; + 11'h27E: data <= 8'h38; + 11'h27F: data <= 8'h00; + // 50h: P + 11'h280: data <= 8'h78; + 11'h281: data <= 8'h44; + 11'h282: data <= 8'h44; + 11'h283: data <= 8'h78; + 11'h284: data <= 8'h40; + 11'h285: data <= 8'h40; + 11'h286: data <= 8'h40; + 11'h287: data <= 8'h00; + // 51h: Q + 11'h288: data <= 8'h38; + 11'h289: data <= 8'h44; + 11'h28A: data <= 8'h44; + 11'h28B: data <= 8'h44; + 11'h28C: data <= 8'h54; + 11'h28D: data <= 8'h48; + 11'h28E: data <= 8'h34; + 11'h28F: data <= 8'h00; + // 52h: R + 11'h290: data <= 8'h78; + 11'h291: data <= 8'h44; + 11'h292: data <= 8'h44; + 11'h293: data <= 8'h78; + 11'h294: data <= 8'h50; + 11'h295: data <= 8'h48; + 11'h296: data <= 8'h44; + 11'h297: data <= 8'h00; + // 53h: S + 11'h298: data <= 8'h3C; + 11'h299: data <= 8'h40; + 11'h29A: data <= 8'h40; + 11'h29B: data <= 8'h38; + 11'h29C: data <= 8'h04; + 11'h29D: data <= 8'h04; + 11'h29E: data <= 8'h78; + 11'h29F: data <= 8'h00; + // 54h: T + 11'h2A0: data <= 8'h7C; + 11'h2A1: data <= 8'h10; + 11'h2A2: data <= 8'h10; + 11'h2A3: data <= 8'h10; + 11'h2A4: data <= 8'h10; + 11'h2A5: data <= 8'h10; + 11'h2A6: data <= 8'h10; + 11'h2A7: data <= 8'h00; + // 55h: U + 11'h2A8: data <= 8'h44; + 11'h2A9: data <= 8'h44; + 11'h2AA: data <= 8'h44; + 11'h2AB: data <= 8'h44; + 11'h2AC: data <= 8'h44; + 11'h2AD: data <= 8'h44; + 11'h2AE: data <= 8'h38; + 11'h2AF: data <= 8'h00; + // 56h: V + 11'h2B0: data <= 8'h44; + 11'h2B1: data <= 8'h44; + 11'h2B2: data <= 8'h44; + 11'h2B3: data <= 8'h44; + 11'h2B4: data <= 8'h44; + 11'h2B5: data <= 8'h28; + 11'h2B6: data <= 8'h10; + 11'h2B7: data <= 8'h00; + // 57h: W + 11'h2B8: data <= 8'h44; + 11'h2B9: data <= 8'h44; + 11'h2BA: data <= 8'h44; + 11'h2BB: data <= 8'h54; + 11'h2BC: data <= 8'h54; + 11'h2BD: data <= 8'h54; + 11'h2BE: data <= 8'h28; + 11'h2BF: data <= 8'h00; + // 58h: X + 11'h2C0: data <= 8'h44; + 11'h2C1: data <= 8'h44; + 11'h2C2: data <= 8'h28; + 11'h2C3: data <= 8'h10; + 11'h2C4: data <= 8'h28; + 11'h2C5: data <= 8'h44; + 11'h2C6: data <= 8'h44; + 11'h2C7: data <= 8'h00; + // 59h: Y + 11'h2C8: data <= 8'h44; + 11'h2C9: data <= 8'h44; + 11'h2CA: data <= 8'h44; + 11'h2CB: data <= 8'h28; + 11'h2CC: data <= 8'h10; + 11'h2CD: data <= 8'h10; + 11'h2CE: data <= 8'h10; + 11'h2CF: data <= 8'h00; + // 5Ah: Z + 11'h2D0: data <= 8'h7C; + 11'h2D1: data <= 8'h04; + 11'h2D2: data <= 8'h08; + 11'h2D3: data <= 8'h10; + 11'h2D4: data <= 8'h20; + 11'h2D5: data <= 8'h40; + 11'h2D6: data <= 8'h7C; + 11'h2D7: data <= 8'h00; + // 5Bh: [ + 11'h2D8: data <= 8'h38; + 11'h2D9: data <= 8'h20; + 11'h2DA: data <= 8'h20; + 11'h2DB: data <= 8'h20; + 11'h2DC: data <= 8'h20; + 11'h2DD: data <= 8'h20; + 11'h2DE: data <= 8'h38; + 11'h2DF: data <= 8'h00; + // 5Ch: \ + 11'h2E0: data <= 8'h00; + 11'h2E1: data <= 8'h40; + 11'h2E2: data <= 8'h20; + 11'h2E3: data <= 8'h10; + 11'h2E4: data <= 8'h08; + 11'h2E5: data <= 8'h04; + 11'h2E6: data <= 8'h00; + 11'h2E7: data <= 8'h00; + // 5Dh: ] + 11'h2E8: data <= 8'h38; + 11'h2E9: data <= 8'h08; + 11'h2EA: data <= 8'h08; + 11'h2EB: data <= 8'h08; + 11'h2EC: data <= 8'h08; + 11'h2ED: data <= 8'h08; + 11'h2EE: data <= 8'h38; + 11'h2EF: data <= 8'h00; + // 5Eh: ^ + 11'h2F0: data <= 8'h10; + 11'h2F1: data <= 8'h28; + 11'h2F2: data <= 8'h44; + 11'h2F3: data <= 8'h00; + 11'h2F4: data <= 8'h00; + 11'h2F5: data <= 8'h00; + 11'h2F6: data <= 8'h00; + 11'h2F7: data <= 8'h00; + // 5Fh: _ + 11'h2F8: data <= 8'h00; + 11'h2F9: data <= 8'h00; + 11'h2FA: data <= 8'h00; + 11'h2FB: data <= 8'h00; + 11'h2FC: data <= 8'h00; + 11'h2FD: data <= 8'h00; + 11'h2FE: data <= 8'h7C; + 11'h2FF: data <= 8'h00; + // 60h: ` + 11'h300: data <= 8'h20; + 11'h301: data <= 8'h10; + 11'h302: data <= 8'h08; + 11'h303: data <= 8'h00; + 11'h304: data <= 8'h00; + 11'h305: data <= 8'h00; + 11'h306: data <= 8'h00; + 11'h307: data <= 8'h00; + // 61h: a + 11'h308: data <= 8'h00; + 11'h309: data <= 8'h00; + 11'h30A: data <= 8'h38; + 11'h30B: data <= 8'h04; + 11'h30C: data <= 8'h3C; + 11'h30D: data <= 8'h44; + 11'h30E: data <= 8'h3C; + 11'h30F: data <= 8'h00; + // 62h: b + 11'h310: data <= 8'h40; + 11'h311: data <= 8'h40; + 11'h312: data <= 8'h58; + 11'h313: data <= 8'h64; + 11'h314: data <= 8'h44; + 11'h315: data <= 8'h44; + 11'h316: data <= 8'h78; + 11'h317: data <= 8'h00; + // 63h: c + 11'h318: data <= 8'h00; + 11'h319: data <= 8'h00; + 11'h31A: data <= 8'h38; + 11'h31B: data <= 8'h40; + 11'h31C: data <= 8'h40; + 11'h31D: data <= 8'h44; + 11'h31E: data <= 8'h38; + 11'h31F: data <= 8'h00; + // 64h: d + 11'h320: data <= 8'h04; + 11'h321: data <= 8'h04; + 11'h322: data <= 8'h34; + 11'h323: data <= 8'h4C; + 11'h324: data <= 8'h44; + 11'h325: data <= 8'h44; + 11'h326: data <= 8'h3C; + 11'h327: data <= 8'h00; + // 65h: e + 11'h328: data <= 8'h00; + 11'h329: data <= 8'h00; + 11'h32A: data <= 8'h38; + 11'h32B: data <= 8'h44; + 11'h32C: data <= 8'h7C; + 11'h32D: data <= 8'h40; + 11'h32E: data <= 8'h38; + 11'h32F: data <= 8'h00; + // 66h: f + 11'h330: data <= 8'h18; + 11'h331: data <= 8'h24; + 11'h332: data <= 8'h20; + 11'h333: data <= 8'h70; + 11'h334: data <= 8'h20; + 11'h335: data <= 8'h20; + 11'h336: data <= 8'h20; + 11'h337: data <= 8'h00; + // 67h: g + 11'h338: data <= 8'h00; + 11'h339: data <= 8'h00; + 11'h33A: data <= 8'h3C; + 11'h33B: data <= 8'h44; + 11'h33C: data <= 8'h44; + 11'h33D: data <= 8'h3C; + 11'h33E: data <= 8'h04; + 11'h33F: data <= 8'h38; + // 68h: h + 11'h340: data <= 8'h40; + 11'h341: data <= 8'h40; + 11'h342: data <= 8'h58; + 11'h343: data <= 8'h64; + 11'h344: data <= 8'h44; + 11'h345: data <= 8'h44; + 11'h346: data <= 8'h44; + 11'h347: data <= 8'h00; + // 69h: i + 11'h348: data <= 8'h10; + 11'h349: data <= 8'h10; + 11'h34A: data <= 8'h30; + 11'h34B: data <= 8'h10; + 11'h34C: data <= 8'h10; + 11'h34D: data <= 8'h10; + 11'h34E: data <= 8'h38; + 11'h34F: data <= 8'h00; + // 6Ah: j + 11'h350: data <= 8'h00; + 11'h351: data <= 8'h08; + 11'h352: data <= 8'h00; + 11'h353: data <= 8'h18; + 11'h354: data <= 8'h08; + 11'h355: data <= 8'h08; + 11'h356: data <= 8'h48; + 11'h357: data <= 8'h30; + // 6Bh: k + 11'h358: data <= 8'h40; + 11'h359: data <= 8'h40; + 11'h35A: data <= 8'h48; + 11'h35B: data <= 8'h50; + 11'h35C: data <= 8'h60; + 11'h35D: data <= 8'h50; + 11'h35E: data <= 8'h48; + 11'h35F: data <= 8'h00; + // 6Ch: l + 11'h360: data <= 8'h30; + 11'h361: data <= 8'h10; + 11'h362: data <= 8'h10; + 11'h363: data <= 8'h10; + 11'h364: data <= 8'h10; + 11'h365: data <= 8'h10; + 11'h366: data <= 8'h38; + 11'h367: data <= 8'h00; + // 6Dh: m + 11'h368: data <= 8'h00; + 11'h369: data <= 8'h00; + 11'h36A: data <= 8'h68; + 11'h36B: data <= 8'h54; + 11'h36C: data <= 8'h54; + 11'h36D: data <= 8'h44; + 11'h36E: data <= 8'h44; + 11'h36F: data <= 8'h00; + // 6Eh: n + 11'h370: data <= 8'h00; + 11'h371: data <= 8'h00; + 11'h372: data <= 8'h58; + 11'h373: data <= 8'h64; + 11'h374: data <= 8'h44; + 11'h375: data <= 8'h44; + 11'h376: data <= 8'h44; + 11'h377: data <= 8'h00; + // 6Fh: o + 11'h378: data <= 8'h00; + 11'h379: data <= 8'h00; + 11'h37A: data <= 8'h38; + 11'h37B: data <= 8'h44; + 11'h37C: data <= 8'h44; + 11'h37D: data <= 8'h44; + 11'h37E: data <= 8'h38; + 11'h37F: data <= 8'h00; + // 70h: p + 11'h380: data <= 8'h00; + 11'h381: data <= 8'h00; + 11'h382: data <= 8'h78; + 11'h383: data <= 8'h44; + 11'h384: data <= 8'h78; + 11'h385: data <= 8'h40; + 11'h386: data <= 8'h40; + 11'h387: data <= 8'h40; + // 71h: q + 11'h388: data <= 8'h00; + 11'h389: data <= 8'h00; + 11'h38A: data <= 8'h00; + 11'h38B: data <= 8'h34; + 11'h38C: data <= 8'h4C; + 11'h38D: data <= 8'h3C; + 11'h38E: data <= 8'h04; + 11'h38F: data <= 8'h04; + // 72h: r + 11'h390: data <= 8'h00; + 11'h391: data <= 8'h00; + 11'h392: data <= 8'h58; + 11'h393: data <= 8'h64; + 11'h394: data <= 8'h40; + 11'h395: data <= 8'h40; + 11'h396: data <= 8'h40; + 11'h397: data <= 8'h00; + // 73h: s + 11'h398: data <= 8'h00; + 11'h399: data <= 8'h00; + 11'h39A: data <= 8'h38; + 11'h39B: data <= 8'h40; + 11'h39C: data <= 8'h38; + 11'h39D: data <= 8'h04; + 11'h39E: data <= 8'h78; + 11'h39F: data <= 8'h00; + // 74h: t + 11'h3A0: data <= 8'h00; + 11'h3A1: data <= 8'h20; + 11'h3A2: data <= 8'h20; + 11'h3A3: data <= 8'h70; + 11'h3A4: data <= 8'h20; + 11'h3A5: data <= 8'h20; + 11'h3A6: data <= 8'h24; + 11'h3A7: data <= 8'h18; + // 75h: u + 11'h3A8: data <= 8'h00; + 11'h3A9: data <= 8'h00; + 11'h3AA: data <= 8'h44; + 11'h3AB: data <= 8'h44; + 11'h3AC: data <= 8'h44; + 11'h3AD: data <= 8'h4C; + 11'h3AE: data <= 8'h34; + 11'h3AF: data <= 8'h00; + // 76h: v + 11'h3B0: data <= 8'h00; + 11'h3B1: data <= 8'h00; + 11'h3B2: data <= 8'h44; + 11'h3B3: data <= 8'h44; + 11'h3B4: data <= 8'h44; + 11'h3B5: data <= 8'h28; + 11'h3B6: data <= 8'h10; + 11'h3B7: data <= 8'h00; + // 77h: w + 11'h3B8: data <= 8'h00; + 11'h3B9: data <= 8'h00; + 11'h3BA: data <= 8'h44; + 11'h3BB: data <= 8'h44; + 11'h3BC: data <= 8'h54; + 11'h3BD: data <= 8'h54; + 11'h3BE: data <= 8'h28; + 11'h3BF: data <= 8'h00; + // 78h: x + 11'h3C0: data <= 8'h00; + 11'h3C1: data <= 8'h00; + 11'h3C2: data <= 8'h44; + 11'h3C3: data <= 8'h28; + 11'h3C4: data <= 8'h10; + 11'h3C5: data <= 8'h28; + 11'h3C6: data <= 8'h44; + 11'h3C7: data <= 8'h00; + // 79h: y + 11'h3C8: data <= 8'h00; + 11'h3C9: data <= 8'h00; + 11'h3CA: data <= 8'h00; + 11'h3CB: data <= 8'h44; + 11'h3CC: data <= 8'h44; + 11'h3CD: data <= 8'h3C; + 11'h3CE: data <= 8'h04; + 11'h3CF: data <= 8'h38; + // 7Ah: z + 11'h3D0: data <= 8'h00; + 11'h3D1: data <= 8'h00; + 11'h3D2: data <= 8'h7C; + 11'h3D3: data <= 8'h08; + 11'h3D4: data <= 8'h10; + 11'h3D5: data <= 8'h20; + 11'h3D6: data <= 8'h7C; + 11'h3D7: data <= 8'h00; + // 7Bh: { + 11'h3D8: data <= 8'h08; + 11'h3D9: data <= 8'h10; + 11'h3DA: data <= 8'h10; + 11'h3DB: data <= 8'h20; + 11'h3DC: data <= 8'h10; + 11'h3DD: data <= 8'h10; + 11'h3DE: data <= 8'h08; + 11'h3DF: data <= 8'h00; + // 7Ch: | + 11'h3E0: data <= 8'h10; + 11'h3E1: data <= 8'h10; + 11'h3E2: data <= 8'h10; + 11'h3E3: data <= 8'h10; + 11'h3E4: data <= 8'h10; + 11'h3E5: data <= 8'h10; + 11'h3E6: data <= 8'h10; + 11'h3E7: data <= 8'h00; + // 7Dh: } + 11'h3E8: data <= 8'h20; + 11'h3E9: data <= 8'h10; + 11'h3EA: data <= 8'h10; + 11'h3EB: data <= 8'h08; + 11'h3EC: data <= 8'h10; + 11'h3ED: data <= 8'h10; + 11'h3EE: data <= 8'h20; + 11'h3EF: data <= 8'h00; + // 7Eh: ~ + 11'h3F0: data <= 8'h00; + 11'h3F1: data <= 8'h00; + 11'h3F2: data <= 8'h60; + 11'h3F3: data <= 8'h92; + 11'h3F4: data <= 8'h0C; + 11'h3F5: data <= 8'h00; + 11'h3F6: data <= 8'h00; + 11'h3F7: data <= 8'h00; + + //// Hash Pattern //// + + // 7Fh: hash pattern + 11'h3F8: data <= 8'h55; + 11'h3F9: data <= 8'hAA; + 11'h3FA: data <= 8'h55; + 11'h3FB: data <= 8'hAA; + 11'h3FC: data <= 8'h55; + 11'h3FD: data <= 8'hAA; + 11'h3FE: data <= 8'h55; + 11'h3FF: data <= 8'hAA; + + //// User Defined Characters //// + + // 80h: vertical to the left + 11'h400: data <= 8'hF0; + 11'h401: data <= 8'hF0; + 11'h402: data <= 8'hF0; + 11'h403: data <= 8'hF0; + 11'h404: data <= 8'hF0; + 11'h405: data <= 8'hF0; + 11'h406: data <= 8'hF0; + 11'h407: data <= 8'hF0; + + // 81h: vertical to the right + 11'h408: data <= 8'h0F; + 11'h409: data <= 8'h0F; + 11'h40A: data <= 8'h0F; + 11'h40B: data <= 8'h0F; + 11'h40C: data <= 8'h0F; + 11'h40D: data <= 8'h0F; + 11'h40E: data <= 8'h0F; + 11'h40F: data <= 8'h0F; + + // 82h: circle + 11'h410: data <= 8'h00; + 11'h411: data <= 8'h18; + 11'h412: data <= 8'h3C; + 11'h413: data <= 8'h7E; + 11'h414: data <= 8'h7E; + 11'h415: data <= 8'h3C; + 11'h416: data <= 8'h18; + 11'h417: data <= 8'h00; + + // 83h: Upper left block only + 11'h418: data <= 8'hF0; + 11'h419: data <= 8'hF0; + 11'h41A: data <= 8'hF0; + 11'h41B: data <= 8'hF0; + 11'h41C: data <= 8'h00; + 11'h41D: data <= 8'h00; + 11'h41E: data <= 8'h00; + 11'h41F: data <= 8'h00; + + // 84h: Upper right block only + 11'h420: data <= 8'h0F; + 11'h421: data <= 8'h0F; + 11'h422: data <= 8'h0F; + 11'h423: data <= 8'h0F; + 11'h424: data <= 8'h00; + 11'h425: data <= 8'h00; + 11'h426: data <= 8'h00; + 11'h427: data <= 8'h00; + + // 85h: Lower left block only + 11'h428: data <= 8'h00; + 11'h429: data <= 8'h00; + 11'h42A: data <= 8'h00; + 11'h42B: data <= 8'h00; + 11'h42C: data <= 8'hF0; + 11'h42D: data <= 8'hF0; + 11'h42E: data <= 8'hF0; + 11'h42F: data <= 8'hF0; + + // 86h: Lower right block only + 11'h430: data <= 8'h00; + 11'h431: data <= 8'h00; + 11'h432: data <= 8'h00; + 11'h433: data <= 8'h00; + 11'h434: data <= 8'h0F; + 11'h435: data <= 8'h0F; + 11'h436: data <= 8'h0F; + 11'h437: data <= 8'h0F; + + // 87h: One horizontal line + 11'h438: data <= 8'h00; + 11'h439: data <= 8'h00; + 11'h43A: data <= 8'h00; + 11'h43B: data <= 8'h00; + 11'h43C: data <= 8'h00; + 11'h43D: data <= 8'h00; + 11'h43E: data <= 8'h00; + 11'h43F: data <= 8'hFF; + + // 88h: Two horizontal lines + 11'h440: data <= 8'h00; + 11'h441: data <= 8'h00; + 11'h442: data <= 8'h00; + 11'h443: data <= 8'h00; + 11'h444: data <= 8'h00; + 11'h445: data <= 8'h00; + 11'h446: data <= 8'hFF; + 11'h447: data <= 8'hFF; + + // 89h: Three horizontal lines + 11'h448: data <= 8'h00; + 11'h449: data <= 8'h00; + 11'h44A: data <= 8'h00; + 11'h44B: data <= 8'h00; + 11'h44C: data <= 8'h00; + 11'h44D: data <= 8'hFF; + 11'h44E: data <= 8'hFF; + 11'h44F: data <= 8'hFF; + + // 8Ah: Four horizontal lines + 11'h450: data <= 8'h00; + 11'h451: data <= 8'h00; + 11'h452: data <= 8'h00; + 11'h453: data <= 8'h00; + 11'h454: data <= 8'hFF; + 11'h455: data <= 8'hFF; + 11'h456: data <= 8'hFF; + 11'h457: data <= 8'hFF; + + // 8Bh: Five horizontal lines + 11'h458: data <= 8'h00; + 11'h459: data <= 8'h00; + 11'h45A: data <= 8'h00; + 11'h45B: data <= 8'hFF; + 11'h45C: data <= 8'hFF; + 11'h45D: data <= 8'hFF; + 11'h45E: data <= 8'hFF; + 11'h45F: data <= 8'hFF; + + // 8Ch: Six horizontal lines + 11'h460: data <= 8'h00; + 11'h461: data <= 8'h00; + 11'h462: data <= 8'hFF; + 11'h463: data <= 8'hFF; + 11'h464: data <= 8'hFF; + 11'h465: data <= 8'hFF; + 11'h466: data <= 8'hFF; + 11'h467: data <= 8'hFF; + + // 8Dh: Seven horizontal lines + 11'h468: data <= 8'h00; + 11'h469: data <= 8'hFF; + 11'h46A: data <= 8'hFF; + 11'h46B: data <= 8'hFF; + 11'h46C: data <= 8'hFF; + 11'h46D: data <= 8'hFF; + 11'h46E: data <= 8'hFF; + 11'h46F: data <= 8'hFF; + + // 8Eh: One vertical line + 11'h470: data <= 8'h80; + 11'h471: data <= 8'h80; + 11'h472: data <= 8'h80; + 11'h473: data <= 8'h80; + 11'h474: data <= 8'h80; + 11'h475: data <= 8'h80; + 11'h476: data <= 8'h80; + 11'h477: data <= 8'h80; + + // 8Fh: Two vertical lines + /*11'h478: data <= 8'hc0; + 11'h479: data <= 8'hc0; + 11'h47A: data <= 8'hc0; + 11'h47B: data <= 8'hc0; + 11'h47C: data <= 8'hc0; + 11'h47D: data <= 8'hc0; + 11'h47E: data <= 8'hc0; + 11'h47F: data <= 8'hc0;*/ + endcase +end + +endmodule //CHAR_GEN_ROM + +//------------------------------------------ + +module CHAR_RAM +( +clka, +wea, +addra, +dia, + +clkb, +addrb, +dob +); + +input clka; +input wea; +input [13:0] addra; +input [11:0] dia; + +input clkb; +input [13:0] addrb; +output [11:0] dob; + +//reg [11:0] ram [16383:0]; +//reg [11:0] ram [8191:0]; +reg [11:0] ram [4095:0]; +reg [13:0] read_addrb; + +always @(posedge clka) begin + if (wea) + ram[addra] <= dia; +end + +always @(posedge clkb) begin + read_addrb <= addrb; +end + +assign dob = ram[read_addrb]; + +// fill the character RAM with spaces +integer index; +initial begin +// for (index = 0; index <= 16383; index = index + 1) begin + for (index = 0; index <= 4095; index = index + 1) begin + ram[index] = 8'h20; // ASCII space + end + + //for (index = 9998; index <= 16383; index = index + 1) begin + // ram[index] = 8'h20; // ASCII space + //end +end + +endmodule //CHAR_RAM + +//------------------------------------ + +module CLOCK_GEN +( +SYSTEM_CLOCK, + +system_clock_buffered, +pixel_clock, +reset +); + +input SYSTEM_CLOCK; // 100MHz LVTTL SYSTEM CLOCK + +output system_clock_buffered; // buffered SYSTEM_CLOCK +output pixel_clock; // adjusted SYSTEM_CLOCK +output reset; // reset asserted when DCMs are NOT LOCKED + +wire low = 1'b0; +wire high = 1'b1; + +// signals associated with the system clock DCM +wire system_dcm_reset; +wire system_dcm_locked; +wire system_clock_in; +wire system_clock_unbuffered; +wire pixel_clock_unbuffered; +wire system_clock_buffered; +wire pixel_clock; + +//IBUFG SYSTEM_CLOCK_BUF ( +//.O (system_clock_in), +//.I (SYSTEM_CLOCK) +//); + +BUFG SYSTEM_CLOCK_BUF ( +.O (system_clock_in), +.I (SYSTEM_CLOCK) +); + +//assign system_clock_in = SYSTEM_CLOCK; + +// instantiate the clock input buffers for the internal clocks +BUFG SYS_CLOCK_BUF ( +.O (system_clock_buffered), +.I (system_clock_unbuffered) +); + +//assign system_clock_buffered = system_clock_unbuffered; + +BUFG PIXEL_CLOCK_BUF ( +.O (pixel_clock), +.I (pixel_clock_unbuffered) +); + +//assign pixel_clock = pixel_clock_unbuffered; + +assign reset = !system_dcm_locked; + +DCM SYSTEM_DCM ( +.CLKFB (system_clock_buffered), +.CLKIN (system_clock_in), +.DSSEN (low), +.PSCLK (low), +.PSEN (low), +.PSINCDEC (low), +.RST (system_dcm_reset), +.CLK0 (system_clock_unbuffered), +.CLK90 (), +.CLK180 (), +.CLK270 (), +.CLK2X (), +.CLK2X180 (), +.CLKDV (), +.CLKFX (pixel_clock_unbuffered), +.CLKFX180 (), +.LOCKED (system_dcm_locked), +.PSDONE (), +.STATUS () +); +defparam SYSTEM_DCM.CLKDV_DIVIDE = 2.0; // divide the system clock (50 MHz) by 2.0 to determine CLKDV (25 MHz) +defparam SYSTEM_DCM.CLKFX_DIVIDE = `CLK_DIVIDE; // the denominator of the clock multiplier used to determine CLKFX +defparam SYSTEM_DCM.CLKFX_MULTIPLY = `CLK_MULTIPLY; // the numerator of the clock multiplier used to determine CLKFX +defparam SYSTEM_DCM.CLKIN_DIVIDE_BY_2 = "FALSE"; +defparam SYSTEM_DCM.CLKIN_PERIOD = 20.0; // period of input clock in ns +defparam SYSTEM_DCM.CLKOUT_PHASE_SHIFT = "NONE"; // phase shift of NONE +defparam SYSTEM_DCM.CLK_FEEDBACK = "1X"; // feedback of NONE, 1X +defparam SYSTEM_DCM.DFS_FREQUENCY_MODE = "LOW"; // LOW frequency mode for frequency synthesis +defparam SYSTEM_DCM.DLL_FREQUENCY_MODE = "LOW"; // LOW frequency mode for DLL +defparam SYSTEM_DCM.DUTY_CYCLE_CORRECTION = "TRUE"; // Duty cycle correction, TRUE +defparam SYSTEM_DCM.PHASE_SHIFT = 0; // Amount of fixed phase shift from -255 to 255 +defparam SYSTEM_DCM.STARTUP_WAIT = "FALSE"; // Delay configuration DONE until DCM LOCK FALSE + +SRL16 RESET_SYSTEM_DCM ( +.Q (system_dcm_reset), +.CLK (system_clock_in), +.D (low), +.A0 (high), +.A1 (high), +.A2 (high), +.A3 (high) +); +defparam RESET_SYSTEM_DCM.INIT = "000F"; + +endmodule //CLOCK_GEN + +//--------------------------------------------------- + +module SVGA_TIMING_GENERATION +( +pixel_clock, +reset, +h_synch, +v_synch, +blank, +pixel_count, +line_count, +subchar_pixel, +subchar_line, +char_column, +char_line +); + +input pixel_clock; // pixel clock +input reset; // reset +output h_synch; // horizontal synch for VGA connector +output v_synch; // vertical synch for VGA connector +output blank; // composite blanking +output [10:0] pixel_count; // counts the pixels in a line +output [9:0] line_count; // counts the display lines +output [2:0] subchar_pixel; // pixel position within the character +output [2:0] subchar_line; // identifies the line number within a character block +output [6:0] char_column; // character number on the current line +output [6:0] char_line; // line number on the screen + +reg [9:0] line_count; // counts the display lines +reg [10:0] pixel_count; // counts the pixels in a line +reg h_synch; // horizontal synch +reg v_synch; // vertical synch + +reg h_blank; // horizontal blanking +reg v_blank; // vertical blanking +reg blank; // composite blanking + +reg [2:0] subchar_line; // identifies the line number within a character block +reg [9:0] char_column_count; // a counter used to define the character column number +reg [9:0] char_line_count; // a counter used to define the character line number +reg reset_char_line; // flag to reset the character line during VBI +reg reset_char_column; // flag to reset the character column during HBI +reg [2:0] subchar_pixel; // pixel position within the character +reg [6:0] char_column; // character number on the current line +reg [6:0] char_line; // line number on the screen + +// CREATE THE HORIZONTAL LINE PIXEL COUNTER +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset set pixel counter to 0 + pixel_count <= 11'd0; + + else if (pixel_count == (`H_TOTAL - 1)) + // last pixel in the line, so reset pixel counter + pixel_count <= 11'd0; + + else + pixel_count <= pixel_count + 1; +end + +// CREATE THE HORIZONTAL SYNCH PULSE +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset remove h_synch + h_synch <= 1'b0; + + else if (pixel_count == (`H_ACTIVE + `H_FRONT_PORCH - 1)) + // start of h_synch + h_synch <= 1'b1; + + else if (pixel_count == (`H_TOTAL - `H_BACK_PORCH - 1)) + // end of h_synch + h_synch <= 1'b0; +end + +// CREATE THE VERTICAL FRAME LINE COUNTER +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset set line counter to 0 + line_count <= 10'd0; + + else if ((line_count == (`V_TOTAL - 1)) & (pixel_count == (`H_TOTAL - 1))) + // last pixel in last line of frame, so reset line counter + line_count <= 10'd0; + + else if ((pixel_count == (`H_TOTAL - 1))) + // last pixel but not last line, so increment line counter + line_count <= line_count + 1; +end + +// CREATE THE VERTICAL SYNCH PULSE +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset remove v_synch + v_synch = 1'b0; + + else if ((line_count == (`V_ACTIVE + `V_FRONT_PORCH - 1) & + (pixel_count == `H_TOTAL - 1))) + // start of v_synch + v_synch = 1'b1; + + else if ((line_count == (`V_TOTAL - `V_BACK_PORCH - 1)) & + (pixel_count == (`H_TOTAL - 1))) + // end of v_synch + v_synch = 1'b0; +end + + +// CREATE THE HORIZONTAL BLANKING SIGNAL +// the "-2" is used instead of "-1" because of the extra register delay +// for the composite blanking signal +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset remove the h_blank + h_blank <= 1'b0; + + else if (pixel_count == (`H_ACTIVE -2)) + // start of HBI + h_blank <= 1'b1; + + else if (pixel_count == (`H_TOTAL -2)) + // end of HBI + h_blank <= 1'b0; +end + + +// CREATE THE VERTICAL BLANKING SIGNAL +// the "-2" is used instead of "-1" in the horizontal factor because of the extra +// register delay for the composite blanking signal +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset remove v_blank + v_blank <= 1'b0; + + else if ((line_count == (`V_ACTIVE - 1) & + (pixel_count == `H_TOTAL - 2))) + // start of VBI + v_blank <= 1'b1; + + else if ((line_count == (`V_TOTAL - 1)) & + (pixel_count == (`H_TOTAL - 2))) + // end of VBI + v_blank <= 1'b0; +end + + +// CREATE THE COMPOSITE BANKING SIGNAL +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset remove blank + blank <= 1'b0; + + // blank during HBI or VBI + else if (h_blank || v_blank) + blank <= 1'b1; + + else + // active video do not blank + blank <= 1'b0; +end + + +/* + CREATE THE CHARACTER COUNTER. + CHARACTERS ARE DEFINED WITHIN AN 8 x 8 PIXEL BLOCK. + + A 640 x 480 video mode will display 80 characters on 60 lines. + A 800 x 600 video mode will display 100 characters on 75 lines. + A 1024 x 768 video mode will display 128 characters on 96 lines. + + "subchar_line" identifies the row in the 8 x 8 block. + "subchar_pixel" identifies the column in the 8 x 8 block. +*/ + +// CREATE THE VERTICAL FRAME LINE COUNTER +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // on reset set line counter to 0 + subchar_line <= 3'b000; + + else if ((line_count == (`V_TOTAL - 1)) & (pixel_count == (`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) + // reset line counter + subchar_line <= 3'b000; + + else if (pixel_count == (`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY) + // increment line counter + subchar_line <= line_count + 1; +end + +// subchar_pixel defines the pixel within the character line +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + // reset to 5 so that the first character data can be latched + subchar_pixel <= 3'b101; + + else if (pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) + // reset to 5 so that the first character data can be latched + subchar_pixel <= 3'b101; + + else + subchar_pixel <= subchar_pixel + 1; +end + + +wire [9:0] char_column_count_iter = char_column_count + 1; + +always @ (posedge pixel_clock or posedge reset) begin + if (reset) begin + char_column_count <= 10'd0; + char_column <= 7'd0; + end + + else if (reset_char_column) begin + // reset the char column count during the HBI + char_column_count <= 10'd0; + char_column <= 7'd0; + end + + else begin + char_column_count <= char_column_count_iter; + char_column <= char_column_count_iter[9:3]; + end +end + +wire [9:0] char_line_count_iter = char_line_count + 1; + +always @ (posedge pixel_clock or posedge reset) begin + if (reset) begin + char_line_count <= 10'd0; + char_line <= 7'd0; + end + + else if (reset_char_line) begin + // reset the char line count during the VBI + char_line_count <= 10'd0; + char_line <= 7'd0; + end + + else if (pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) begin + // last pixel but not last line, so increment line counter + char_line_count <= char_line_count_iter; + char_line <= char_line_count_iter[9:3]; + end +end + +// CREATE THE CONTROL SIGNALS FOR THE CHARACTER ADDRESS COUNTERS +/* + The HOLD and RESET signals are advanced from the beginning and end + of HBI and VBI to compensate for the internal character generation + pipeline. +*/ +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + reset_char_column <= 1'b0; + + else if (pixel_count == ((`H_ACTIVE - 1) - `CHARACTER_DECODE_DELAY)) + // start of HBI + reset_char_column <= 1'b1; + + else if (pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) + // end of HBI + reset_char_column <= 1'b0; +end + +always @ (posedge pixel_clock or posedge reset) begin + if (reset) + reset_char_line <= 1'b0; + + else if ((line_count == (`V_ACTIVE - 1)) & + (pixel_count == ((`H_ACTIVE - 1) - `CHARACTER_DECODE_DELAY))) + // start of VBI + reset_char_line <= 1'b1; + + else if ((line_count == (`V_TOTAL - 1)) & + (pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY))) + // end of VBI + reset_char_line <= 1'b0; +end +endmodule //SVGA_TIMING_GENERATION + +//---------------------------------------------- + +module VIDEO_OUT +( +pixel_clock, +reset, +vga_red_data, +vga_green_data, +vga_blue_data, +h_synch, +v_synch, +blank, + +VGA_HSYNCH, +VGA_VSYNCH, +VGA_OUT_RED, +VGA_OUT_GREEN, +VGA_OUT_BLUE +); + +input pixel_clock; +input reset; +input vga_red_data; +input vga_green_data; +input vga_blue_data; +input h_synch; +input v_synch; +input blank; + +output VGA_HSYNCH; +output VGA_VSYNCH; +output VGA_OUT_RED; +output VGA_OUT_GREEN; +output VGA_OUT_BLUE; + +reg VGA_HSYNCH; +reg VGA_VSYNCH; +reg VGA_OUT_RED; +reg VGA_OUT_GREEN; +reg VGA_OUT_BLUE; + +// make the external video connections +always @ (posedge pixel_clock or posedge reset) begin + if (reset) begin + // shut down the video output during reset + VGA_HSYNCH <= 1'b1; + VGA_VSYNCH <= 1'b1; + VGA_OUT_RED <= 1'b0; + VGA_OUT_GREEN <= 1'b0; + VGA_OUT_BLUE <= 1'b0; + end + + else if (blank) begin + // output black during the blank signal + VGA_HSYNCH <= h_synch; + VGA_VSYNCH <= v_synch; + VGA_OUT_RED <= 1'b0; + VGA_OUT_GREEN <= 1'b0; + VGA_OUT_BLUE <= 1'b0; + end + + else begin + // output color data otherwise + VGA_HSYNCH <= h_synch; + VGA_VSYNCH <= v_synch; + VGA_OUT_RED <= vga_red_data; + VGA_OUT_GREEN <= vga_green_data; + VGA_OUT_BLUE <= vga_blue_data; + end +end + +endmodule // VIDEO_OUT \ No newline at end of file Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/SVGA_DEFINES.v =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/SVGA_DEFINES.v (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/SVGA_DEFINES.v (revision 4) @@ -0,0 +1,48 @@ +/* +--------------------------------------------------------------------------------- +To select a resolution and refresh rate, remove the comments around the desired +block in this file. The pixel clock output by the DCM module should approximately +equal the rate specified above the timing block that is uncommented. +--------------------------------------------------------------------------------- +*/ + +// DEFINE THE VARIOUS PIPELINE DELAYS + +`define CHARACTER_DECODE_DELAY 4 + + +// 640 X 480 @ 60Hz with a 25.175MHz pixel clock +`define H_ACTIVE 600 // pixels +`define H_FRONT_PORCH 16 // pixels +`define H_SYNCH 96 // pixels +`define H_BACK_PORCH 48 // pixels +`define H_TOTAL 800 // pixels + +`define V_ACTIVE 432 // lines +`define V_FRONT_PORCH 11 // lines +`define V_SYNCH 2 // lines +`define V_BACK_PORCH 31 // lines +`define V_TOTAL 524 // lines + +`define CLK_MULTIPLY 2 // 50 * 2/4 = 25.000 MHz +`define CLK_DIVIDE 4 + + +/* +// 640 X 480 @ 60Hz with a 25.175MHz pixel clock +`define H_ACTIVE 640 // pixels +`define H_FRONT_PORCH 16 // pixels +`define H_SYNCH 96 // pixels +`define H_BACK_PORCH 48 // pixels +`define H_TOTAL 800 // pixels + +`define V_ACTIVE 480 // lines +`define V_FRONT_PORCH 11 // lines +`define V_SYNCH 2 // lines +`define V_BACK_PORCH 31 // lines +`define V_TOTAL 524 // lines + +`define CLK_MULTIPLY 2 // 50 * 2/4 = 25.000 MHz +`define CLK_DIVIDE 4 +*/ + Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd (revision 4) @@ -0,0 +1,473 @@ +------------------------------------------------------------------------------ +-- s3e_vga_char_dev.vhd - entity/architecture pair +------------------------------------------------------------------------------ +-- IMPORTANT: +-- DO NOT MODIFY THIS FILE EXCEPT IN THE DESIGNATED SECTIONS. +-- +-- SEARCH FOR --USER TO DETERMINE WHERE CHANGES ARE ALLOWED. +-- +-- TYPICALLY, THE ONLY ACCEPTABLE CHANGES INVOLVE ADDING NEW +-- PORTS AND GENERICS THAT GET PASSED THROUGH TO THE INSTANTIATION +-- OF THE USER_LOGIC ENTITY. +------------------------------------------------------------------------------ +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +------------------------------------------------------------------------------ +-- Filename: s3e_vga_char_dev.vhd +-- Version: 1.00.a +-- Description: Top level design, instantiates IPIF and user logic. +-- Date: Wed Sep 12 16:22:49 2007 (by Create and Import Peripheral Wizard) +-- VHDL Standard: VHDL'93 +------------------------------------------------------------------------------ +-- Naming Conventions: +-- active low signals: "*_n" +-- clock signals: "clk", "clk_div#", "clk_#x" +-- reset signals: "rst", "rst_n" +-- generics: "C_*" +-- user defined types: "*_TYPE" +-- state machine next state: "*_ns" +-- state machine current state: "*_cs" +-- combinatorial signals: "*_com" +-- pipelined or register delay signals: "*_d#" +-- counter signals: "*cnt*" +-- clock enable signals: "*_ce" +-- internal version of output port: "*_i" +-- device pins: "*_pin" +-- ports: "- Names begin with Uppercase" +-- processes: "*_PROCESS" +-- component instantiations: "I_<#|FUNC>" +------------------------------------------------------------------------------ + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_arith.all; +use ieee.std_logic_unsigned.all; + +library proc_common_v2_00_a; +use proc_common_v2_00_a.proc_common_pkg.all; +use proc_common_v2_00_a.ipif_pkg.all; +library opb_ipif_v3_01_c; +use opb_ipif_v3_01_c.all; + +library s3e_vga_char_dev_v1_00_a; +use s3e_vga_char_dev_v1_00_a.all; + +------------------------------------------------------------------------------ +-- Entity section +------------------------------------------------------------------------------ +-- Definition of Generics: +-- C_BASEADDR -- User logic base address +-- C_HIGHADDR -- User logic high address +-- C_OPB_AWIDTH -- OPB address bus width +-- C_OPB_DWIDTH -- OPB data bus width +-- C_USER_ID_CODE -- User ID to place in MIR/Reset register +-- C_FAMILY -- Target FPGA architecture +-- +-- Definition of Ports: +-- OPB_Clk -- OPB Clock +-- OPB_Rst -- OPB Reset +-- Sl_DBus -- Slave data bus +-- Sl_errAck -- Slave error acknowledge +-- Sl_retry -- Slave retry +-- Sl_toutSup -- Slave timeout suppress +-- Sl_xferAck -- Slave transfer acknowledge +-- OPB_ABus -- OPB address bus +-- OPB_BE -- OPB byte enable +-- OPB_DBus -- OPB data bus +-- OPB_RNW -- OPB read/not write +-- OPB_select -- OPB select +-- OPB_seqAddr -- OPB sequential address +------------------------------------------------------------------------------ + +entity s3e_vga_char_dev is + generic + ( + -- ADD USER GENERICS BELOW THIS LINE --------------- + --USER generics added here + -- ADD USER GENERICS ABOVE THIS LINE --------------- + + -- DO NOT EDIT BELOW THIS LINE --------------------- + -- Bus protocol parameters, do not add to or delete + C_BASEADDR : std_logic_vector := X"00000000"; + C_HIGHADDR : std_logic_vector := X"0000FFFF"; + C_OPB_AWIDTH : integer := 32; + C_OPB_DWIDTH : integer := 32; + C_USER_ID_CODE : integer := 3; + C_FAMILY : string := "virtex2p" + -- DO NOT EDIT ABOVE THIS LINE --------------------- + ); + port + ( + -- ADD USER PORTS BELOW THIS LINE ------------------ + fifty_clock_in : in std_logic; + VGA_HSYNCH : out std_logic; + VGA_VSYNCH : out std_logic; + VGA_OUT_RED : out std_logic; + VGA_OUT_GREEN : out std_logic; + VGA_OUT_BLUE : out std_logic; + -- ADD USER PORTS ABOVE THIS LINE ------------------ + + -- DO NOT EDIT BELOW THIS LINE --------------------- + -- Bus protocol ports, do not add to or delete + OPB_Clk : in std_logic; + OPB_Rst : in std_logic; + Sl_DBus : out std_logic_vector(0 to C_OPB_DWIDTH-1); + Sl_errAck : out std_logic; + Sl_retry : out std_logic; + Sl_toutSup : out std_logic; + Sl_xferAck : out std_logic; + OPB_ABus : in std_logic_vector(0 to C_OPB_AWIDTH-1); + OPB_BE : in std_logic_vector(0 to C_OPB_DWIDTH/8-1); + OPB_DBus : in std_logic_vector(0 to C_OPB_DWIDTH-1); + OPB_RNW : in std_logic; + OPB_select : in std_logic; + OPB_seqAddr : in std_logic + -- DO NOT EDIT ABOVE THIS LINE --------------------- + ); + + attribute SIGIS : string; + attribute SIGIS of OPB_Clk : signal is "Clk"; + attribute SIGIS of OPB_Rst : signal is "Rst"; + +end entity s3e_vga_char_dev; + +------------------------------------------------------------------------------ +-- Architecture section +------------------------------------------------------------------------------ + +architecture IMP of s3e_vga_char_dev is + + ------------------------------------------ + -- Constant: array of address range identifiers + ------------------------------------------ + constant ARD_ID_ARRAY : INTEGER_ARRAY_TYPE := + ( + 0 => USER_00, -- user logic S/W register address space + 1 => IPIF_RST -- include IPIF S/W Reset/MIR service + ); + + ------------------------------------------ + -- Constant: array of address pairs for each address range + ------------------------------------------ + constant ZERO_ADDR_PAD : std_logic_vector(0 to 64-C_OPB_AWIDTH-1) := (others => '0'); + + constant USER_BASEADDR : std_logic_vector := C_BASEADDR or X"00000000"; + constant USER_HIGHADDR : std_logic_vector := C_BASEADDR or X"000000FF"; + + constant RST_BASEADDR : std_logic_vector := C_BASEADDR or X"00000100"; + constant RST_HIGHADDR : std_logic_vector := C_BASEADDR or X"000001FF"; + + constant ARD_ADDR_RANGE_ARRAY : SLV64_ARRAY_TYPE := + ( + ZERO_ADDR_PAD & USER_BASEADDR, -- user logic base address + ZERO_ADDR_PAD & USER_HIGHADDR, -- user logic high address + ZERO_ADDR_PAD & RST_BASEADDR, -- MIR/Reset register base address + ZERO_ADDR_PAD & RST_HIGHADDR -- MIR/Reset register high address + ); + + ------------------------------------------ + -- Constant: array of data widths for each target address range + ------------------------------------------ + constant USER_DWIDTH : integer := 32; + + constant ARD_DWIDTH_ARRAY : INTEGER_ARRAY_TYPE := + ( + 0 => USER_DWIDTH, -- user logic data width + 1 => C_OPB_DWIDTH -- MIR/Reset register data width + ); + + ------------------------------------------ + -- Constant: array of desired number of chip enables for each address range + ------------------------------------------ + constant USER_NUM_CE : integer := 2; + + constant ARD_NUM_CE_ARRAY : INTEGER_ARRAY_TYPE := + ( + 0 => pad_power2(USER_NUM_CE), -- user logic number of CEs + 1 => 1 -- MIR/Reset register - 1 CE + ); + + ------------------------------------------ + -- Constant: array of unique properties for each address range + ------------------------------------------ + constant ARD_DEPENDENT_PROPS_ARRAY : DEPENDENT_PROPS_ARRAY_TYPE := + ( + 0 => (others => 0), -- user logic slave space dependent properties (none defined) + 1 => (others => 0) -- IPIF reset/mir dependent properties (none defined) + ); + + ------------------------------------------ + -- Constant: pipeline mode + -- 1 = include OPB-In pipeline registers + -- 2 = include IP pipeline registers + -- 3 = include OPB-In and IP pipeline registers + -- 4 = include OPB-Out pipeline registers + -- 5 = include OPB-In and OPB-Out pipeline registers + -- 6 = include IP and OPB-Out pipeline registers + -- 7 = include OPB-In, IP, and OPB-Out pipeline registers + -- Note: + -- only mode 4, 5, 7 are supported for this release + ------------------------------------------ + constant PIPELINE_MODEL : integer := 5; + + ------------------------------------------ + -- Constant: user core ID code + ------------------------------------------ + constant DEV_BLK_ID : integer := C_USER_ID_CODE; + + ------------------------------------------ + -- Constant: enable MIR/Reset register + ------------------------------------------ + constant DEV_MIR_ENABLE : integer := 1; + + ------------------------------------------ + -- Constant: array of IP interrupt mode + -- 1 = Active-high interrupt condition + -- 2 = Active-low interrupt condition + -- 3 = Active-high pulse interrupt event + -- 4 = Active-low pulse interrupt event + -- 5 = Positive-edge interrupt event + -- 6 = Negative-edge interrupt event + ------------------------------------------ + constant IP_INTR_MODE_ARRAY : INTEGER_ARRAY_TYPE := + ( + 0 => 0 -- not used + ); + + ------------------------------------------ + -- Constant: enable device burst + ------------------------------------------ + constant DEV_BURST_ENABLE : integer := 0; + + ------------------------------------------ + -- Constant: include address counter for burst transfers + ------------------------------------------ + constant INCLUDE_ADDR_CNTR : integer := 0; + + ------------------------------------------ + -- Constant: include write buffer that decouples OPB and IPIC write transactions + ------------------------------------------ + constant INCLUDE_WR_BUF : integer := 0; + + ------------------------------------------ + -- Constant: index for CS/CE + ------------------------------------------ + constant USER00_CS_INDEX : integer := get_id_index(ARD_ID_ARRAY, USER_00); + + constant USER00_CE_INDEX : integer := calc_start_ce_index(ARD_NUM_CE_ARRAY, USER00_CS_INDEX); + + ------------------------------------------ + -- IP Interconnect (IPIC) signal declarations -- do not delete + -- prefix 'i' stands for IPIF while prefix 'u' stands for user logic + -- typically user logic will be hooked up to IPIF directly via i + -- unless signal slicing and muxing are needed via u + ------------------------------------------ + signal iBus2IP_RdCE : std_logic_vector(0 to calc_num_ce(ARD_NUM_CE_ARRAY)-1); + signal iBus2IP_WrCE : std_logic_vector(0 to calc_num_ce(ARD_NUM_CE_ARRAY)-1); + signal iBus2IP_Data : std_logic_vector(0 to C_OPB_DWIDTH-1); + signal iBus2IP_BE : std_logic_vector(0 to C_OPB_DWIDTH/8-1); + signal iIP2Bus_Data : std_logic_vector(0 to C_OPB_DWIDTH-1) := (others => '0'); + signal iIP2Bus_Ack : std_logic := '0'; + signal iIP2Bus_Error : std_logic := '0'; + signal iIP2Bus_Retry : std_logic := '0'; + signal iIP2Bus_ToutSup : std_logic := '0'; + signal ENABLE_POSTED_WRITE : std_logic_vector(0 to ARD_ID_ARRAY'length-1) := (others => '0'); -- enable posted write behavior + signal ZERO_IP2RFIFO_Data : std_logic_vector(0 to ARD_DWIDTH_ARRAY(get_id_index_iboe(ARD_ID_ARRAY, IPIF_RDFIFO_DATA))-1) := (others => '0'); -- work around for XST not taking (others => '0') in port mapping + signal ZERO_WFIFO2IP_Data : std_logic_vector(0 to ARD_DWIDTH_ARRAY(get_id_index_iboe(ARD_ID_ARRAY, IPIF_WRFIFO_DATA))-1) := (others => '0'); -- work around for XST not taking (others => '0') in port mapping + signal ZERO_IP2Bus_IntrEvent : std_logic_vector(0 to IP_INTR_MODE_ARRAY'length-1) := (others => '0'); -- work around for XST not taking (others => '0') in port mapping + signal iBus2IP_Clk : std_logic; + signal iBus2IP_Reset : std_logic; + signal uBus2IP_Data : std_logic_vector(0 to USER_DWIDTH-1); + signal uBus2IP_BE : std_logic_vector(0 to USER_DWIDTH/8-1); + signal uBus2IP_RdCE : std_logic_vector(0 to USER_NUM_CE-1); + signal uBus2IP_WrCE : std_logic_vector(0 to USER_NUM_CE-1); + signal uIP2Bus_Data : std_logic_vector(0 to USER_DWIDTH-1); + + ------------------------------------------ + -- Component declaration for verilog user logic + ------------------------------------------ + component user_logic is + generic + ( + -- ADD USER GENERICS BELOW THIS LINE --------------- + --USER generics added here + -- ADD USER GENERICS ABOVE THIS LINE --------------- + + -- DO NOT EDIT BELOW THIS LINE --------------------- + -- Bus protocol parameters, do not add to or delete + C_DWIDTH : integer := 32; + C_NUM_CE : integer := 2 + -- DO NOT EDIT ABOVE THIS LINE --------------------- + ); + port + ( + -- ADD USER PORTS BELOW THIS LINE ------------------ + --USER ports added here + fifty_clock_in : in std_logic; + VGA_HSYNCH : out std_logic; + VGA_VSYNCH : out std_logic; + VGA_OUT_RED : out std_logic; + VGA_OUT_GREEN : out std_logic; + VGA_OUT_BLUE : out std_logic; + -- ADD USER PORTS ABOVE THIS LINE ------------------ + + -- DO NOT EDIT BELOW THIS LINE --------------------- + -- Bus protocol ports, do not add to or delete + Bus2IP_Clk : in std_logic; + Bus2IP_Reset : in std_logic; + Bus2IP_Data : in std_logic_vector(0 to C_DWIDTH-1); + Bus2IP_BE : in std_logic_vector(0 to C_DWIDTH/8-1); + Bus2IP_RdCE : in std_logic_vector(0 to C_NUM_CE-1); + Bus2IP_WrCE : in std_logic_vector(0 to C_NUM_CE-1); + IP2Bus_Data : out std_logic_vector(0 to C_DWIDTH-1); + IP2Bus_Ack : out std_logic; + IP2Bus_Retry : out std_logic; + IP2Bus_Error : out std_logic; + IP2Bus_ToutSup : out std_logic + -- DO NOT EDIT ABOVE THIS LINE --------------------- + ); + end component user_logic; + +begin + + ------------------------------------------ + -- instantiate the OPB IPIF + ------------------------------------------ + OPB_IPIF_I : entity opb_ipif_v3_01_c.opb_ipif + generic map + ( + C_ARD_ID_ARRAY => ARD_ID_ARRAY, + C_ARD_ADDR_RANGE_ARRAY => ARD_ADDR_RANGE_ARRAY, + C_ARD_DWIDTH_ARRAY => ARD_DWIDTH_ARRAY, + C_ARD_NUM_CE_ARRAY => ARD_NUM_CE_ARRAY, + C_ARD_DEPENDENT_PROPS_ARRAY => ARD_DEPENDENT_PROPS_ARRAY, + C_PIPELINE_MODEL => PIPELINE_MODEL, + C_DEV_BLK_ID => DEV_BLK_ID, + C_DEV_MIR_ENABLE => DEV_MIR_ENABLE, + C_OPB_AWIDTH => C_OPB_AWIDTH, + C_OPB_DWIDTH => C_OPB_DWIDTH, + C_FAMILY => C_FAMILY, + C_IP_INTR_MODE_ARRAY => IP_INTR_MODE_ARRAY, + C_DEV_BURST_ENABLE => DEV_BURST_ENABLE, + C_INCLUDE_ADDR_CNTR => INCLUDE_ADDR_CNTR, + C_INCLUDE_WR_BUF => INCLUDE_WR_BUF + ) + port map + ( + OPB_select => OPB_select, + OPB_DBus => OPB_DBus, + OPB_ABus => OPB_ABus, + OPB_BE => OPB_BE, + OPB_RNW => OPB_RNW, + OPB_seqAddr => OPB_seqAddr, + Sln_DBus => Sl_DBus, + Sln_xferAck => Sl_xferAck, + Sln_errAck => Sl_errAck, + Sln_retry => Sl_retry, + Sln_toutSup => Sl_toutSup, + Bus2IP_CS => open, + Bus2IP_CE => open, + Bus2IP_RdCE => iBus2IP_RdCE, + Bus2IP_WrCE => iBus2IP_WrCE, + Bus2IP_Data => iBus2IP_Data, + Bus2IP_Addr => open, + Bus2IP_AddrValid => open, + Bus2IP_BE => iBus2IP_BE, + Bus2IP_RNW => open, + Bus2IP_Burst => open, + IP2Bus_Data => iIP2Bus_Data, + IP2Bus_Ack => iIP2Bus_Ack, + IP2Bus_AddrAck => '0', + IP2Bus_Error => iIP2Bus_Error, + IP2Bus_Retry => iIP2Bus_Retry, + IP2Bus_ToutSup => iIP2Bus_ToutSup, + IP2Bus_PostedWrInh => ENABLE_POSTED_WRITE, + IP2RFIFO_Data => ZERO_IP2RFIFO_Data, + IP2RFIFO_WrMark => '0', + IP2RFIFO_WrRelease => '0', + IP2RFIFO_WrReq => '0', + IP2RFIFO_WrRestore => '0', + RFIFO2IP_AlmostFull => open, + RFIFO2IP_Full => open, + RFIFO2IP_Vacancy => open, + RFIFO2IP_WrAck => open, + IP2WFIFO_RdMark => '0', + IP2WFIFO_RdRelease => '0', + IP2WFIFO_RdReq => '0', + IP2WFIFO_RdRestore => '0', + WFIFO2IP_AlmostEmpty => open, + WFIFO2IP_Data => ZERO_WFIFO2IP_Data, + WFIFO2IP_Empty => open, + WFIFO2IP_Occupancy => open, + WFIFO2IP_RdAck => open, + IP2Bus_IntrEvent => ZERO_IP2Bus_IntrEvent, + IP2INTC_Irpt => open, + Freeze => '0', + Bus2IP_Freeze => open, + OPB_Clk => OPB_Clk, + Bus2IP_Clk => iBus2IP_Clk, + IP2Bus_Clk => '0', + Reset => OPB_Rst, + Bus2IP_Reset => iBus2IP_Reset + ); + + ------------------------------------------ + -- instantiate the User Logic + ------------------------------------------ + USER_LOGIC_I : component user_logic + generic map + ( + -- MAP USER GENERICS BELOW THIS LINE --------------- + --USER generics mapped here + -- MAP USER GENERICS ABOVE THIS LINE --------------- + + C_DWIDTH => USER_DWIDTH, + C_NUM_CE => USER_NUM_CE + ) + port map + ( + -- MAP USER PORTS BELOW THIS LINE ------------------ + --USER ports mapped here + fifty_clock_in => fifty_clock_in, + VGA_HSYNCH => VGA_HSYNCH, + VGA_VSYNCH => VGA_VSYNCH, + VGA_OUT_RED => VGA_OUT_RED, + VGA_OUT_GREEN => VGA_OUT_GREEN, + VGA_OUT_BLUE => VGA_OUT_BLUE, + -- MAP USER PORTS ABOVE THIS LINE ------------------ + + Bus2IP_Clk => iBus2IP_Clk, + Bus2IP_Reset => iBus2IP_Reset, + Bus2IP_Data => uBus2IP_Data, + Bus2IP_BE => uBus2IP_BE, + Bus2IP_RdCE => uBus2IP_RdCE, + Bus2IP_WrCE => uBus2IP_WrCE, + IP2Bus_Data => uIP2Bus_Data, + IP2Bus_Ack => iIP2Bus_Ack, + IP2Bus_Retry => iIP2Bus_Retry, + IP2Bus_Error => iIP2Bus_Error, + IP2Bus_ToutSup => iIP2Bus_ToutSup + ); + + ------------------------------------------ + -- hooking up signal slicing + ------------------------------------------ + uBus2IP_BE <= iBus2IP_BE(0 to USER_DWIDTH/8-1); + uBus2IP_Data <= iBus2IP_Data(0 to USER_DWIDTH-1); + uBus2IP_RdCE <= iBus2IP_RdCE(USER00_CE_INDEX to USER00_CE_INDEX+USER_NUM_CE-1); + uBus2IP_WrCE <= iBus2IP_WrCE(USER00_CE_INDEX to USER00_CE_INDEX+USER_NUM_CE-1); + iIP2Bus_Data(0 to USER_DWIDTH-1) <= uIP2Bus_Data; + +end IMP; Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.pao =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.pao (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.pao (revision 4) @@ -0,0 +1,50 @@ +############################################################################## +## Filename: D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.pao +## Description: Peripheral Analysis Order +## Date: Wed Sep 12 16:22:49 2007 (by Create and Import Peripheral Wizard) +############################################################################## + +lib proc_common_v2_00_a proc_common_pkg vhdl +lib proc_common_v2_00_a family vhdl +lib proc_common_v2_00_a or_muxcy vhdl +lib proc_common_v2_00_a or_gate vhdl +lib proc_common_v2_00_a counter_bit vhdl +lib proc_common_v2_00_a counter vhdl +lib proc_common_v2_00_a inferred_lut4 vhdl +lib proc_common_v2_00_a srl_fifo2 vhdl +lib proc_common_v2_00_a pf_counter_bit vhdl +lib proc_common_v2_00_a pf_counter vhdl +lib proc_common_v2_00_a pf_counter_top vhdl +lib proc_common_v2_00_a pf_occ_counter vhdl +lib proc_common_v2_00_a pf_occ_counter_top vhdl +lib proc_common_v2_00_a pf_adder_bit vhdl +lib proc_common_v2_00_a pf_adder vhdl +lib proc_common_v2_00_a pf_dpram_select vhdl +lib proc_common_v2_00_a srl16_fifo vhdl +lib proc_common_v2_00_a pselect vhdl +lib proc_common_v2_00_a valid_be vhdl +lib proc_common_v2_00_a ld_arith_reg vhdl +lib proc_common_v2_00_a mux_onehot vhdl +lib proc_common_v2_00_a down_counter vhdl +lib proc_common_v2_00_a ipif_pkg vhdl +lib proc_common_v2_00_a ipif_steer vhdl +lib proc_common_v2_00_a direct_path_cntr_ai vhdl +lib interrupt_control_v1_00_a interrupt_control vhdl +lib wrpfifo_v1_01_b pf_dly1_mux vhdl +lib wrpfifo_v1_01_b ipif_control_wr vhdl +lib wrpfifo_v1_01_b wrpfifo_dp_cntl vhdl +lib wrpfifo_v1_01_b wrpfifo_top vhdl +lib rdpfifo_v1_01_b ipif_control_rd vhdl +lib rdpfifo_v1_01_b rdpfifo_dp_cntl vhdl +lib rdpfifo_v1_01_b rdpfifo_top vhdl +lib opb_ipif_v3_01_c reset_mir vhdl +lib opb_ipif_v3_01_c brst_addr_cntr vhdl +lib opb_ipif_v3_01_c opb_flex_addr_cntr vhdl +lib opb_ipif_v3_01_c brst_addr_cntr_reg vhdl +lib opb_ipif_v3_01_c opb_be_gen vhdl +lib opb_ipif_v3_01_c srl_fifo3 vhdl +lib opb_ipif_v3_01_c write_buffer vhdl +lib opb_ipif_v3_01_c opb_bam vhdl +lib opb_ipif_v3_01_c opb_ipif vhdl +lib s3e_vga_char_dev_v1_00_a user_logic verilog +lib s3e_vga_char_dev_v1_00_a s3e_vga_char_dev vhdl Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.mpd =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.mpd (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.mpd (revision 4) @@ -0,0 +1,51 @@ +################################################################### +## +## Name : s3e_vga_char_dev +## Desc : Microprocessor Peripheral Description +## : Automatically generated by PsfUtility +## +################################################################### + +BEGIN s3e_vga_char_dev + +## Peripheral Options +OPTION IPTYPE = PERIPHERAL +OPTION IMP_NETLIST = TRUE +OPTION HDL = MIXED +OPTION IP_GROUP = MICROBLAZE:PPC:USER +OPTION DESC = S3E_VGA_CHAR_DEV + + +## Bus Interfaces +BUS_INTERFACE BUS = SOPB, BUS_TYPE = SLAVE, BUS_STD = OPB + +## Generics for VHDL or Parameters for Verilog +PARAMETER C_BASEADDR = 0xffffffff, DT = std_logic_vector, MIN_SIZE = 0x200, BUS = SOPB, ADDRESS = BASE, PAIR = C_HIGHADDR +PARAMETER C_HIGHADDR = 0x00000000, DT = std_logic_vector, BUS = SOPB, ADDRESS = HIGH, PAIR = C_BASEADDR +PARAMETER C_OPB_AWIDTH = 32, DT = INTEGER, BUS = SOPB, ASSIGNMENT = CONSTANT +PARAMETER C_OPB_DWIDTH = 32, DT = INTEGER, BUS = SOPB, RANGE = (8, 16, 32) +PARAMETER C_USER_ID_CODE = 3, DT = INTEGER, RANGE = (0:255) +PARAMETER C_FAMILY = virtex2p, DT = STRING + +## Ports +PORT fifty_clock_in = "", DIR = I, SIGIS = Clk +PORT VGA_HSYNCH = "", DIR = O +PORT VGA_VSYNCH = "", DIR = O +PORT VGA_OUT_RED = "", DIR = O +PORT VGA_OUT_GREEN = "", DIR = O +PORT VGA_OUT_BLUE = "", DIR = O +PORT OPB_Clk = "", DIR = I, SIGIS = Clk, BUS = SOPB +PORT OPB_Rst = OPB_Rst, DIR = I, SIGIS = Rst, BUS = SOPB +PORT Sl_DBus = Sl_DBus, DIR = O, VEC = [0:(C_OPB_DWIDTH-1)], BUS = SOPB +PORT Sl_errAck = Sl_errAck, DIR = O, BUS = SOPB +PORT Sl_retry = Sl_retry, DIR = O, BUS = SOPB +PORT Sl_toutSup = Sl_toutSup, DIR = O, BUS = SOPB +PORT Sl_xferAck = Sl_xferAck, DIR = O, BUS = SOPB +PORT OPB_ABus = OPB_ABus, DIR = I, VEC = [0:(C_OPB_AWIDTH-1)], BUS = SOPB +PORT OPB_BE = OPB_BE, DIR = I, VEC = [0:((C_OPB_DWIDTH/8)-1)], BUS = SOPB +PORT OPB_DBus = OPB_DBus, DIR = I, VEC = [0:(C_OPB_DWIDTH-1)], BUS = SOPB +PORT OPB_RNW = OPB_RNW, DIR = I, BUS = SOPB +PORT OPB_select = OPB_select, DIR = I, BUS = SOPB +PORT OPB_seqAddr = OPB_seqAddr, DIR = I, BUS = SOPB + +END Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/_s3e_vga_char_dev_xst.prj =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/_s3e_vga_char_dev_xst.prj (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/data/_s3e_vga_char_dev_xst.prj (revision 4) @@ -0,0 +1,54 @@ +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd" +vhdl interrupt_control_v1_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" +vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd" +vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd" +vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/user_logic.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_DISPLAY.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_GEN.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_GEN_ROM.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_RAM.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CLOCK_GEN.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/HEX_2_ASCII.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/MAIN.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/SVGA_DEFINES.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/SVGA_TIMING_GENERATION.v" +verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/VIDEO_OUT.v" +vhdl s3e_vga_char_dev_v1_00_a "../hdl/vhdl/s3e_vga_char_dev.vhd" Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise (revision 4)
opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore (revision 4) @@ -0,0 +1,1345 @@ +# Project Navigator Project Restoration Script +# +# WARNING: Do not modify this file. Any alteration of this file is not +# supported and will likely cause project restoration to fail. The +# format and the contents will be modified without further notice. +# +# This script can be used to recreate the associated project. To use this script, +# source it in a Xilinx Tcl shell, such as xtclsh or the Project Navigator Tcl +# Shell tab, and call the 'restore' proc. Restore takes the project directory as +# an optional argument. Pass in the project directory if it is different than the +# current working directory, otherwise don't pass in anything. +# +# Example: +# In this example the project is in the directory "./projects/m_project_dir". +# +# source ./projects/m_project_dir/my_project.restore +# restore ./projects/m_project_dir +# +# Example: +# In this example the project is in the current working directory. +# +# source my_project.restore +# restore +# +# Note that restoring a project this way has the following limitations: +# - Process status will not be restored. +# - A root-level source will be set as "Top", even if a lower-level source had +# previously been set as "Top". +# - Sources with non-default Design View associations will revert to the default +# association. +# - Snapshots will not be restored. +# +# The project which failed to load will be backed up as .fail. +# Please open a Technical Support WebCase at +# www.xilinx.com/support/clearexpress/websupport.htm and submit this file, along +# with the project source files, for evaluation. +# +# Copyright 2007, Xilinx, Inc. + + +proc ERR { msg } { + puts "ERROR: $msg" +} + +proc WARN { msg } { + puts "WARNING: $msg" +} + +proc INFO { msg } { + puts "$msg" +} + +# Helper that returns 1 if the string is blank, otherwise 0. +proc IsBlank { str } { + if { [string length $str] == 0 } { + return 1 + } + return 0 +} + +# Helper for determining whether a value is 'NULL'. +# Returns 1 if the value is 0; returns 0 if the value is anything else. +proc IsNull { val } { + if { $val == 0 } { + return 1 + } + return 0 +} + +proc HandleException { script { msg "" } } { + set catch_result [catch { + uplevel 1 $script + } RESULT] + if {$catch_result} { + if {![IsBlank $msg]} { + ERR $msg + } + INFO "$RESULT" + INFO "$::errorInfo" + } +} + +# These two procs help to load shared libraries in a platform +# independent way. +proc _LoadLibrary {name} { + set libExt [info sharedlibextension] + set libFullName "$name$libExt" + HandleException { + load $libFullName + } "A problem occured loading library $libFullName." +} + +proc _LoadFactoryLibrary {Factory} { + HandleException { + Xilinx::Cit::FactoryLoad $Factory + } "A problem occured loading library $Factory." +} + +_LoadLibrary libCit_CoreStub +_LoadLibrary libPrjrep_CommonStub +_LoadFactoryLibrary libPrjrep_Common +_LoadLibrary libDpm_SupportStub +_LoadLibrary libDpm_PnfStub +_LoadLibrary libDpm_DefnDataStub +_LoadLibrary libDpm_DesignDataStub +_LoadLibrary libDpm_HdlStub +_LoadLibrary libPrjrep_RepositoryStub +_LoadLibrary libCitI_CoreStub +_LoadLibrary libHdcI_HdcHDProjectStub +_LoadLibrary libTcltaskI_TaskStub +_LoadLibrary libCommonI_CommonStub +_LoadFactoryLibrary libTcltask_Helpers +_LoadFactoryLibrary libHdcC_HDProject +_LoadLibrary libHdcI_HdcContainerStub + +# Helper to exectute code only when the (pointer) variable name is valid. +proc OnOkPtr { var_name script } { + if { [ uplevel info exists $var_name ] } { + upvar $var_name var + if { $var != 0 } { return [ uplevel $script ] } + } +} + +# Helper to exectute code only when the (pointer) variable name is 0. +proc OnNullPtr { var_name script } { + if { [ uplevel info exists $var_name ] } { + upvar $var_name var + if { $var == 0 } { return [ uplevel $script ] } + } +} + +# Helper to exectute code only when the value of variable name is 1. +proc OnSuccess { var_name script } { + if { $val != 0 } { return [ uplevel $script ] } +} + +# Helper to exectute code only when the value of variable name is 0. +proc OnFail { val script } { + if { $val != 1 } { return [ uplevel $script ] } +} + +# Helper to get a component interface. +proc GetInterface { iUnk id { name "" } } { + if {$iUnk == 0} { return 0 } + set iIface [ $iUnk GetInterface $id ] + OnNullPtr iIface { + if {![IsBlank $name]} { + ERR " Could not get the \"$name\" interface." + } + } + return $iIface +} + +# Helper to create a component and return one of its interfaces. +proc CreateComponent { compId ifaceId { name "" } } { + set iUnk [ ::Xilinx::Cit::FactoryCreate $compId ] + set iIface [ GetInterface $iUnk $ifaceId ] + OnNullPtr iIface { + if {![IsBlank $name]} { ERR "Could not create a \"$name\" component." } + } + return $iIface +} + +# Helper to release an object +proc Release { args } { + foreach iUnk $args { + set i_refcount [ GetInterface $iUnk $::xilinx::Prjrep::IRefCountID ] + OnNullPtr i_refcount { set i_refcount [ GetInterface $iUnk $::xilinx::CommonI::IRefCountID ] } + OnOkPtr i_refcount { $i_refcount Release } + } +} + +# Helper to loop over IIterator based pointers. +proc ForEachIterEle { _ele_var_name _iter script } { + if {$_iter == 0} { return 0 } + upvar $_ele_var_name ele + for { $_iter First } { ![ $_iter IsEnd ] } { $_iter Next } { + set ele [ $_iter CurrentItem ] + set returned_val [ uplevel $script ] + } +} + +# Helper to get the Tcl Project Manager, if possible. +proc GetTclProjectMgr { } { + set TclProjectMgrId "{7d528480-1196-4635-aba9-639446e4aa59}" + set iUnk [ Xilinx::CitP::CreateComponent $TclProjectMgrId ] + if {$iUnk == 0} { return 0 } + set iTclProjectMgr [ $iUnk GetInterface $::xilinx::TcltaskI::ITclProjectMgrID ] + OnNullPtr iTclProjectMgr { + ERR "Could not create a \"TclProjectMgr\" component." + } + return $iTclProjectMgr +} + +# Helper to get the current Tcl Project, if one is open. +proc GetCurrentTclProject { } { + set iTclProject 0 + set iTclProjectMgr [GetTclProjectMgr] + OnOkPtr iTclProjectMgr { + set errmsg "" + $iTclProjectMgr GetCurrentTclProject iTclProject errmsg + } + return $iTclProject +} + +# Helper to get the current HDProject, if one is open. +proc GetCurrentHDProject { } { + set iHDProject 0 + set iTclProjectMgr [GetTclProjectMgr] + set errmsg "" + OnOkPtr iTclProjectMgr { $iTclProjectMgr GetCurrentHDProject iHDProject errmsg } + OnNullPtr iHDProject { + ERR "Could not get the current HDProject." + } + return $iHDProject +} + +# Helper to create a Project Helper. +proc GetProjectHelper { } { + set ProjectHelperID "{0725c3d2-5e9b-4383-a7b6-a80c932eac21}" + set iProjHelper [CreateComponent $ProjectHelperID $::xilinx::Dpm::IProjectHelperID "Project Helper"] + return $iProjHelper +} + +# Helper to find out if a project is currently open. +# Returns 1 if a project is open, otherwise 0. +proc IsProjectOpen { } { + set iTclProject [GetCurrentTclProject] + set isOpen [expr {$iTclProject != 0}] + Release $iTclProject + return $isOpen +} + +# Helper to return the lock file for the specified project if there is one. +# Returns an empty string if there is no lock file on the specified project. +# This assumes that the project_file is in the current directory. +# It also assumes project_file does not have a path. +proc GetProjectLockFile { project_file } { + INFO "Checking for a lock file for \"$project_file\"." + set lock_file "__ISE_repository_${project_file}_.lock" + if { [ file isfile "$lock_file" ] } { + return $lock_file + } + return +} + +# Helper to move aside the project file. +# This assumes that the project_file is in the current directory. +proc MoveProject { project_file backup_file } { + INFO "Moving aside the project \"$project_file\" so that it can be recreated." + INFO "The project will be backed up as \"$backup_file\"." + if { ![ file isfile "$project_file" ] } { + WARN "Could not move \"$project_file\"; it does not exist or is not a file." + return 1 + } + file rename -force "$project_file" "$backup_file" + # We will need to bail if the project still exists. + if { [ file isfile "$project_file" ] } { + ERR "Could not remove \"$project_file\"; unable to recreate the project.." + return 0 + } + return 1 +} + +# Helper to open a project and return a project facilitator (pointer). +proc OpenFacilProject { project_name } { + # first make sure the tcl project mgr singleton exists + GetTclProjectMgr + # get a Project Helper and open the project. + set iProjHelper [GetProjectHelper] + if {$iProjHelper == 0} { return 0 } + set result [$iProjHelper Open $project_name] + OnFail $result { + if {$result == 576460769483292673} { + ERR "Could not open the project \"$project_name\" because it is locked." + } else { + ERR "Could not open the \"$project_name\" project." + } + Release $iProjHelper + set iProjHelper 0 + } + return $iProjHelper +} + +# 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." + set iconflict 0 + set iSrcHelper [ GetProjSrcHelper $iProjHelper ] + if {$iSrcHelper == 0} { return 0 } + foreach filename $files { + INFO "Adding the file \"$filename\" to the project." + set result [$iSrcHelper AddSourceFile "$filename" iconflict] + OnFail $result { + if {$result == 6} { + INFO "The file \"$filename\" is already in the project." + } else { + ERR "A problem occurred adding the file \"$filename\" to the project." + } + } + } +} + +# Helper to add files to the project and set their origination. +# Valid origination values are: +# 0 - User +# 1 - Generated +# 2 - Imported +# Files of origination "User" are added through the facilitator, +# otherwise they are added directly to the File Manager. +proc AddImportedFiles { iProjHelper files origination } { + switch $origination { + 0 { INFO "Adding User files." } + 1 { INFO "Adding Generated files." } + 2 { INFO "Adding Imported files." } + default { + ERR "Invalid parameter: origination was set to \"$origination\", but may only be 0, 1, or 2." + return 0 + } + } + set iFileMgr [ GetFileManager $iProjHelper ] + if {$iFileMgr == 0} { return 0 } + foreach filename $files { + set file_type 0 + set hdl_file 0 + set result [$iFileMgr AddFile "$filename" $file_type hdl_file] + OnFail $result { + if {$result == 6} { + INFO "The file \"$filename\" is already in the project." + } elseif { $hdl_file == 0 } { + ERR "A problem occurred adding the file \"$filename\" to the project." + } + } + OnOkPtr hdl_file { + set ifile [ GetInterface $hdl_file $xilinx::Dpm::IFileID IFile ] + OnOkPtr ifile { + set result [ $ifile SetOrigination $origination ] + if {$result != 1} { + ERR "A problem occurred setting the origination of \"$filename\" to \"$origination\"." + } + Release $ifile + } + } + } + return 1 +} + +proc RestoreProjectSettings { iProjHelper project_settings } { + INFO "Restoring device settings" + set iScratch [GetScratchPropertyManager $iProjHelper] + set iPropIter 0 + set iPropSet [ GetInterface $iScratch $xilinx::Dpm::IPropertyNodeSetID IPropertyNodeSet ] + OnOkPtr iPropSet { + $iPropSet GetIterator iPropIter + } + set index 0 + set lastindex [llength $project_settings] + ForEachIterEle prop_node $iPropIter { + set prop_instance 0 + $prop_node GetPropertyInstance prop_instance + if { $index < $lastindex } { + set argname [ lindex $project_settings $index ] + set argvalue [ lindex $project_settings [ expr $index + 1 ] ] + } else { + set argname {} + set argvalue {} + } + if { $prop_instance != 0 } { + set name {} + $prop_instance GetName name + if { [string equal $name $argname ] } { + $prop_instance SetStringValue $argvalue + incr index + incr index + } + } + Release $prop_instance + } + $iScratch Commit + # initialize + $iProjHelper Init +} + +# Helper to load a source control configuration from a stream +# and then store it back into an ise file. +proc RestoreSourceControlOptions { prjfile istream } { + INFO "Restoring source control options" + set config_comp [::Xilinx::Cit::FactoryCreate $::xilinx::Dpm::SourceControlConfigurationCompID ] + OnOkPtr config_comp { set ipersist [ $config_comp GetInterface $xilinx::Prjrep::IPersistID ] } + OnOkPtr config_comp { set igetopts [ $config_comp GetInterface $xilinx::Dpm::SrcCtrl::IGetOptionsID ] } + set helper_comp [::Xilinx::Cit::FactoryCreate $::xilinx::Dpm::SourceControlHelpCompID ] + OnOkPtr helper_comp { set ihelper [ $config_comp GetInterface $xilinx::Dpm::SrcCtrl::IHelperID ] } + OnOkPtr ipersist { $ipersist Load istream } + OnOkPtr ihelper { OnOkPtr igetopts { $ihelper SaveOptions $prjfile $igetopts } } + Release $helper_comp $config_comp +} + +# Call this proc to restore the ISE project. +proc restore { { project_dir "" } } { + set script_file "s3e_vga_char_dev.restore" + set project_file "s3e_vga_char_dev.ise" + set backup_file "s3e_vga_char_dev.fail" + set old_working_dir [pwd] + # Make sure a project isn't already open. + if {[IsProjectOpen]} { + ERR "The project must be closed before performing this operation." + cd $old_working_dir + return + } + # If a project directory was supplied, cd into it. + if {![IsBlank $project_dir]} { + cd $project_dir + } + # Make sure the project file exists. + if { ![ file isfile "$project_file" ] } { + ERR "Could not find the project file \"$project_file\". You must be in the project directory to perform this operation." + cd $old_working_dir + return + } + # Make sure the project isn't locked. + set lock_file [GetProjectLockFile $project_file] + if { ![IsBlank "$lock_file" ] } { + ERR "Could not restore the project \"$project_name\" because it is locked." + INFO "Please remove the lock file \"$lock_file\" and try again." + cd $old_working_dir + return + } + # Backup this script because it will be overwritten the next time + # the project is saved, which happens right after it is created! + file copy -force "$script_file" "${script_file}.last" + # Back up the project and remove the project file, since it can't be opened. + OnFail [ MoveProject "$project_file" "$backup_file" ] { + cd $old_working_dir + return + } + + # Open the project. + HandleException { + set iProjHelper [ OpenFacilProject "$project_file"] + } "A problem occurred while creating the project \"$project_file\"." + if {$iProjHelper == 0} { + cd $old_working_dir + return + } + INFO "Recreating project \"$project_file\"." + set project_settings { + "PROP_DevFamily" "Virtex2P" + "PROP_DevDevice" "xc2vp7" + "PROP_DevPackage" "fg456" + "PROP_DevSpeed" "-6" + "PROP_Top_Level_Module_Type" "HDL" + "PROP_Synthesis_Tool" "XST (VHDL/Verilog)" + "PROP_Simulator" "Modelsim-SE Mixed" + "PROP_PreferredLanguage" "Verilog" + "PROP_Enable_Message_Capture" "true" + "PROP_Enable_Message_Filtering" "false" + "PROP_Enable_Incremental_Messaging" "false" + } + + HandleException { + RestoreProjectSettings $iProjHelper $project_settings + } "A problem occured while restoring project settings." + + set user_files { + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" + "../../hdl/verilog/user_logic.v" + "../../hdl/vhdl/s3e_vga_char_dev.vhd"} + + HandleException { + AddUserFiles $iProjHelper $user_files + } "A problem occured while restoring user files." + + set imported_files {} + + set origination 2 + + HandleException { + AddImportedFiles $iProjHelper $imported_files $origination + } "A problem occured while restoring imported files." + + set process_props { + "A" "" "" "" "PROPEXT_SynthMultStyle_virtex2" "Auto" + "A" "" "" "" "PROPEXT_xilxBitgCfg_DCIUpdateMode_virtex2p" "As Required" + "A" "" "" "" "PROPEXT_xilxBitgCfg_TDO_virtex2p" "Float" + "A" "" "" "" "PROPEXT_xilxBitgStart_Clk_Done_virtex2p" "Default (4)" + "A" "" "" "" "PROPEXT_xilxMapGenInputK_virtex2" "4" + "A" "" "" "" "PROPEXT_xilxSynthAddBufg_virtex2" "16" + "A" "" "" "" "PROPEXT_xilxSynthMaxFanout_virtex2" "500" + "A" "" "" "" "PROP_CPLDFitkeepio" "false" + "A" "" "" "" "PROP_CompxlibAbelLib" "true" + "A" "" "" "" "PROP_CompxlibCPLDDetLib" "true" + "A" "" "" "" "PROP_CompxlibOtherCompxlibOpts" "" + "A" "" "" "" "PROP_CompxlibOutputDir" "$XILINX//" + "A" "" "" "" "PROP_CompxlibOverwriteLib" "Overwrite" + "A" "" "" "" "PROP_CompxlibSimPath" "Search in Path" + "A" "" "" "" "PROP_CompxlibSimPrimatives" "true" + "A" "" "" "" "PROP_CompxlibXlnxCoreLib" "true" + "A" "" "" "" "PROP_CurrentFloorplanFile" "" + "A" "" "" "" "PROP_DesignName" "s3e_vga_char_dev" + "A" "" "" "" "PROP_Dummy" "dum1" + "A" "" "" "" "PROP_EnableWYSIWYG" "None" + "A" "" "" "" "PROP_Enable_Incremental_Messaging" "false" + "A" "" "" "" "PROP_Enable_Message_Capture" "true" + "A" "" "" "" "PROP_Enable_Message_Filtering" "false" + "A" "" "" "" "PROP_FunctionBlockInputLimit" "38" + "A" "" "" "" "PROP_ISimLibSearchOrderFile" "" + "A" "" "" "" "PROP_ISimSDFTimingToBeRead" "Setup Time" + "A" "" "" "" "PROP_ISimUseCustomCompilationOrder" "false" + "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_behav_tb" "false" + "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_behav_tbw" "false" + "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_gen_tbw" "false" + "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_par_tb" "false" + "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_par_tbw" "false" + "A" "" "" "" "PROP_ISimUutInstName" "UUT" + "A" "" "" "" "PROP_ImpactProjectFile" "" + "A" "" "" "" "PROP_MSimSDFTimingToBeRead" "Setup Time" + "A" "" "" "" "PROP_ModelSimUseConfigName" "false" + "A" "" "" "" "PROP_Parse_Target" "synthesis" + "A" "" "" "" "PROP_PartitionCreateDelete" "" + "A" "" "" "" "PROP_PartitionForcePlacement" "" + "A" "" "" "" "PROP_PartitionForceSynth" "" + "A" "" "" "" "PROP_PartitionForceTranslate" "" + "A" "" "" "" "PROP_PlsClockEnable" "true" + "A" "" "" "" "PROP_PostTrceFastPath" "false" + "A" "" "" "" "PROP_PreTrceFastPath" "false" + "A" "" "" "" "PROP_SimDo" "true" + "A" "" "" "" "PROP_SimModelGenerateTestbenchFile" "false" + "A" "" "" "" "PROP_SimModelInsertBuffersPulseSwallow" "false" + "A" "" "" "" "PROP_SimModelOtherNetgenOpts" "" + "A" "" "" "" "PROP_SimModelRetainHierarchy" "true" + "A" "" "" "" "PROP_SimUseCustom_behav" "false" + "A" "" "" "" "PROP_SimUseCustom_postMap" "false" + "A" "" "" "" "PROP_SimUseCustom_postPar" "false" + "A" "" "" "" "PROP_SimUseCustom_postXlate" "false" + "A" "" "" "" "PROP_SynthCaseImplStyle" "None" + "A" "" "" "" "PROP_SynthDecoderExtract" "true" + "A" "" "" "" "PROP_SynthEncoderExtract" "Yes" + "A" "" "" "" "PROP_SynthExtractMux" "Yes" + "A" "" "" "" "PROP_SynthExtractRAM" "true" + "A" "" "" "" "PROP_SynthExtractROM" "true" + "A" "" "" "" "PROP_SynthFsmEncode" "Auto" + "A" "" "" "" "PROP_SynthLogicalShifterExtract" "true" + "A" "" "" "" "PROP_SynthOpt" "Speed" + "A" "" "" "" "PROP_SynthOptEffort" "Normal" + "A" "" "" "" "PROP_SynthResSharing" "true" + "A" "" "" "" "PROP_SynthShiftRegExtract" "true" + "A" "" "" "" "PROP_SynthXORCollapse" "true" + "A" "" "" "" "PROP_Top_Level_Module_Type" "HDL" + "A" "" "" "" "PROP_UseDataGate" "true" + "A" "" "" "" "PROP_XPowerOptInputTclScript" "" + "A" "" "" "" "PROP_XPowerOptLoadPCFFile" "Default" + "A" "" "" "" "PROP_XPowerOptLoadVCDFile" "Default" + "A" "" "" "" "PROP_XPowerOptLoadXMLFile" "Default" + "A" "" "" "" "PROP_XPowerOptOutputFile" "Default" + "A" "" "" "" "PROP_XPowerOptVerboseRpt" "false" + "A" "" "" "" "PROP_XPowerOtherXPowerOpts" "" + "A" "" "" "" "PROP_XplorerMode" "Off" + "A" "" "" "" "PROP_bitgen_Encrypt_keySeq0" "None" + "A" "" "" "" "PROP_bitgen_Encrypt_keySeq1" "None" + "A" "" "" "" "PROP_bitgen_Encrypt_keySeq2" "None" + "A" "" "" "" "PROP_bitgen_Encrypt_keySeq3" "None" + "A" "" "" "" "PROP_bitgen_Encrypt_keySeq4" "None" + "A" "" "" "" "PROP_bitgen_Encrypt_keySeq5" "None" + "A" "" "" "" "PROP_bitgen_Encrypt_startCBC" "" + "A" "" "" "" "PROP_bitgen_Encrypt_startKey" "None" + "A" "" "" "" "PROP_bitgen_otherCmdLineOptions" "" + "A" "" "" "" "PROP_cpldBestFit" "false" + "A" "" "" "" "PROP_cpldfitHDLeqStyle" "Source" + "A" "" "" "" "PROP_cpldfit_otherCmdLineOptions" "" + "A" "" "" "" "PROP_fitGenSimModel" "false" + "A" "" "" "" "PROP_hprep6_autosig" "false" + "A" "" "" "" "PROP_hprep6_otherCmdLineOptions" "" + "A" "" "" "" "PROP_ibiswriterEnableMultiLingualModel" "false" + "A" "" "" "" "PROP_ibiswriterShowAllModels" "false" + "A" "" "" "" "PROP_impactConfigFileName_CPLD" "" + "A" "" "" "" "PROP_mapUseRLOCConstraints" "true" + "A" "" "" "" "PROP_map_otherCmdLineOptions" "" + "A" "" "" "" "PROP_mpprRsltToCopy" "" + "A" "" "" "" "PROP_ngdbuildUseLOCConstraints" "true" + "A" "" "" "" "PROP_ngdbuild_otherCmdLineOptions" "" + "A" "" "" "" "PROP_parUseTimingConstraints" "true" + "A" "" "" "" "PROP_par_otherCmdLineOptions" "" + "A" "" "" "" "PROP_primeCorrelateOutput" "false" + "A" "" "" "" "PROP_primeFlatternOutputNetlist" "false" + "A" "" "" "" "PROP_primeTopLevelModule" "" + "A" "" "" "" "PROP_primetimeBlockRamData" "" + "A" "" "" "" "PROP_taengine_otherCmdLineOptions" "" + "A" "" "" "" "PROP_xcpldFitDesInit" "Low" + "A" "" "" "" "PROP_xcpldFitDesInputLmt_xbr" "32" + "A" "" "" "" "PROP_xcpldFitDesMultiLogicOpt" "true" + "A" "" "" "" "PROP_xcpldFitDesSlew" "Fast" + "A" "" "" "" "PROP_xcpldFitDesTimingCst" "true" + "A" "" "" "" "PROP_xcpldFitDesTriMode" "Keeper" + "A" "" "" "" "PROP_xcpldFitDesUnused" "Keeper" + "A" "" "" "" "PROP_xcpldFitDesVolt" "LVCMOS18" + "A" "" "" "" "PROP_xcpldFitTemplate_xpla3" "Optimize Density" + "A" "" "" "" "PROP_xcpldFittimRptOption" "Summary" + "A" "" "" "" "PROP_xcpldUseGlobalClocks" "true" + "A" "" "" "" "PROP_xcpldUseGlobalOutputEnables" "true" + "A" "" "" "" "PROP_xcpldUseGlobalSetReset" "true" + "A" "" "" "" "PROP_xcpldUseLocConst" "Always" + "A" "" "" "" "PROP_xilxBitgCfg_Clk" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_Code" "0xFFFFFFFF" + "A" "" "" "" "PROP_xilxBitgCfg_DCMBandgap" "false" + "A" "" "" "" "PROP_xilxBitgCfg_DCMShutdown" "false" + "A" "" "" "" "PROP_xilxBitgCfg_Done" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_ASCIIFile" "false" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_BinaryFile" "false" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_BitFile" "true" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_Compress" "false" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_DRC" "true" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_EnableCRC" "true" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_IEEE1532File" "false" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_IEEE1532File_xbr" "false" + "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_ReadBack" "false" + "A" "" "" "" "PROP_xilxBitgCfg_M0" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_M1" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_M2" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_Pgm" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_PwrDown" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_Rate" "4" + "A" "" "" "" "PROP_xilxBitgCfg_TCK" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_TDI" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_TMS" "Pull Up" + "A" "" "" "" "PROP_xilxBitgCfg_Unused" "Pull Down" + "A" "" "" "" "PROP_xilxBitgReadBk_Sec" "Enable Readback and Reconfiguration" + "A" "" "" "" "PROP_xilxBitgStart_Clk" "CCLK" + "A" "" "" "" "PROP_xilxBitgStart_Clk_DriveDone" "false" + "A" "" "" "" "PROP_xilxBitgStart_Clk_EnOut" "Default (5)" + "A" "" "" "" "PROP_xilxBitgStart_Clk_MatchCycle" "Auto" + "A" "" "" "" "PROP_xilxBitgStart_Clk_RelDLL" "Default (NoWait)" + "A" "" "" "" "PROP_xilxBitgStart_Clk_WrtEn" "Default (6)" + "A" "" "" "" "PROP_xilxBitgStart_IntDone" "false" + "A" "" "" "" "PROP_xilxMapAllowLogicOpt" "false" + "A" "" "" "" "PROP_xilxMapCoverMode" "Area" + "A" "" "" "" "PROP_xilxMapDisableRegOrdering" "false" + "A" "" "" "" "PROP_xilxMapPackRegInto" "For Inputs and Outputs" + "A" "" "" "" "PROP_xilxMapReplicateLogic" "true" + "A" "" "" "" "PROP_xilxMapReportDetail" "false" + "A" "" "" "" "PROP_xilxMapSliceLogicInUnusedBRAMs" "false" + "A" "" "" "" "PROP_xilxMapTimingDrivenPacking" "false" + "A" "" "" "" "PROP_xilxMapTrimUnconnSig" "true" + "A" "" "" "" "PROP_xilxNgdbldIOPads" "false" + "A" "" "" "" "PROP_xilxNgdbldMacro" "" + "A" "" "" "" "PROP_xilxNgdbldNTType" "Timestamp" + "A" "" "" "" "PROP_xilxNgdbldPresHierarchy" "false" + "A" "" "" "" "PROP_xilxNgdbldUR" "" + "A" "" "" "" "PROP_xilxNgdbldUnexpBlks" "false" + "A" "" "" "" "PROP_xilxNgdbld_AUL" "false" + "A" "" "" "" "PROP_xilxPARplacerCostTable" "1" + "A" "" "" "" "PROP_xilxPARplacerEffortLevel" "None" + "A" "" "" "" "PROP_xilxPARrouterEffortLevel" "None" + "A" "" "" "" "PROP_xilxPARstrat" "Normal Place and Route" + "A" "" "" "" "PROP_xilxPARuseBondedIO" "false" + "A" "" "" "" "PROP_xilxPostTrceAdvAna" "false" + "A" "" "" "" "PROP_xilxPostTrceRpt" "Error Report" + "A" "" "" "" "PROP_xilxPostTrceRptLimit" "3" + "A" "" "" "" "PROP_xilxPostTrceStamp" "" + "A" "" "" "" "PROP_xilxPostTrceTSIFile" "" + "A" "" "" "" "PROP_xilxPostTrceUncovPath" "" + "A" "" "" "" "PROP_xilxPreTrceAdvAna" "false" + "A" "" "" "" "PROP_xilxPreTrceRpt" "Error Report" + "A" "" "" "" "PROP_xilxPreTrceRptLimit" "3" + "A" "" "" "" "PROP_xilxPreTrceUncovPath" "" + "A" "" "" "" "PROP_xilxSynthAddIObuf" "true" + "A" "" "" "" "PROP_xilxSynthGlobOpt" "AllClockNets" + "A" "" "" "" "PROP_xilxSynthKeepHierarchy" "No" + "A" "" "" "" "PROP_xilxSynthKeepHierarchy_CPLD" "Yes" + "A" "" "" "" "PROP_xilxSynthMacroPreserve" "true" + "A" "" "" "" "PROP_xilxSynthRegBalancing" "No" + "A" "" "" "" "PROP_xilxSynthRegDuplication" "true" + "A" "" "" "" "PROP_xilxSynthXORPreserve" "true" + "A" "" "" "" "PROP_xilxTriStateBuffTXMode" "Off" + "A" "" "" "" "PROP_xstAsynToSync" "false" + "A" "" "" "" "PROP_xstAutoBRAMPacking" "false" + "A" "" "" "" "PROP_xstBRAMUtilRatio" "100" + "A" "" "" "" "PROP_xstBusDelimiter" "<>" + "A" "" "" "" "PROP_xstCase" "Maintain" + "A" "" "" "" "PROP_xstCoresSearchDir" "" + "A" "" "" "" "PROP_xstCrossClockAnalysis" "false" + "A" "" "" "" "PROP_xstEquivRegRemoval" "true" + "A" "" "" "" "PROP_xstFsmStyle" "LUT" + "A" "" "" "" "PROP_xstGenerateRTLNetlist" "Yes" + "A" "" "" "" "PROP_xstGenericsParameters" "" + "A" "" "" "" "PROP_xstHierarchySeparator" "/" + "A" "" "" "" "PROP_xstIniFile" "" + "A" "" "" "" "PROP_xstLibSearchOrder" "" + "A" "" "" "" "PROP_xstOptimizeInsPrimtives" "false" + "A" "" "" "" "PROP_xstPackIORegister" "Auto" + "A" "" "" "" "PROP_xstReadCores" "true" + "A" "" "" "" "PROP_xstSlicePacking" "true" + "A" "" "" "" "PROP_xstSliceUtilRatio" "100" + "A" "" "" "" "PROP_xstTristate2Logic" "Yes" + "A" "" "" "" "PROP_xstUseClockEnable" "Yes" + "A" "" "" "" "PROP_xstUseSyncReset" "Yes" + "A" "" "" "" "PROP_xstUseSyncSet" "Yes" + "A" "" "" "" "PROP_xstUseSynthConstFile" "true" + "A" "" "" "" "PROP_xstUserCompileList" "" + "A" "" "" "" "PROP_xstVeriIncludeDir_Global" "" + "A" "" "" "" "PROP_xstVerilog2001" "true" + "A" "" "" "" "PROP_xstVerilogMacros" "" + "A" "" "" "" "PROP_xstWorkDir" "./xst" + "A" "" "" "" "PROP_xstWriteTimingConstraints" "false" + "A" "" "" "" "PROP_xst_otherCmdLineOptions" "" + "A" "AutoGeneratedView" "VIEW_AbstractSimulation" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP" + "A" "AutoGeneratedView" "VIEW_AnalyzedDesign" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimIncreCompilation" "true" + "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" + "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" + "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimValueRangeCheck" "false" + "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_AnnotatedResultsModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_BehavioralSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_FPGAConfiguration" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_FPGAConfigureDevice" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_FPGAGeneratePROM" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Map" "" "PROP_SmartGuide" "false" + "A" "AutoGeneratedView" "VIEW_Map" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Par" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-MapAbstractSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-MapPreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-MapSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-ParAbstractSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" + "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimIncreCompilation" "true" + "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" + "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" + "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimValueRangeCheck" "false" + "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-ParSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-SynthesisAbstractSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-TranslateAbstractSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-TranslatePreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Post-TranslateSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_PostAbstractSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" + "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimIncreCompilation" "true" + "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" + "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifySearchDir" "" + "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" + "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimValueRangeCheck" "false" + "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Structural" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWBehavioralSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-MapPreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-MapSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" + "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimIncreCompilation" "true" + "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimValueRangeCheck" "false" + "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-ParSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-TranslatePreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWPost-TranslateSimulationModelSim" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true" + "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimIncreCompilation" "true" + "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" "" + "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimSpecifySearchDirectory" "" + "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimValueRangeCheck" "false" + "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_Translation" "" "PROP_SmartGuide" "false" + "A" "AutoGeneratedView" "VIEW_Translation" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_UpdatedBitstream" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_XSTAbstractSynthesis" "" "PROP_SmartGuide" "false" + "A" "AutoGeneratedView" "VIEW_XSTAbstractSynthesis" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP" + "A" "AutoGeneratedView" "VIEW_XSTPreSynthesis" "" "PROP_TopDesignUnit" "" + "A" "AutoGeneratedView" "VIEW_XSTPreSynthesis" "" "PROP_xstVeriIncludeDir" "" + "A" "VIEW_Initial" "VIEW_Initial" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP" + "B" "" "" "" "PROP_AutoGenFile" "false" + "B" "" "" "" "PROP_DevFamily" "Virtex2P" + "B" "" "" "" "PROP_FitterOptimization_xpla3" "Density" + "B" "" "" "" "PROP_ISimCustomCompilationOrderFile" "" + "B" "" "" "" "PROP_ISimCustomSimCmdFileName_behav_tb" "" + "B" "" "" "" "PROP_ISimCustomSimCmdFileName_behav_tbw" "" + "B" "" "" "" "PROP_ISimCustomSimCmdFileName_gen_tbw" "" + "B" "" "" "" "PROP_ISimCustomSimCmdFileName_par_tb" "" + "B" "" "" "" "PROP_ISimCustomSimCmdFileName_par_tbw" "" + "B" "" "" "" "PROP_ISimGenVCDFile_par_tb" "false" + "B" "" "" "" "PROP_ISimGenVCDFile_par_tbw" "false" + "B" "" "" "" "PROP_ISimSimulationRun_behav_tb" "true" + "B" "" "" "" "PROP_ISimSimulationRun_behav_tbw" "true" + "B" "" "" "" "PROP_ISimSimulationRun_par_tb" "true" + "B" "" "" "" "PROP_ISimSimulationRun_par_tbw" "true" + "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_behav_tb" "false" + "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_behav_tbw" "false" + "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_par_tb" "false" + "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_par_tbw" "false" + "B" "" "" "" "PROP_MapEffortLevel" "Medium" + "B" "" "" "" "PROP_MapLogicOptimization" "false" + "B" "" "" "" "PROP_MapPlacerCostTable" "1" + "B" "" "" "" "PROP_MapRegDuplication" "false" + "B" "" "" "" "PROP_ModelSimConfigName" "Default" + "B" "" "" "" "PROP_ModelSimDataWin" "false" + "B" "" "" "" "PROP_ModelSimListWin" "false" + "B" "" "" "" "PROP_ModelSimProcWin" "false" + "B" "" "" "" "PROP_ModelSimSignalWin" "true" + "B" "" "" "" "PROP_ModelSimSimRes" "Default (1 ps)" + "B" "" "" "" "PROP_ModelSimSimRunTime_tb" "1000ns" + "B" "" "" "" "PROP_ModelSimSimRunTime_tbw" "1000ns" + "B" "" "" "" "PROP_ModelSimSourceWin" "false" + "B" "" "" "" "PROP_ModelSimStructWin" "true" + "B" "" "" "" "PROP_ModelSimUutInstName_postMap" "UUT" + "B" "" "" "" "PROP_ModelSimUutInstName_postPar" "UUT" + "B" "" "" "" "PROP_ModelSimVarsWin" "false" + "B" "" "" "" "PROP_ModelSimWaveWin" "true" + "B" "" "" "" "PROP_SimCustom_behav" "" + "B" "" "" "" "PROP_SimCustom_postMap" "" + "B" "" "" "" "PROP_SimCustom_postPar" "" + "B" "" "" "" "PROP_SimCustom_postXlate" "" + "B" "" "" "" "PROP_SimGenVcdFile" "false" + "B" "" "" "" "PROP_SimModelRenTopLevInstTo" "UUT" + "B" "" "" "" "PROP_SimSyntax" "93" + "B" "" "" "" "PROP_SimUseExpDeclOnly" "true" + "B" "" "" "" "PROP_SimUserCompileList_behav" "" + "B" "" "" "" "PROP_Simulator" "Modelsim-SE Mixed" + "B" "" "" "" "PROP_SynthConstraintsFile" "" + "B" "" "" "" "PROP_SynthMuxStyle" "Auto" + "B" "" "" "" "PROP_SynthRAMStyle" "Auto" + "B" "" "" "" "PROP_XPowerOptAdvancedVerboseRpt" "false" + "B" "" "" "" "PROP_XPowerOptMaxNumberLines" "1000" + "B" "" "" "" "PROP_XPowerOptUseTimeBased" "false" + "B" "" "" "" "PROP_bitgen_Encrypt_Encrypt" "false" + "B" "" "" "" "PROP_impactBaud" "None" + "B" "" "" "" "PROP_impactConfigMode" "None" + "B" "" "" "" "PROP_impactPort" "None" + "B" "" "" "" "PROP_parGenAsyDlyRpt" "false" + "B" "" "" "" "PROP_parGenClkRegionRpt" "false" + "B" "" "" "" "PROP_parGenSimModel" "false" + "B" "" "" "" "PROP_parGenTimingRpt" "true" + "B" "" "" "" "PROP_parMpprNodelistFile" "" + "B" "" "" "" "PROP_parMpprParIterations" "3" + "B" "" "" "" "PROP_parMpprResultsDirectory" "" + "B" "" "" "" "PROP_parMpprResultsToSave" "" + "B" "" "" "" "PROP_parPowerReduction" "false" + "B" "" "" "" "PROP_vcom_otherCmdLineOptions" "" + "B" "" "" "" "PROP_vlog_otherCmdLineOptions" "" + "B" "" "" "" "PROP_vsim_otherCmdLineOptions" "" + "B" "" "" "" "PROP_xcpldFitDesInReg_xbr" "true" + "B" "" "" "" "PROP_xcpldFitDesPtermLmt_xbr" "28" + "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_DbgBitStr" "false" + "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_LogicAllocFile" "false" + "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_MaskFile" "false" + "B" "" "" "" "PROP_xilxBitgReadBk_GenBitStr" "false" + "B" "" "" "" "PROP_xilxMapPackfactor" "100" + "B" "" "" "" "PROP_xilxPAReffortLevel" "Standard" + "B" "" "" "" "PROP_xstMoveFirstFfStage" "true" + "B" "" "" "" "PROP_xstMoveLastFfStage" "true" + "B" "" "" "" "PROP_xstROMStyle" "Auto" + "B" "" "" "" "PROP_xstSafeImplement" "No" + "B" "AutoGeneratedView" "VIEW_Map" "" "PROP_ParSmartGuideFileName" "" + "B" "AutoGeneratedView" "VIEW_Translation" "" "PROP_MapSmartGuideFileName" "" + "C" "" "" "" "PROP_AceActiveName" "" + "C" "" "" "" "PROP_CompxlibLang" "All" + "C" "" "" "" "PROP_CompxlibSmartModels" "true" + "C" "" "" "" "PROP_CompxlibUpdateIniForSmartModel" "false" + "C" "" "" "" "PROP_DevDevice" "xc2vp7" + "C" "" "" "" "PROP_DevFamilyPMName" "virtex2p" + "C" "" "" "" "PROP_ISimSimulationRunTime_behav_tb" "1000 ns" + "C" "" "" "" "PROP_ISimSimulationRunTime_behav_tbw" "1000 ns" + "C" "" "" "" "PROP_ISimSimulationRunTime_par_tb" "1000 ns" + "C" "" "" "" "PROP_ISimSimulationRunTime_par_tbw" "1000 ns" + "C" "" "" "" "PROP_ISimVCDFileName_par_tb" "xpower.vcd" + "C" "" "" "" "PROP_ISimVCDFileName_par_tbw" "xpower.vcd" + "C" "" "" "" "PROP_MapExtraEffort" "None" + "C" "" "" "" "PROP_SimModelGenMultiHierFile" "false" + "C" "" "" "" "PROP_XPowerOptBaseTimeUnit" "ps" + "C" "" "" "" "PROP_XPowerOptNumberOfUnits" "1" + "C" "" "" "" "PROP_bitgen_Encrypt_key0" "" + "C" "" "" "" "PROP_bitgen_Encrypt_key1" "" + "C" "" "" "" "PROP_bitgen_Encrypt_key2" "" + "C" "" "" "" "PROP_bitgen_Encrypt_key3" "" + "C" "" "" "" "PROP_bitgen_Encrypt_key4" "" + "C" "" "" "" "PROP_bitgen_Encrypt_key5" "" + "C" "" "" "" "PROP_bitgen_Encrypt_keyFile" "" + "C" "" "" "" "PROP_impactConfigFileName" "" + "C" "" "" "" "PROP_xilxBitgCfg_GenOpt_ReadBack_virtex2" "false" + "C" "" "" "" "PROP_xilxPARextraEffortLevel" "None" + "D" "" "" "" "PROP_CompxlibUni9000Lib" "true" + "D" "" "" "" "PROP_CompxlibUniSimLib" "true" + "D" "" "" "" "PROP_DevPackage" "fg456" + "D" "" "" "" "PROP_Synthesis_Tool" "XST (VHDL/Verilog)" + "D" "" "" "" "PROP_xilxBitgCfg_GenOpt_LogicAllocFile_virtex2" "false" + "D" "" "" "" "PROP_xilxBitgCfg_GenOpt_MaskFile_virtex2" "false" + "D" "" "" "" "PROP_xilxBitgReadBk_GenBitStr_virtex2" "false" + "E" "" "" "" "PROP_DevSpeed" "-6" + "E" "" "" "" "PROP_PreferredLanguage" "Verilog" + "F" "" "" "" "PROP_ChangeDevSpeed" "-6" + "F" "" "" "" "PROP_SimModelTarget" "Verilog" + "F" "" "" "" "PROP_tbwTestbenchTargetLang" "Verilog" + "F" "" "" "" "PROP_xilxPostTrceSpeed" "-6" + "F" "" "" "" "PROP_xilxPreTrceSpeed" "-6" + "G" "" "" "" "PROP_PostSynthSimModelName" "_synthesis.v" + "G" "" "" "" "PROP_SimModelAutoInsertGlblModuleInNetlist" "true" + "G" "" "" "" "PROP_SimModelGenArchOnly" "false" + "G" "" "" "" "PROP_SimModelIncSdfAnnInVerilogFile" "true" + "G" "" "" "" "PROP_SimModelIncSimprimInVerilogFile" "false" + "G" "" "" "" "PROP_SimModelIncUnisimInVerilogFile" "false" + "G" "" "" "" "PROP_SimModelIncUselibDirInVerilogFile" "false" + "G" "" "" "" "PROP_SimModelNoEscapeSignal" "false" + "G" "" "" "" "PROP_SimModelOutputExtIdent" "false" + "G" "" "" "" "PROP_SimModelRenTopLevArchTo" "Structure" + "G" "" "" "" "PROP_SimModelRenTopLevMod" "" + "G" "AutoGeneratedView" "VIEW_Map" "" "PROP_PostMapSimModelName" "_map.v" + "G" "AutoGeneratedView" "VIEW_Par" "" "PROP_PostParSimModelName" "_timesim.v" + "G" "AutoGeneratedView" "VIEW_Post-MapAbstractSimulation" "" "PROP_tbwPostMapTestbenchName" "" + "G" "AutoGeneratedView" "VIEW_Post-ParAbstractSimulation" "" "PROP_tbwPostParTestbenchName" "" + "G" "AutoGeneratedView" "VIEW_Post-TranslateAbstractSimulation" "" "PROP_tbwPostXlateTestbenchName" "" + "G" "AutoGeneratedView" "VIEW_TBWPost-MapPreSimulation" "" "PROP_tbwPostMapTestbenchName" "" + "G" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_tbwPostParTestbenchName" "" + "G" "AutoGeneratedView" "VIEW_TBWPost-TranslatePreSimulation" "" "PROP_tbwPostXlateTestbenchName" "" + "G" "AutoGeneratedView" "VIEW_Translation" "" "PROP_PostXlateSimModelName" "_translate.v" + "H" "" "" "" "PROP_SimModelBringOutGsrNetAsAPort" "false" + "H" "" "" "" "PROP_SimModelBringOutGtsNetAsAPort" "false" + "H" "" "" "" "PROP_SimModelPathUsedInSdfAnn" "Default" + "H" "AutoGeneratedView" "VIEW_Map" "" "PROP_SimModelRenTopLevEntTo" "" + "H" "AutoGeneratedView" "VIEW_Par" "" "PROP_SimModelRenTopLevEntTo" "" + "H" "AutoGeneratedView" "VIEW_Structural" "" "PROP_SimModelRenTopLevEntTo" "" + "H" "AutoGeneratedView" "VIEW_Translation" "" "PROP_SimModelRenTopLevEntTo" "" + "I" "" "" "" "PROP_SimModelGsrPortName" "GSR_PORT" + "I" "" "" "" "PROP_SimModelGtsPortName" "GTS_PORT" + "I" "" "" "" "PROP_SimModelRocPulseWidth" "100" + "I" "" "" "" "PROP_SimModelTocPulseWidth" "0"} + + HandleException { + RestoreProcessProperties $iProjHelper $process_props + } "A problem occured while restoring process properties." + + # library names and their members + set libraries { + "interrupt_control_v1_00_a" + { + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd" + } + "opb_ipif_v3_01_c" + { + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" + } + "proc_common_v2_00_a" + { + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd" + } + "rdpfifo_v1_01_b" + { + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" + } + "s3e_vga_char_dev_v1_00_a" + { + "../../hdl/vhdl/s3e_vga_char_dev.vhd" + } + "wrpfifo_v1_01_b" + { + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd" + "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" + } + } + + HandleException { + RestoreSourceLibraries $iProjHelper $libraries + } "A problem occured while restoring source libraries." + + # Close the facilitator project. + CloseFacilProject $iProjHelper + + # Open the restored project in the user's client application, + # which will either be the Projnav GUI or xtclsh. + project open $project_file + + # Let the user know about the backed up project file. + INFO "The project \"$project_file\" was backed up as \"$backup_file\"." + INFO "Please open a Technical Support WebCase at" + INFO "www.xilinx.com/support/clearexpress/websupport.htm" + INFO "and submit this file, along with the project source files, for evaluation." +} + Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/automake.log =================================================================== Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup (revision 4)
opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli (revision 4) @@ -0,0 +1,103 @@ +NewProject(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise) +SetProperty(Device Family, virtex2p) +SetProperty(Device, xc2vp7) +SetProperty(Package, fg456) +SetProperty(Speed Grade, -6) +SetProperty(Top-Level Module Type, HDL) +SetProperty(Synthesis Tool, XST (VHDL/Verilog)) +SetProperty(Simulator, Modelsim-SE Mixed) +SetPreference(PathType, Absolute) +AddLibrary(s3e_vga_char_dev_v1_00_a, D:/custom_pulse_generator/standalone_pulse_generator/pcores, TRUE) +AddSource(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd, VHDL Module) +MoveToLibrary(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd, s3e_vga_char_dev_v1_00_a) +AddSource(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v, Verilog Module) +AddLibrary(proc_common_v2_00_a, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd, proc_common_v2_00_a) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd, proc_common_v2_00_a) +AddLibrary(interrupt_control_v1_00_a, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd, interrupt_control_v1_00_a) +AddLibrary(wrpfifo_v1_01_b, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd, wrpfifo_v1_01_b) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd, wrpfifo_v1_01_b) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd, wrpfifo_v1_01_b) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd, wrpfifo_v1_01_b) +AddLibrary(rdpfifo_v1_01_b, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd, rdpfifo_v1_01_b) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd, rdpfifo_v1_01_b) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd, rdpfifo_v1_01_b) +AddLibrary(opb_ipif_v3_01_c, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd, opb_ipif_v3_01_c) +AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd, VHDL Module) +MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd, opb_ipif_v3_01_c) +CloseProject() Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/__projnav.log =================================================================== Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log (revision 4) @@ -0,0 +1,346 @@ + +---------------------------------------------------------------------------- +-- Design Analysis -- +---------------------------------------------------------------------------- +Analyze pcore s3e_vga_char_dev ... + + +---------------------------------------------------------------------------- +-- File Generation -- +---------------------------------------------------------------------------- +Creating HDL source directory ... +Generating top peripheral VHDL template ... +Generating stub user logic Verilog template ... +HDL templates successfully generated ... +Creating data directory ... +Generating XPS inteface files ... +WARNING:HDLParsers:3497 - Ignoring Verilog File + "D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev + _v1_00_a/data/../hdl/verilog/user_logic.v" +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut +4.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_b +it.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit +.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.v +hd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_count +er.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_ +pkg.vhd" in Library proc_common_v2_00_a. +Package compiled. +Package body compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_count +er_top.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_t +op.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd +" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit. +vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd +" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" +in Library proc_common_v2_00_a. +Package compiled. +Package body compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" +in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" +in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vh +d" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_sel +ect.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.v +hd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" +in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd +" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg +.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.v +hd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter +.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd +" in Library proc_common_v2_00_a. +Package compiled. +Package body compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.v +hd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_ +cntr_ai.vhd" in Library proc_common_v2_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" +in Library wrpfifo_v1_01_b. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd. +vhd" in Library rdpfifo_v1_01_b. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl. +vhd" in Library rdpfifo_v1_01_b. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr. +vhd" in Library wrpfifo_v1_01_b. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl. +vhd" in Library wrpfifo_v1_01_b. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_c +ntr.vhd" in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" +in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vh +d" in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" +in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr. +vhd" in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_ +reg.vhd" in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" +in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interr +upt_control.vhd" in Library interrupt_control_v1_00_a. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" +in Library wrpfifo_v1_01_b. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" +in Library rdpfifo_v1_01_b. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" in +Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" +in Library opb_ipif_v3_01_c. +Entity compiled. +Entity (Architecture ) compiled. +Compiling vhdl file +"D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1 +_00_a/data/../hdl/vhdl/s3e_vga_char_dev.vhd" in Library +s3e_vga_char_dev_v1_00_a. +Entity compiled. +Entity (Architecture ) compiled. + + +Analyzing HDL attributes ... +INFO:MDT - IPTYPE set to value : PERIPHERAL +INFO:MDT - IMP_NETLIST set to value : TRUE +INFO:MDT - HDL set to value : VHDL +WARNING:MDT - Unable to delete temparary XST project file + D:\custom_pulse_generator\standalone_pulse_generator\pcores\s3e_vga_char_dev_ + v1_00_a\data\_s3e_vga_char_dev_xst.prj : 13 +XPS interface files successfully generated ... +Creating development directory ... +Generating command option file ... +Generating readme file ... +Development misc files successfully generated ... +Creating projnav directory ... +Generating ProjNav support files ... +ProjNav support files successfully generated ... +Creating synthesis directory ... +Generating XST synthesis support files ... +XST synthesis support files successfully generated ... +No BFM simulation files will be generated at this time ... +Creating software driver data directory ... +Generating software driver XPS interface (mdd/tcl) files ... +Software driver data definition file (.mdd) successfully generated ... +Software driver data generation file (.tcl) successfully generated ... +Creating software driver src directory ... +Generating software driver template files ... +Software driver compile file (Makefile) successfully generated ... +output user slave register(s) offset to software driver header ... +output IPIF software reset/module identification register(s) offset to software +driver header ... +Software driver header file (.h) successfully generated ... +Software driver source file (.c) successfully generated ... +Software driver SelfTest file (.c) successfully generated ... +Software driver template files successfully generated ... + +---------------------------------------------------------------------------- +-- Final Report -- +---------------------------------------------------------------------------- +Thank you for using Create and Import Peripheral Wizard! Please find your +peripheral hardware templates under +D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ +00_a and peripheral software templates under +D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1 +_00_a respectively. + +Peripheral Summary: + + top name : s3e_vga_char_dev + version : 1.00.a + type : OPB slave + features : slave attachement + mir/rst register + user s/w registers + +Address Block Summary: + + user logic slv : C_BASEADDR + 0x00000000 + : C_BASEADDR + 0x000000FF + mir/reset reg : C_BASEADDR + 0x00000100 + : C_BASEADDR + 0x000001FF + +File Summary + + - HDL source - +D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ +00_a/hdl + top entity : vhdl/s3e_vga_char_dev.vhd + user logic : verilog/user_logic.v + + - XPS interface - +D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ +00_a/data + mpd : s3e_vga_char_dev_v2_1_0.mpd + pao : s3e_vga_char_dev_v2_1_0.pao + + - ISE project - +D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ +00_a/devl/projnav + ise project : s3e_vga_char_dev.npl + cli command : s3e_vga_char_dev.cli + + + - XST synthesis - +D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ +00_a/devl/synthesis + xst script : s3e_vga_char_dev_xst.scr + xst project : s3e_vga_char_dev_xst.prj + + - Misc file - +D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_ +00_a/devl + help : README.txt + option : ipwiz.opt + log : ipwiz.log + + - Driver source - +D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1 +_00_a/src + makefile : Makefile + header : s3e_vga_char_dev.h + source : s3e_vga_char_dev.c + selftest : s3e_vga_char_dev_selftest.c + + - Driver interface - +D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1 +_00_a/data + mdd : s3e_vga_char_dev_v2_1_0.mdd + tcl : s3e_vga_char_dev_v2_1_0.tcl + + Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt (revision 4) @@ -0,0 +1,11 @@ +-batch +-create s3e_vga_char_dev +-ver 1.00.a +-dir "D:\custom_pulse_generator\standalone_pulse_generator" +-lang verilog +-bus opb s +-rstmir +-regn 2 32 +-xps +-ise +-driver Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.scr =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.scr (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.scr (revision 4) @@ -0,0 +1,12 @@ +run +-opt_level 2 +-opt_mode speed +-ifmt mixed +-ifn "D:\custom_pulse_generator\standalone_pulse_generator\pcores\s3e_vga_char_dev_v1_00_a\devl\synthesis\s3e_vga_char_dev_xst.prj" +-top s3e_vga_char_dev +-p virtex2p +-ofn "D:\custom_pulse_generator\standalone_pulse_generator\pcores\s3e_vga_char_dev_v1_00_a\devl\synthesis\s3e_vga_char_dev_xst.ngc" +-iobuf NO +-rtlview YES +-hierarchy_separator / +-work_lib s3e_vga_char_dev_v1_00_a Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.prj =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.prj (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.prj (revision 4) @@ -0,0 +1,44 @@ +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd" +vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd" +vhdl interrupt_control_v1_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd" +vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" +vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd" +vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd" +vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" +vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" +verilog s3e_vga_char_dev_v1_00_a "../../hdl/verilog/user_logic.v" +vhdl s3e_vga_char_dev_v1_00_a "../../hdl/vhdl/s3e_vga_char_dev.vhd" Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/README.txt =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/README.txt (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a/devl/README.txt (revision 4) @@ -0,0 +1,245 @@ +TABLE OF CONTENTS + 1) Peripheral Summary + 2) Description of Generated Files + 3) Description of Used IPIC Signals + 4) Description of Top Level Generics + + +================================================================================ +* 1) Peripheral Summary * +================================================================================ +Peripheral Summary: + + XPS project / EDK repository : D:\custom_pulse_generator\standalone_pulse_generator + logical library name : s3e_vga_char_dev_v1_00_a + top name : s3e_vga_char_dev + version : 1.00.a + type : OPB slave + features : slave attachement + mir/rst register + user s/w registers + +Address Block for User Logic and IPIF Predefined Services + + User logic slave space service : C_BASEADDR + 0x00000000 + : C_BASEADDR + 0x000000FF + IPIF Reset/MIR service : C_BASEADDR + 0x00000100 + : C_BASEADDR + 0x000001FF + + +================================================================================ +* 2) Description of Generated Files * +================================================================================ +- HDL source file(s) + D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl + + vhdl/s3e_vga_char_dev.vhd + + This is the template file for your peripheral's top design entity. It + configures and instantiates the corresponding IPIF unit in the way you + indicated in the wizard GUI and hooks it up to the stub user logic where + the actual functionalites should get implemented. You are not expected to + modify this template file except certain marked places for adding user + specific generics and ports. + + verilog/user_logic.v + + This is the template file for the stub user logic design entity, either in + VHDL or Verilog, where the actual functionalities should get implemented. + Some sample code snippet may be provided for demonstration purpose. + + +- XPS interface file(s) + D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/data + + s3e_vga_char_dev_v2_1_0.mpd + + This Microprocessor Peripheral Description file contains information of the + interface of your peripheral, so that other EDK tools can recognize your + peripheral. + + s3e_vga_char_dev_v2_1_0.pao + + This Peripheral Analysis Order file defines the analysis order of all the HDL + source files that are used to compile your peripheral. + + +- ISE project file(s) + D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl/projnav + + s3e_vga_char_dev.npl + + This is the ProjNavigator project file. It sets up the needed logical + libraries and dependent library files for you to help you develop your + peripheral using ProjNavigator. + + s3e_vga_char_dev.cli + + This is the TCL command line file used to generate the .npl file. + + +- XST synthesis file(s) + D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl/synthesis + + s3e_vga_char_dev_xst.scr + + This is the XST synthesis script file to compile your peripheral. + Note: you may want to modify the device part option for your target. + + s3e_vga_char_dev_xst.prj + + This is the XST synthesis project file used by the above script file to + compile your peripheral. + + +- Driver source file(s) + D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1_00_a/src + + s3e_vga_char_dev.h + + This is the software driver header template file, which contains address offset of + software addressable registers in your peripheral, as well as some common masks and + simple register access macros or function declaration. + + s3e_vga_char_dev.c + + This is the software driver source template file, to define all applicable driver + functions. + + s3e_vga_char_dev_selftest.c + + This is the software driver self test example file, which contain self test example + code to test various hardware features of your peripheral. + + Makefile + + This is the software driver makefile to compile drivers. + + +- Driver interface file(s) + D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1_00_a/data + + s3e_vga_char_dev_v2_1_0.mdd + + This is the Microprocessor Driver Definition file. + + s3e_vga_char_dev_v2_1_0.tcl + + This is the Microprocessor Driver Command file. + + +- Other misc file(s) + D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl + + ipwiz.opt + + This is the option setting file for the wizard batch mode, which should + generate the same result as the wizard GUI mode. + + README.txt + + This README file for your peripheral. + + ipwiz.log + + This is the log file by operating on this wizard. + + +================================================================================ +* 3) Description of Used IPIC Signals * +================================================================================ +For more information (usage, timing diagrams, etc.) regarding the IPIC signals +used in the templates, please refer to the following specifications (under +%XILINX_EDK%\doc for windows or $XILINX_EDK/doc for solaris and linux): +proc_ip_ref_guide.pdf - Processor IP Reference Guide (chapter 4 IPIF) +user_core_templates_ref_guide.pdf - User Core Templates Reference Guide + +Bus2IP_Clk + This is the clock input to the user logic. All IPIC signals are synchronous + to this clock. It is identical to the _Clk signal that is an input to + the user core. In an OPB core, Bus2IP_Clk is the same as OPB_Clk, and in a + PLB core, it is the same as PLB_Clk. No additional buffering is provided on + the clock; it is passed through as is. + +Bus2IP_Reset + Signal to reset the User Logic; asserts whenever the _Rst signal does + and, if the Reset block is included, whenever there is a software-programmed + reset. + +Bus2IP_Data + This is the data bus from the IPIF to the user logic; it is used for both + master and slave transactions. It is used to access user logic registers. + +Bus2IP_BE + The Bus2IP_BE is a bus of Byte Enable qualifiers from the IPIF to the user + logic. A bit in the Bus2IP_BE set to '1' indicates that the associated byte + lane contains valid data. For example, if Bus2IP_BE = 0011, this indicates + that byte lanes 2 and 3 contains valid data. + +Bus2IP_RdCE + The Bus2IP_RdCE bus is an input to the user logic. It is Bus2IP_CE qualified + by a read transaction. + +Bus2IP_WrCE + The Bus2IP_WrCE bus is an input to the user logic. It is Bus2IP_CE qualified + by a write transaction. + +IP2Bus_Data + This is the data bus from the user logic to the IPIF; it is used for both + master and slave transactions. It is used to access user logic registers. + +IP2Bus_Ack + The IP2Bus_Ack signal provide the read/write acknowledgement from the user + logic to the IPIF. For writes, it indicates the data has been taken by the + user logic. For reads, it indicates that valid data is available. For + immediate acknowledgement (such as for a register read/write), this signal + can be tied to '1'. Wait states can be inserted in the transaction by + delaying the assertion of the acknowledgement. If the IP2Bus_Ack for OPB + cores will be delayed more than 8 clocks, then the IP2Bus_ToutSup (timeout + suppress) signal must also be asserted to prevent a timeout on the host bus. + +IP2Bus_Retry + IP2Bus_Retry is a response from the user logic to the IPIF that indicates + the currently requested transaction cannot be completed at this time and + that the requesting master should retry the operation. If the IP2Bus_Retry + signal will be delayed more than 8 clocks, then the IP2Bus_ToutSup (timeout + suppress) signal must also be asserted to prevent a timeout on the host bus. + Note: this signal is unused by PLB IPIF. + +IP2Bus_Error + This signal from the user logic to the IPIF indicates an error has occurred + during the current transaction. It is valid when IP2Bus_Ack is asserted. + +IP2Bus_ToutSup + The IP2Bus_ToutSup must be asserted by the user logic whenever its + acknowledgement or retry response will take longer than 8 clock cycles. + +================================================================================ +* 4) Description of Top Level Generics * +================================================================================ +C_BASEADDR/C_HIGHADDR + These two generics are used to define the memory mapped address space for + the peripheral registers, including Reset/MIR register, Interrupt Source + Controller registers, Read/Write FIFO control/data registers, user logic + software accessible registers and etc., but excluding those user logic + address ranges if ever used. When instantiation, the address space size + determined by these two generics must be a power of 2 (e.g. 2^k = + C_HIGHADDR - C_BASEADDR + 1), a factor of C_BASEADDR and larger than the + minimum size as indicated in the template. + +C_OPB_DWIDTH + This is the data bus width for On-chip Peripheral Bus (OPB). It should + always be set to 32 as of today. + +C_OPB_AWIDTH + This is the address bus width for On-chip Peripheral Bus (OPB). It should + always be set to 32 as of today. + +C_USER_ID_CODE + This is the ID that will be put into the MIR register, it's mainly used + for debug purpose to identify the peripheral under test if multiple + instances exist in the system. + +C_FAMILY + This is to set the target FPGA architecture, s.t. virtex2, virtex2p, etc. + Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a.zip =================================================================== --- opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a.zip (nonexistent) +++ opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a.zip (revision 4)
opb_vga_char_display_nodac/trunk/s3e_vga_char_dev_v1_00_a.zip Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: opb_vga_char_display_nodac/trunk =================================================================== --- opb_vga_char_display_nodac/trunk (nonexistent) +++ opb_vga_char_display_nodac/trunk (revision 4)
opb_vga_char_display_nodac/trunk Property changes : Added: svn:mergeinfo ## -0,0 +0,0 ## Index: opb_vga_char_display_nodac/web_uploads =================================================================== --- opb_vga_char_display_nodac/web_uploads (nonexistent) +++ opb_vga_char_display_nodac/web_uploads (revision 4)
opb_vga_char_display_nodac/web_uploads Property changes : Added: svn:mergeinfo ## -0,0 +0,0 ## Index: opb_vga_char_display_nodac/branches =================================================================== --- opb_vga_char_display_nodac/branches (nonexistent) +++ opb_vga_char_display_nodac/branches (revision 4)
opb_vga_char_display_nodac/branches Property changes : Added: svn:mergeinfo ## -0,0 +0,0 ## Index: opb_vga_char_display_nodac/tags =================================================================== --- opb_vga_char_display_nodac/tags (nonexistent) +++ opb_vga_char_display_nodac/tags (revision 4)
opb_vga_char_display_nodac/tags Property changes : Added: svn:mergeinfo ## -0,0 +0,0 ##

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.