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

Subversion Repositories t48

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /t48/branches
    from Rev 336 to Rev 337
    Reverse comparison

Rev 336 → Rev 337

/wip_t2x/syn/t8022/b5x300/Makefile
0,0 → 1,40
##############################################################################
#
# Generic Makefile for ISE projects
#
# 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 := t8022
 
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
/wip_t2x/syn/t8022/b5x300/compile_list
0,0 → 1,31
../../../rtl/vhdl/t48_pack-p.vhd
../../../rtl/vhdl/psw.vhd
../../../rtl/vhdl/pmem_ctrl_pack-p.vhd
../../../rtl/vhdl/pmem_ctrl.vhd
../../../rtl/vhdl/p2.vhd
../../../rtl/vhdl/p1.vhd
../../../rtl/vhdl/timer.vhd
../../../rtl/vhdl/dmem_ctrl_pack-p.vhd
../../../rtl/vhdl/dmem_ctrl.vhd
../../../rtl/vhdl/decoder_pack-p.vhd
../../../rtl/vhdl/cond_branch_pack-p.vhd
../../../rtl/vhdl/alu_pack-p.vhd
../../../rtl/vhdl/t48_comp_pack-p.vhd
../../../rtl/vhdl/int.vhd
../../../rtl/vhdl/t48_tb_pack-p.vhd
../../../rtl/vhdl/decoder.vhd
../../../rtl/vhdl/db_bus.vhd
../../../rtl/vhdl/cond_branch.vhd
../../../rtl/vhdl/clock_ctrl.vhd
../../../rtl/vhdl/bus_mux.vhd
../../../rtl/vhdl/alu.vhd
../../../rtl/vhdl/adc.vhd
../../../rtl/vhdl/t22_core.vhd
../../../rtl/vhdl/system/generic_ram_ena.vhd
t49_rom.vhd
../../../rtl/vhdl/system/t49_rom-e.vhd
../../../rtl/vhdl/system/t49_rom-struct-a.vhd
../../../rtl/vhdl/t48_core_comp_pack-p.vhd
../../../rtl/vhdl/system/t8022_notri.vhd
../../../rtl/vhdl/system/t48_system_comp_pack-p.vhd
../../../rtl/vhdl/system/t8022.vhd
/wip_t2x/syn/t8022/b5x300/compile_project.tcl
0,0 → 1,46
##############################################################################
#
# Generic project compile script
#
# $Id: compile_project.tcl 295 2009-04-01 19:32:48Z arniml $
#
# 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
/wip_t2x/syn/t8022/b5x300/gen_ise_project.tcl
0,0 → 1,162
###############################################################################
#
# $Id: gen_ise_project.tcl 295 2009-04-01 19:32:48Z arniml $
#
# 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@xilinx.com
# 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 "t8022.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 spartan2e
project set device xc2s300e
project set package pq208
project set speed -6
 
 
###############################################################################
# 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 {Use Synthesis Constraints File} 1 -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
/wip_t2x/syn/t8022/b5x300/t49_rom.hex
0,0 → 1,2
:0700000023FF39D3010402C4
:00000001FF
/wip_t2x/syn/t8022/b5x300/t49_rom.vhd
0,0 → 1,37
-- This file was generated with hex2rom written by Daniel Wallner
 
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
 
entity rom_t49 is
port(
Clk : in std_logic;
A : in std_logic_vector(10 downto 0);
D : out std_logic_vector(7 downto 0)
);
end rom_t49;
 
architecture rtl of rom_t49 is
signal A_r : std_logic_vector(10 downto 0);
begin
process (Clk)
begin
if Clk'event and Clk = '1' then
A_r <= A;
end if;
end process;
process (A_r)
begin
case to_integer(unsigned(A_r)) is
when 000000 => D <= "00100011"; -- 0x0000
when 000001 => D <= "11111111"; -- 0x0001
when 000002 => D <= "00111001"; -- 0x0002
when 000003 => D <= "11010011"; -- 0x0003
when 000004 => D <= "00000001"; -- 0x0004
when 000005 => D <= "00000100"; -- 0x0005
when 000006 => D <= "00000010"; -- 0x0006
when others => D <= "--------";
end case;
end process;
end;
/wip_t2x/syn/t8022/b5x300/t8022.ucf
0,0 → 1,49
#NET "reset_n_i" LOC = "P187";
#NET "xtal_i" LOC = "P185";
NET "xtal_i" TNM_NET = "xtal_i";
TIMESPEC "TS_xtal_i" = PERIOD "xtal_i" 90 ns HIGH 50 %;
 
#PINLOCK_BEGIN
 
#Fri Apr 30 18:23:21 2004
 
#PINLOCK_END
#PACE: Start of Constraints generated by PACE
 
#PACE: Start of PACE I/O Pin Assignments
NET "ale_o" LOC = "P205" ;
NET "p0_b<0>" LOC = "P133" ;
NET "p0_b<1>" LOC = "P134" ;
NET "p0_b<2>" LOC = "P135" ;
NET "p0_b<3>" LOC = "P136" ;
NET "p0_b<4>" LOC = "P138" ;
NET "p0_b<5>" LOC = "P139" ;
NET "p0_b<6>" LOC = "P140" ;
NET "p0_b<7>" LOC = "P141" ;
NET "p1_b<0>" LOC = "P82" ;
NET "p1_b<1>" LOC = "P83" ;
NET "p1_b<2>" LOC = "P84" ;
NET "p1_b<3>" LOC = "P86" ;
NET "p1_b<4>" LOC = "P87" ;
NET "p1_b<5>" LOC = "P88" ;
NET "p1_b<6>" LOC = "P89" ;
NET "p1_b<7>" LOC = "P93" ;
NET "p2_b<0>" LOC = "P94" ;
NET "p2_b<1>" LOC = "P95" ;
NET "p2_b<2>" LOC = "P96" ;
NET "p2_b<3>" LOC = "P97" ;
NET "p2_b<4>" LOC = "P98" ;
NET "p2_b<5>" LOC = "P99" ;
NET "p2_b<6>" LOC = "P100" ;
NET "p2_b<7>" LOC = "P101" ;
NET "prog_n_o" LOC = "P202" ;
NET "reset_i" LOC = "P57" ;
NET "t0_i" LOC = "P181" ;
NET "t1_i" LOC = "P200" ;
NET "xtal_i" LOC = "P77" ;
 
#PACE: Start of PACE Area Constraints
 
#PACE: Start of PACE Prohibit Constraints
 
#PACE: End of Constraints generated by PACE

powered by: WebSVN 2.1.0

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