LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Sun Apr 27 00:14:00 CEST 2008
    Subject: [cvs-checkins] MODIFIED: t400 ...
    Top
    Date: 00/08/04 27:00:14

    Added: t400/syn/t421/xc3s1000 Makefile compile_project.tcl
    compile_list gen_ise_project.tcl timing.ucf
    Log:
    initial check-in




    Revision Changes Path
    1.1 t400/syn/t421/xc3s1000/Makefile

    http://www.opencores.org/cvsweb.shtml/t400/syn/t421/xc3s1000/Makefile?rev=1.1&content-type=text/x-cvsweb-markup

    Index: Makefile
    ===================================================================
    ##############################################################################
    #
    # Generic Makefile for ISE projects
    #
    # $Id: Makefile,v 1.1 2008/04/26 22:13:59 arniml Exp $
    #
    # Execute with 'make <target>', where target is one of
    # ise : build ISE project from
    # - files in compile_list
    # - project settings in timing.ucf and <board>.ucf
    # - project settings applied in gen_ise_project.tcl
    # compile : compile ISE project by means of tcl script
    # compile_project.tcl
    # <blank> | all : run through all targets above
    #
    ##############################################################################

    export MODULE := t421

    export COMPILE_LIST := compile_list
    SOURCE_FILES := $(shell cat $(COMPILE_LIST))
    export BLD := bld

    .PHONY: all
    all: $(BLD)/$(MODULE).bit

    .PHONY: ise
    ise: $(BLD)/$(MODULE).ise

    .PHONY: compile
    compile: $(BLD)/$(MODULE).bit

    $(BLD)/$(MODULE).ise: $(COMPILE_LIST) *.ucf gen_ise_project.tcl
    xtclsh gen_ise_project.tcl

    $(BLD)/$(MODULE).bit: $(SOURCE_FILES) $(BLD)/$(MODULE).ise compile_project.tcl
    xtclsh compile_project.tcl
    touch $@

    .PHONY: clean
    clean:
    rm -rf *~ bld



    1.1 t400/syn/t421/xc3s1000/compile_project.tcl

    http://www.opencores.org/cvsweb.shtml/t400/syn/t421/xc3s1000/compile_project.tcl?rev=1.1&content-type=text/x-cvsweb-markup

    Index: compile_project.tcl
    ===================================================================
    ##############################################################################
    #
    # Generic project compile script
    #
    # $Id: compile_project.tcl,v 1.1 2008/04/26 22:13:59 arniml Exp $
    #
    # Execute from within xtclsh.
    #
    # Environment variables:
    # $MODULE : Name of the toplevel project
    # -> mandatory <-
    # $BLD : Build directory where the project and all temporary files
    # are stored
    # -> optional, default is "bld" <-
    #
    ##############################################################################

    # mandatory environment variable for project name: $MODULE
    if {[info exists env(MODULE)]} {
    set PROJECT $env(MODULE)
    puts "Info: Setting project name from \$MODULE: $PROJECT"
    } else {
    puts "Error: Environment variable MODULE not set."
    exit 1
    }

    # optional environment variable for build directory: $BLD
    # default is 'bld'
    puts -nonewline "Info: "
    if {[info exists env(BLD)]} {
    set bld $env(BLD)
    puts -nonewline "Setting build directory from \$BLD"
    } else {
    set bld bld
    puts -nonewline "Setting build directory to default" } puts ": $bld" cd $bld project open $PROJECT.ise puts "Starting design implementation..." process run "Generate Programming File" project close 1.1 t400/syn/t421/xc3s1000/compile_list http://www.opencores.org/cvsweb.shtml/t400/syn/t421/xc3s1000/compile_list?rev=1.1&content-type=text/x-cvsweb-markup Index: compile_list =================================================================== ../../../rtl/vhdl/t400_opt_pack-p.vhd ../../../rtl/vhdl/t400_clkgen.vhd ../../../rtl/vhdl/t400_reset.vhd ../../../rtl/vhdl/t400_pack-p.vhd ../../../rtl/vhdl/t400_pmem_ctrl.vhd ../../../rtl/vhdl/t400_dmem_ctrl.vhd ../../../rtl/vhdl/t400_opc_table.vhd ../../../rtl/vhdl/t400_comp_pack-p.vhd ../../../rtl/vhdl/t400_decoder.vhd ../../../rtl/vhdl/t400_skip.vhd ../../../rtl/vhdl/t400_alu.vhd ../../../rtl/vhdl/t400_stack.vhd ../../../rtl/vhdl/t400_io_pack-p.vhd ../../../rtl/vhdl/t400_io_l.vhd ../../../rtl/vhdl/t400_io_d.vhd ../../../rtl/vhdl/t400_io_g.vhd ../../../rtl/vhdl/t400_io_in.vhd ../../../rtl/vhdl/t400_sio.vhd ../../../rtl/vhdl/t400_timer.vhd ../../../rtl/vhdl/t400_core.vhd ../../../rtl/tech/generic/generic_ram_ena.vhd rom_t42x.vhd ../../../rtl/vhdl/system/t420_rom-e.vhd ../../../rtl/vhdl/system/t420_rom-struct-a.vhd ../../../rtl/tech/spartan/t400_por.vhd ../../../rtl/vhdl/t400_core_comp_pack-p.vhd ../../../rtl/tech/t400_tech_comp_pack-p.vhd ../../../rtl/vhdl/system/t420_notri.vhd ../../../rtl/vhdl/system/t400_system_comp_pack-p.vhd ../../../rtl/vhdl/system/t421.vhd 1.1 t400/syn/t421/xc3s1000/gen_ise_project.tcl http://www.opencores.org/cvsweb.shtml/t400/syn/t421/xc3s1000/gen_ise_project.tcl?rev=1.1&content-type=text/x-cvsweb-markup Index: gen_ise_project.tcl =================================================================== ############################################################################### # # $Id: gen_ise_project.tcl,v 1.1 2008/04/26 22:13:59 arniml Exp $ # # Based on # Created by Phil Hays, Xilinx # Setup Xilinx environment, then run from Unix with "xtclsh dice.tcl" # # This Tcl script will implement a design and load it in the S3E FPGA on # the Spartan 3E Starter Kit Board # # There are two ucf files, one for pins and one for timing # ############################################################################### # Contact : e-mail hotline@x... # phone + 1 800 255 7778 # # Disclaimer: LIMITED WARRANTY AND DISCLAMER. These designs are # provided to you "as is". Xilinx and its licensors make and you # receive no warranties or conditions, express, implied, # statutory or otherwise, and Xilinx specifically disclaims any # implied warranties of merchantability, non-infringement, or # fitness for a particular purpose. Xilinx does not warrant that # the functions contained in these designs will meet your # requirements, or that the operation of these designs will be # uninterrupted or error free, or that defects in the Designs # will be corrected. Furthermore, Xilinx does not warrant or # make any representations regarding use or the results of the # use of the designs in terms of correctness, accuracy, # reliability, or otherwise. # # LIMITATION OF LIABILITY. In no event will Xilinx or its # licensors be liable for any loss of data, lost profits, cost # or procurement of substitute goods or services, or for any # special, incidental, consequential, or indirect damages # arising from the use or operation of the designs or # accompanying documentation, however caused and on any theory # of liability. This limitation will apply even if Xilinx # has been advised of the possibility of such damage. This # limitation shall apply not-withstanding the failure of the # essential purpose of any limited remedies herein. # # Copyright (c) 2006 Xilinx, Inc. # All rights reserved # ############################################################################### # Version 1.0 - 19-Oct-2006 # Initial version ############################################################################### ############################################################################### # MAIN ############################################################################### # Modify the project settings for the specific design # # Make sure there are no files in the build directory that you may want to # keep, as this TCL script cleans that directory by default! ############################################################################### # mandatory environment variable for project name: $MODULE if {[info exists env(MODULE)]} { set PROJECT $env(MODULE) puts "Info: Setting project name from \$MODULE: $PROJECT" } else { puts "Error: Environment variable MODULE not set." exit 1 } # optional environment variable for build directory: $BLD # default is 'bld' puts -nonewline "Info: " if {[info exists env(BLD)]} { set bld $env(BLD) puts -nonewline "Setting build directory from \$BLD" } else { set bld bld puts -nonewline "Setting build directory to default" } puts ": $bld" # optional environment variable for source file compile list: $COMPILE_LIST # default is 'compile_list' puts -nonewline "Info: " if {[info exists env(COMPILE_LIST)]} { set compile_list $env(COMPILE_LIST) puts -nonewline "Setting source file compile list from \$COMPILE_LIST" } else { set compile_list compile_list puts -nonewline "Setting source file compile list to default" } puts ": $compile_list" if {[file exists $bld]} { puts "Deleting all existing project files in '$bld'" # Perhaps ask ok here?? # Or perhaps skip project creation if project exists?? file delete -force $bld } puts "Creating new project directory in '$bld'..." file mkdir $bld ############################################################################### # Put two ucf file into one. # This could be made as complex as required, however for demonstration it is # just a simple copy. ############################################################################### puts "Creating new UCF file..." set tempucf [file join $bld temp.ucf] set outfile [open $tempucf "w"] set infile [open "timing.ucf" "r"] while {![eof $infile]} { puts $outfile [gets $infile] } close $infile close $outfile # puts "Creating new ISE project..." cd $bld project new $PROJECT.ise project set family spartan3 project set device xc3s1000 project set package fg456 project set speed -4 ############################################################################### # Modify the xfile add argument for the source files in the design ############################################################################### puts "Adding source files..." set infile [open "../compile_list" "r"] while {![eof $infile]} { xfile add "../[gets $infile]" } xfile add temp.ucf ############################################################################### # Set optional implementation options here. There is a problem with setting # project properties that at least one source must be added to the project # first. Therefore, the "project set" commands are after the "xfile add" # commands. ############################################################################### puts "Setting project properties..." project set {Optimization Goal} Area -process {Synthesize - XST} project set {Optimization Effort} Normal -process {Synthesize - XST} #project set "Map Effort Level" High #project set {Perform Timing-Driven Packing and Placement} 1 project set {Place & Route Effort Level (Overall)} Standard #project set "Other Place & Route Command Line Options" "-intsyle xflow" project set {Generate Post-Place & Route Static Timing Report} true project set {Report Unconstrained Paths} 10 -process {Generate Post-Place & Route Static Timing} project set {Report Type} {Verbose Report} -process {Generate Post-Place & Route Static Timing} project set {Create Binary Configuration File} 1 -process {Generate Programming File} project close 1.1 t400/syn/t421/xc3s1000/timing.ucf http://www.opencores.org/cvsweb.shtml/t400/syn/t421/xc3s1000/timing.ucf?rev=1.1&content-type=text/x-cvsweb-markup Index: timing.ucf =================================================================== ################################################################################ # Clock Constraints ################################################################################ NET "ck_i" TNM_NET = "ck_i"; TIMESPEC "TS_ck_i" = PERIOD "ck_i" 250 ns;

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.