URL
https://opencores.org/ocsvn/socgen/socgen/trunk
Subversion Repositories socgen
Compare Revisions
- This comparison shows the changes necessary to convert path
/socgen
- from Rev 87 to Rev 88
- ↔ Reverse comparison
Rev 87 → Rev 88
/trunk/tools/Jtag_programmers/etc/udev/rules.d/xusbdfwu.rules
1,8 → 1,8
# version 0003 |
SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0008", MODE="666" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/12.3/ISE_DS/ISE/bin/lin/xusbdfwu.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/12.3/ISE_DS/ISE/bin/lin/xusb_xup.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/12.3/ISE_DS/ISE/bin/lin/xusb_emb.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/12.3/ISE_DS/ISE/bin/lin/xusb_xlp.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/12.3/ISE_DS/ISE/bin/lin/xusb_xp2.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/12.3/ISE_DS/ISE/bin/lin/xusb_xse.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/13.1/ISE_DS/ISE/bin/lin/xusbdfwu.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/13.1/ISE_DS/ISE/bin/lin/xusb_xup.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/13.1/ISE_DS/ISE/bin/lin/xusb_emb.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/13.1/ISE_DS/ISE/bin/lin/xusb_xlp.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/13.1/ISE_DS/ISE/bin/lin/xusb_xp2.hex -D $tempnode" |
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /opt/Xilinx/13.1/ISE_DS/ISE/bin/lin/xusb_xse.hex -D $tempnode" |
/trunk/tools/install/msp430-gcc-4.4.3/Readme.txt
File deleted
/trunk/tools/install/msp430-gcc-4.4.3/Makefile
File deleted
/trunk/tools/bin/build_geda
0,0 → 1,359
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
|
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source 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 Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
|
# ToDO: add handling unaligned words |
|
|
############################################################################ |
# General PERL config |
############################################################################ |
use Getopt::Long; |
use English; |
use File::Basename; |
|
$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE. |
|
|
############################################################################ |
### Process the options |
############################################################################ |
|
Getopt::Long::config("require_order", "prefix=-"); |
GetOptions("h" |
) || die "(use '$program_name -h' for help)"; |
|
|
############################################################################## |
## Help option |
############################################################################## |
if ( ($opt_h eq "1") ) |
{ print "\n type test filename ( no extension)"; |
print "\n"; |
exit 1; |
} |
|
|
############################################################################## |
## |
############################################################################## |
|
|
|
use Cwd; |
use XML::LibXML; |
|
$cde_home = cwd(); |
$lib_comp_sep = "/ip/"; |
$comp_xml_sep = "/rtl/xml/"; |
|
|
|
|
############################################################################# |
## |
## open intel hex file and read into array |
## |
############################################################################# |
|
my $project = $ARGV[0]; |
my $component = $ARGV[1]; |
my $prefix = "work/${project}"; |
|
|
|
############################################################################# |
## |
## |
############################################################################# |
|
|
|
|
|
|
my $parser = XML::LibXML->new(); |
my $doc = $parser->parse_file("${cde_home}/${prefix}/ip/${component}/soc/design.soc"); |
|
|
foreach my $comp ($doc->findnodes('//components/component')) |
{ |
|
my($name) = $comp->findnodes('./name/text()')->to_literal ; |
my($version) = $comp->findnodes('./version/text()')->to_literal ; |
|
my $variant = ""; |
if($version) {$variant = "${name}_${version}"} |
else {$variant = "${name}"} |
|
print "gEDA directories for $project - $component . ${version}. $name - $variant \n"; |
|
#/*********************************************************************************************/ |
#/ */ |
#/ */ |
#/ */ |
#/ */ |
#/ */ |
#/ */ |
#/*********************************************************************************************/ |
|
|
my $path = "${cde_home}/${prefix}/ip/${component}/doc/geda"; |
mkdir $path,0755 unless( -e $path ); |
|
my $path = "${cde_home}/${prefix}/ip/${component}/doc/geda/drawing"; |
mkdir $path,0755 unless( -e $path ); |
|
my $path = "${cde_home}/${prefix}/ip/${component}/doc/geda/drawing/sch"; |
mkdir $path,0755 unless( -e $path ); |
|
my $path = "${cde_home}/${prefix}/ip/${component}/doc/geda/drawing/sym"; |
mkdir $path,0755 unless( -e $path ); |
|
my $outfile ="${cde_home}/${prefix}/ip/${component}/doc/geda/drawing/sch/${variant}.sch"; |
open SCH_FILE,">$outfile" or die "unable to open $outfile"; |
|
my $outfile ="${cde_home}/${prefix}/ip/${component}/doc/geda/drawing/sym/${variant}.sym"; |
open SYM_FILE,">$outfile" or die "unable to open $outfile"; |
|
|
|
my $parser = XML::LibXML->new(); |
my $doc = $parser->parse_file("${cde_home}/${prefix}${lib_comp_sep}${component}${comp_xml_sep}${variant}.xml"); |
foreach my $comp ($doc->findnodes('//spirit:component')) |
{ |
my($vendor) = $comp->findnodes('./spirit:vendor/text()')->to_literal ; |
my($library) = $comp->findnodes('./spirit:library/text()')->to_literal ; |
my($name) = $comp->findnodes('./spirit:name/text()')->to_literal ; |
my($version) = $comp->findnodes('./spirit:version/text()')->to_literal ; |
|
#/**********************************************************************/ |
#/* */ |
#/* Every hier cell is constructed from the ipxact file with seperate */ |
#/* versions for simulation and synthesys */ |
#/* */ |
#/* */ |
#/**********************************************************************/ |
|
my $in_count = 0; |
my $out_count = 0; |
my $in_length = 0; |
my $out_length = 0; |
|
|
foreach my $i_name ($doc->findnodes("//spirit:component/spirit:model/spirit:ports/spirit:port/name")) |
{ |
my($port_name) = $i_name ->findnodes('./text()')->to_literal ; |
my($direction) = $i_name ->findnodes('../spirit:wire/spirit:direction/text()')->to_literal ; |
my($left) = $i_name ->findnodes('../spirit:wire/spirit:vector/spirit:left/text()')->to_literal ; |
my($right) = $i_name ->findnodes('../spirit:wire/spirit:vector/spirit:right/text()')->to_literal ; |
my($type) = $i_name ->findnodes('../spirit:wireTypeDefs/spirit:wireTypeDef/spirit:typeName/text()')->to_literal ; |
|
|
|
|
|
|
|
if($left) {$width = "[${left}:${right}]";} |
else {$width = " ";} |
|
my $pin_name = "${port_name}${width}"; |
|
if("input" eq $direction) |
{ |
push(@invads,$pin_name); |
$in_count = $in_count+1; |
if( length($pin_name) > $in_length) { $in_length = length($pin_name)}; |
} |
if("output" eq $direction) |
{ |
push(@outvads,$pin_name); |
$out_count = $out_count+1; |
if( length($pin_name) > $out_length){ $out_length = length($pin_name) } |
} |
if("inout" eq $direction) |
{ |
push(@inoutvads,$pin_name); |
$in_count = $in_count+1; |
if( length($pin_name) > $in_length){ $in_length = length($pin_name) } |
} |
} |
|
my $max_pins; |
|
if($in_count > $out_count) {$max_pins = $in_count ;} else {$max_pins = $out_count ;} |
|
|
|
my $sch_color = 5; |
my $sch_size = 10; |
my $sch_pin_y = 300; |
|
|
my $sch_in_edg = ($in_length)*10*$sch_size +200; |
my $sch_in_pad = ($in_length)*10*$sch_size +200; |
my $sch_out_edg = ($in_length +$out_length)*10*$sch_size +2500; |
my $sch_out_pad = ($in_length +$out_length)*10*$sch_size +1500; |
|
printf SCH_FILE ("v 20100214 1\n"); |
|
|
my $sym_color = 5; |
my $sym_size = 10; |
my $sym_box_h = ($max_pins * 200) +300; |
my $sym_box_w = ($in_length +$out_length)*10*$sym_size +400; |
my $sym_out_title = ($in_length +$out_length)*10*$sym_size +600; |
my $sym_out_edg = ($in_length +$out_length)*10*$sym_size +700; |
my $sym_out_pad = ($in_length +$out_length)*10*$sym_size +1000; |
my $sym_title = $sym_box_h +150; |
my $sym_ref_des = $sym_box_h +350; |
|
|
printf SYM_FILE ("v 20100214 1\n"); |
printf SYM_FILE ("B 300 0 $sym_box_w $sym_box_h 3 60 0 0 -1 -1 0 -1 -1 -1 -1 -1\n"); |
printf SYM_FILE ("T 400 $sym_title 5 10 1 1 0 0 1 1\ndevice=%s\n", $variant); |
printf SYM_FILE ("T 400 $sym_ref_des 8 10 1 1 0 0 1 1\n%srefdes=U?\n"); |
|
my $sym_pin_y = 200; |
my $sym_pin_seq = 1; |
|
|
|
while( $name =pop(@invads)) |
{ |
printf SCH_FILE ("C $sch_in_pad $sch_pin_y 1 0 0 in_port_v.sym \n{\nT $sch_in_edg $sch_pin_y $sch_color $sch_size 1 1 0 6 1 1\nrefdes=%s\n}\n",$name); |
$sch_pin_y = $sch_pin_y +400; |
|
printf SYM_FILE ("P 300 $sym_pin_y 0 $sym_pin_y 10 1 1 \n"); |
printf SYM_FILE ("{\nT 400 $sym_pin_y $sym_color $sym_size 1 1 0 1 1 1\npinnumber=%s\n",$name); |
printf SYM_FILE ("T 400 $sym_pin_y $sym_color $sym_size 0 1 0 1 1 1\npinseq=%s\n}\n",$sym_pin_seq); |
$sym_pin_seq = $sym_pin_seq +1; |
$sym_pin_y = $sym_pin_y +200; |
} |
|
$sym_pin_y = 200; |
|
|
while( $name =pop(@inpads)) |
{ |
printf SCH_FILE ("C $sch_in_pad $sch_pin_y 1 0 0 in_port.sym \n{\nT $sch_in_edg $sch_pin_y $sch_color $sch_size 1 1 0 6 1 1 \nrefdes=%s\n}\n",$name); |
$sch_pin_y = $sch_pin_y +400; |
|
printf SYM_FILE ("P 300 $sym_pin_y 0 $sym_pin_y 4 0 1 \n"); |
printf SYM_FILE ("{\nT 400 $sym_pin_y $sym_color $sym_size 1 1 0 1 1 1 \npinnumber=%s\n",$name); |
printf SYM_FILE ("T 400 $sym_pin_y $sym_color $sym_size 0 1 0 1 1 1 \npinseq=%s\n}\n",$sym_pin_seq); |
$sym_pin_seq = $sym_pin_seq +1; |
$sym_pin_y = $sym_pin_y +200; |
|
} |
|
|
|
while( $name =pop(@inoutvads)) |
{ |
printf SCH_FILE ("C $sch_in_pad $sch_pin_y 1 0 0 io_port_v.sym \n{\nT $sch_in_edg $sch_pin_y $sch_color $sch_size 1 1 0 6 1 1\nrefdes=%s\n}\n",$name); |
$sch_pin_y = $sch_pin_y +400; |
|
printf SYM_FILE ("P $sym_out_edg $sym_pin_y $sym_out_pad $sym_pin_y 10 1 1\n"); |
printf SYM_FILE ("{\nT $sym_out_title $sym_pin_y $sym_color $sym_size 1 1 0 7 1 1 \npinnumber=%s\n",$name); |
printf SYM_FILE ("T $sym_out_title $sym_pin_y $sym_color $sym_size 0 1 0 7 1 1 \npinseq=%s\n}\n",$sym_pin_seq); |
$sym_pin_seq = $sym_pin_seq +1; |
$sym_pin_y = $sym_pin_y +200; |
|
} |
|
|
while( $name =pop(@inoutpads)) |
{ |
printf SCH_FILE ("C $sch_in_pad $sch_pin_y 1 0 0 io_port.sym \n{\nT $sch_in_edg $sch_pin_y $sch_color $sch_size 1 1 0 6 1 1 \nrefdes=%s\n}\n",$name); |
$sch_pin_y = $sch_pin_y +400; |
|
printf SYM_FILE ("P $sym_out_edg $sym_pin_y $sym_out_pad $sym_pin_y 4 0 1\n"); |
printf SYM_FILE ("{\nT $sym_out_title $sym_pin_y $sym_color $sym_size 1 1 0 7 1 1\npinnumber=%s\n",$name); |
printf SYM_FILE ("T $sym_out_edg $sym_pin_y $sym_color $sym_size 0 1 0 7 1 1\npinseq=%s\n}\n",$sym_pin_seq); |
$sym_pin_seq = $sym_pin_seq +1; |
$sym_pin_y = $sym_pin_y +200; |
} |
|
|
$sch_pin_y = 300; |
|
while( $name =pop(@outvads)) |
{ |
printf SCH_FILE ("C $sch_out_pad $sch_pin_y 1 0 0 out_port_v.sym\n{\nT $sch_out_edg $sch_pin_y $sch_color $sch_size 1 1 0 0 1 1 \nrefdes=%s\n}\n",$name); |
$sch_pin_y = $sch_pin_y +400; |
|
printf SYM_FILE ("P $sym_out_edg $sym_pin_y $sym_out_pad $sym_pin_y 10 1 1\n"); |
printf SYM_FILE ("{\nT $sym_out_title $sym_pin_y $sym_color $sym_size 1 1 0 7 1 1 \npinnumber=%s\n",$name); |
printf SYM_FILE ("T $sym_out_title $sym_pin_y $sym_color $sym_size 0 1 0 7 1 1 \npinseq=%s\n}\n",$sym_pin_seq); |
$sym_pin_seq = $sym_pin_seq +1; |
$sym_pin_y = $sym_pin_y +200; |
} |
|
|
while( $name =pop(@outpads)) |
{ |
printf SCH_FILE ("C $sch_out_pad $sch_pin_y 1 0 0 out_port.sym\n{\nT $sch_out_edg $sch_pin_y $sch_color $sch_size 1 1 0 0 1 1\nrefdes=%s\n}\n",$name); |
$sch_pin_y = $sch_pin_y +400; |
|
printf SYM_FILE ("P $sym_out_edg $sym_pin_y $sym_out_pad $sym_pin_y 4 0 1\n"); |
printf SYM_FILE ("{\nT $sym_out_title $sym_pin_y $sym_color $sym_size 1 1 0 7 1 1\npinnumber=%s\n",$name); |
printf SYM_FILE ("T $sym_out_edg $sym_pin_y $sym_color $sym_size 0 1 0 7 1 1\npinseq=%s\n}\n",$sym_pin_seq); |
$sym_pin_seq = $sym_pin_seq +1; |
$sym_pin_y = $sym_pin_y +200; |
} |
|
} |
|
} |
|
|
|
|
|
|
|
|
trunk/tools/bin/build_geda
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/tools/bin/soc_link_1
===================================================================
--- trunk/tools/bin/soc_link_1 (revision 87)
+++ trunk/tools/bin/soc_link_1 (revision 88)
@@ -132,7 +132,7 @@
&link_dir( "${home}/targets/${chip_target}", "${home}/${prefix}/ip/${component}/syn/${chip}/target" );
&link_dir( "${home}/lib", "${home}/${prefix}/ip/${component}/syn/${chip}/target/lib/syn" );
-
+ &link_dir( "${home}/tools/Jtag_programmers/debug", "${home}/${prefix}/ip/${component}/syn/${chip}/debug" );
}
/trunk/tools/bin/soc_link_2
97,7 → 97,7
foreach $line (@filelist) |
{ |
$_ = $line; |
if(/::(\w+)::(\w+)::(\w+)::/) |
if(/::(\S+)::(\S+)::(\S+)::/) |
{ |
$new_proj = $1; |
$new_comp = $2; |
/trunk/tools/bin/build_verilog
11,9 → 11,9
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* builds verilog rtl from a ip-xact component file */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
/trunk/tools/bin/soc_builder
116,6 → 116,12
$cmd ="./tools/bin/setup_cov $project $component /n"; |
if (system($cmd)) {} |
print "exit setup_cov \n"; |
|
$cmd ="./tools/bin/build_geda $project $component /n"; |
if (system($cmd)) {} |
print "exit build_geda \n"; |
|
|
$cmd ="./tools/bin/build_filelists $project $component $variant /n"; |
if (system($cmd)) {} |
print "exit build_filelists \n"; |
153,7 → 159,7
chomp($xml_file); |
my $filename= "${home}/${prefix}/ip/${component}/rtl/xml/${xml_file}"; |
$_ = $filename; |
if(/(\S+)\/ip\/(\w+)\/rtl\/xml\/(\w+).xml/) |
if(/(\S+)\/ip\/(\S+)\/rtl\/xml\/(\S+).xml/) |
{ |
$variant = $3; |
} |
169,7 → 175,7
foreach $line (@filelist) |
{ |
$_ = $line; |
if(/::(\w+)::(\w+)::(\w+)::/) |
if(/::(\S+)::(\S+)::(\S+)::/) |
{ |
$new_proj = $1; |
$new_comp = $2; |
212,7 → 218,7
foreach my $kid (@kids) |
{ |
$_ = $kid; |
if(/(\S+)\/ip\/(\w+)\/rtl\/xml\/(\w+).xml/) |
if(/(\S+)\/ip\/(\S+)\/rtl\/xml\/(\S+).xml/) |
{ |
$prefix = $1; |
$component = $2; |
/trunk/tools/bin/Makefile.root
50,7 → 50,7
chmod 755 filelist.ver ;\ |
rm -f TB.v;\ |
./filelist.ver ;\ |
verilator --cc TB.v --exe ../../bench/verilator/sim_main.cpp -top-module TB -Wno-WIDTH 2> lint.log;\ |
verilator --cc TB.v --exe ../../bench/verilator/sim_main.cpp -top-module TB -Wno-WIDTH 2> lint.log;\ |
cd $(CUR_DIR) ;\ |
done; \ |
|
/trunk/tools/bin/soc_link
151,7 → 151,7
|
my $filename= "${home}/${prefix}/ip/${component}/rtl/xml/${xml_file}"; |
$_ = $filename; |
if(/(\S+)\/ip\/(\w+)\/rtl\/xml\/(\w+).xml/) { $variant = $3; } |
if(/(\S+)\/ip\/(\S+)\/rtl\/xml\/(\S+).xml/) { $variant = $3; } |
$cmd ="./tools/bin/soc_link_2 $project $component $variant /n"; |
if (system($cmd)) {} |
} |
/trunk/tools/bin/build_filelists
135,7 → 135,7
{ |
|
$_ = $line; |
if(/::(\w+)::(\w+)::(\w+)::/) |
if(/::(\S+)::(\S+)::(\S+)::/) |
{ |
$new_proj = $1; |
$new_comp = $2; |
/trunk/projects/Testbench/soc/library.soc
0,0 → 1,64
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
//------------------------------------------------------------------------// |
// This file is used to map a libraries ip-xact files into a common design// |
// environment. Variable $cde_home is set to the top level of the upper // |
// most level of the design datbase and ${prefix} shows where the libs are// |
// installed so that when given a VLNV: // |
// // |
// $project = ${vendor_local_name}{vendor_lib_sep}${library} // |
// $variant = ${component}${comp_ver_sep}${version} // |
// $ip-xact_file = // |
// ${cde_home}${prefix}${project}${lib_comp_sep}${variant}${ip_xact_post} // |
// // |
// The end user must edit the vendor_local_name and vendor_lib_sep // |
// variables to match where the vendors library is installed in the design// |
// environment // |
//------------------------------------------------------------------------// |
--> |
|
<library> |
<name>Testbench</name> |
<vendor_local_name></vendor_local_name> |
<vendor_lib_sep></vendor_lib_sep> |
<vendor>opencores.org</vendor> |
<lib_comp_sep>/ip/</lib_comp_sep> |
<comp_ver_sep>_</comp_ver_sep> |
<ip_xact_post>.xml</ip_xact_post> |
</library> |
|
|
|
|
|
|
|
|
|
|
/trunk/projects/Testbench/bin/repeater
0,0 → 1,133
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
|
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source 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 Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
|
# ToDO: add handling unaligned words |
|
|
############################################################################ |
# General PERL config |
############################################################################ |
use Getopt::Long; |
use English; |
use File::Basename; |
|
$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE. |
|
|
############################################################################ |
### Process the options |
############################################################################ |
|
Getopt::Long::config("require_order", "prefix=-"); |
GetOptions("h" |
) || die "(use '$program_name -h' for help)"; |
|
|
############################################################################## |
## Help option |
############################################################################## |
if ( ($opt_h eq "1") ) |
{ print "\n type test filename ( no extension)"; |
print "\n"; |
exit 1; |
} |
|
|
############################################################################## |
## |
############################################################################## |
|
use Cwd; |
use XML::LibXML; |
|
$home = cwd(); |
|
|
|
|
|
############################################################################# |
## |
## |
############################################################################# |
|
my $prefix = $ARGV[0]; |
my $component = $ARGV[1]; |
my $variant = $ARGV[2]; |
print "Repeater\n" ; |
|
my $index =0; |
|
while($ARGV[$index]) |
{ |
my $arg = $ARGV[$index]; |
$index = $index +1; |
print " $index -- $arg \n" ; |
|
} |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/projects/Testbench/bin/repeater
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/projects/Testbench/ip/ps2_host/rtl/xml/ps2_host.xml
===================================================================
--- trunk/projects/Testbench/ip/ps2_host/rtl/xml/ps2_host.xml (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_host/rtl/xml/ps2_host.xml (revision 88)
@@ -0,0 +1,184 @@
+
+
+
+
+opencores.org
+Testbench
+ps2_host
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ ps2_host
+
+
+ variant
+ ps2_host
+
+
+
+
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+clk
+wire
+input
+
+
+reset
+wire
+input
+
+
+
+busy
+wire
+input
+
+
+rx_read
+wire
+input
+
+
+
+rx_full
+wire
+input
+
+
+rx_parity_error
+wire
+input
+
+
+rx_parity_rcv
+wire
+input
+
+
+rx_parity_cal
+wire
+input
+
+
+rx_frame_error
+wire
+input
+
+
+rx_clr
+wire
+output
+
+
+
+
+tx_write
+wire
+output
+
+
+
+output reg [7:0] tx_data,
+inout wire [7:0] rx_data,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+
+
+ ../verilog/top
+ verilogSourceTop
+
+
+
+
+ ../verilog/ps2h_probe
+ verilogSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/ps2_host/rtl/verilog/top
===================================================================
--- trunk/projects/Testbench/ip/ps2_host/rtl/verilog/top (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_host/rtl/verilog/top (revision 88)
@@ -0,0 +1,179 @@
+
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* ps2 host model for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+
+module ps2_host
+
+(
+input wire clk,
+input wire reset,
+input wire busy,
+
+inout wire [7:0] rx_data,
+input wire rx_read,
+input wire rx_full,
+input wire rx_parity_error,
+input wire rx_parity_rcv,
+input wire rx_parity_cal,
+input wire rx_frame_error,
+inout wire tx_ack_error,
+
+output reg rx_clr,
+output reg [7:0] tx_data,
+output reg tx_write
+);
+
+
+reg exp_tx_ack_err;
+reg mask_tx_ack_err;
+
+reg [7:0] exp_rcv_byte;
+reg [7:0] mask_rcv_byte;
+
+
+task automatic next;
+ input [31:0] num;
+ repeat (num) @ (posedge clk);
+endtask
+
+
+
+always@(posedge clk)
+ if(reset)
+ begin
+ tx_data <= 8'h00;
+ tx_write <= 1'b0;
+ rx_clr <= 1'b0;
+ exp_tx_ack_err <= 1'b0;
+ mask_tx_ack_err <= 1'b0;
+ exp_rcv_byte <= 8'h00;
+ mask_rcv_byte <= 8'h00;
+
+
+
+ end
+
+
+task clear_rx_host;
+ begin
+ rx_clr <= 1'b1;
+ next(1);
+ rx_clr <= 1'b0;
+ end
+endtask
+
+
+
+
+task send_byte;
+ input [7:0] byte_out;
+ begin
+ $display("%t %m %2h",$realtime ,byte_out );
+ tx_data <= byte_out;
+ next(1);
+ tx_write <= 1'b1;
+ next(1);
+ tx_write <= 1'b0;
+ next(1);
+ while(busy) next(1);
+ mask_tx_ack_err <= 1'b1;
+ next(1);
+ mask_tx_ack_err <= 1'b0;
+ end
+endtask // send_byte
+
+
+
+
+ps2h_probe
+#( .MESG("ps2_host tx_ack error")
+ )
+tx_ack_err_tpb
+(
+ .clk ( clk ),
+ .drive_value ( 1'bz ),
+ .expected_value ( exp_tx_ack_err ),
+ .mask ( mask_tx_ack_err ),
+ .signal ( tx_ack_error )
+);
+
+
+
+
+
+task rcv_byte;
+ input [7:0] byte_in;
+ begin
+ exp_rcv_byte <= byte_in;
+
+ while(!rx_read) next(1);
+ $display("%t checking %h",$realtime,byte_in);
+ mask_rcv_byte <= 8'hff;
+ next(1);
+ mask_rcv_byte <= 8'h00;
+end
+endtask
+
+
+
+
+ps2h_probe
+#( .MESG("ps2_host receive error"),
+ .WIDTH (8)
+ )
+rcv_byte_tpb
+(
+ .clk ( clk ),
+ .drive_value ( {8{1'bz}} ),
+ .expected_value ( exp_rcv_byte ),
+ .mask ( mask_rcv_byte ),
+ .signal ( rx_data )
+);
+
+
+
+
+endmodule
+
Index: trunk/projects/Testbench/ip/ps2_host/rtl/verilog/ps2h_probe
===================================================================
--- trunk/projects/Testbench/ip/ps2_host/rtl/verilog/ps2h_probe (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_host/rtl/verilog/ps2h_probe (revision 88)
@@ -0,0 +1,112 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* io_probe for handling timing delays in dut */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+module ps2h_probe
+#(parameter MESG = " ",
+ parameter WIDTH = 1,
+ parameter RESET = {WIDTH{1'bz}},
+ parameter IN_DELAY = 5,
+ parameter OUT_DELAY = 15,
+ parameter OUT_WIDTH = 10
+ )
+(
+input wire clk,
+
+input wire [WIDTH-1:0] drive_value,
+input wire [WIDTH-1:0] expected_value,
+input wire [WIDTH-1:0] mask,
+
+inout wire [WIDTH-1:0] signal
+
+
+);
+
+
+reg [WIDTH-1:0] filtered_value;
+reg [WIDTH:1] fail;
+
+
+
+
+
+
+assign signal = drive_value;
+
+
+
+
+
+
+always @(posedge clk) filtered_value <= signal;
+always @(posedge clk) fail <= mask & (signal^ expected_value);
+
+
+
+
+
+initial
+ begin
+ cg.next(3);
+ while(1)
+ begin
+ if(fail !== {WIDTH{1'b0}})
+ begin
+ $display("%t %m value %x failure on bit(s) %b",$realtime,filtered_value,fail );
+ cg.fail(MESG);
+ end
+ cg.next(1);
+ end // while (1)
+ end // initial begin
+
+
+
+
+
+
+
+
+endmodule
+
+
+
Index: trunk/projects/Testbench/ip/ps2_host/soc/design.soc
===================================================================
--- trunk/projects/Testbench/ip/ps2_host/soc/design.soc (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_host/soc/design.soc (revision 88)
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+ps2_host
+ps2_host
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/ps2_host/doc/copyright.v
===================================================================
--- trunk/projects/Testbench/ip/ps2_host/doc/copyright.v (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_host/doc/copyright.v (revision 88)
@@ -0,0 +1,43 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Clock and Reset generator for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
Index: trunk/projects/Testbench/ip/ps2_host/bin/Makefile
===================================================================
--- trunk/projects/Testbench/ip/ps2_host/bin/Makefile (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_host/bin/Makefile (revision 88)
@@ -0,0 +1,2 @@
+include ../../../bin/Makefile.root
+
Index: trunk/projects/Testbench/ip/clock_gen/rtl/xml/clock_gen.xml
===================================================================
--- trunk/projects/Testbench/ip/clock_gen/rtl/xml/clock_gen.xml (nonexistent)
+++ trunk/projects/Testbench/ip/clock_gen/rtl/xml/clock_gen.xml (revision 88)
@@ -0,0 +1,136 @@
+
+
+
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+
+
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ clock_gen
+
+
+ variant
+ clock_gen
+
+
+
+
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+10
+0
+
+
+
+
+clk
+reg
+output
+
+
+reset
+reg
+output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+
+
+ ../verilog/top
+ verilogSourceTop
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/clock_gen/rtl/verilog/top
===================================================================
--- trunk/projects/Testbench/ip/clock_gen/rtl/verilog/top (nonexistent)
+++ trunk/projects/Testbench/ip/clock_gen/rtl/verilog/top (revision 88)
@@ -0,0 +1,138 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Clock and Reset generator for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+`timescale 1ns/1ns
+
+module clock_gen
+#(parameter PERIOD=10,
+ parameter TIMEOUT=0
+ )
+ (output reg clk,
+ output reg reset
+ );
+
+
+
+`ifndef SYNTHESIS
+
+reg failed;
+reg [31:0] fail_count;
+
+
+task automatic next;
+ input [31:0] num;
+ repeat (num) @ (posedge clk);
+endtask // next
+
+
+
+task reset_on;
+ reset = 1;
+endtask // reset_on
+
+
+task automatic fail;
+ input [799:0] message;
+ begin
+ failed = 1;
+ fail_count = fail_count+1;
+ $display("%t Simulation FAILURE: %s ",$realtime,message );
+ end
+endtask
+
+
+task reset_off;
+ begin
+ reset = 0;
+ end
+endtask // reset_off
+
+
+task exit;
+ begin
+ if(failed)
+ begin
+ $display("%t Sim over: ERROR %d failures",$realtime ,fail_count );
+ end
+ else
+ begin
+ $display("%t Sim over: PASSED",$realtime );
+ end // else: !if(failed)
+ $dumpflush;
+ $finish;
+ end
+endtask
+
+
+initial
+begin
+clk=0;
+reset=1;
+failed=0;
+fail_count =32'h00000000;
+end
+
+always
+#(PERIOD/2) clk = !clk;
+
+
+
+initial
+ begin
+ if(TIMEOUT)
+ begin
+ next(TIMEOUT);
+ $display("%t Sim over :ERROR TIMEOUT",$realtime );
+ $finish;
+ end
+
+ end
+
+`endif
+
+
+
+endmodule
+
+
+
Index: trunk/projects/Testbench/ip/clock_gen/soc/design.soc
===================================================================
--- trunk/projects/Testbench/ip/clock_gen/soc/design.soc (nonexistent)
+++ trunk/projects/Testbench/ip/clock_gen/soc/design.soc (revision 88)
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+clock_gen
+clock_gen
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/clock_gen/doc/copyright.v
===================================================================
--- trunk/projects/Testbench/ip/clock_gen/doc/copyright.v (nonexistent)
+++ trunk/projects/Testbench/ip/clock_gen/doc/copyright.v (revision 88)
@@ -0,0 +1,43 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Clock and Reset generator for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
Index: trunk/projects/Testbench/ip/clock_gen/bin/Makefile
===================================================================
--- trunk/projects/Testbench/ip/clock_gen/bin/Makefile (nonexistent)
+++ trunk/projects/Testbench/ip/clock_gen/bin/Makefile (revision 88)
@@ -0,0 +1,2 @@
+include ../../../bin/Makefile.root
+
Index: trunk/projects/Testbench/ip/ps2_model/rtl/xml/ps2_model.xml
===================================================================
--- trunk/projects/Testbench/ip/ps2_model/rtl/xml/ps2_model.xml (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_model/rtl/xml/ps2_model.xml (revision 88)
@@ -0,0 +1,151 @@
+
+
+
+
+opencores.org
+Testbench
+ps2_model
+
+
+
+
+
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ ps2_model
+
+
+ variant
+ ps2_model
+
+
+
+
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+10'h1f0
+
+
+
+
+clk
+wire
+input
+
+
+reset
+wire
+input
+
+
+
+ps2_clk
+wire
+inout
+
+
+ps2_data
+wire
+inout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+
+
+ ../verilog/top
+ verilogSourceTop
+
+
+
+
+ ../verilog/ps2_probe
+ verilogSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/ps2_model/rtl/verilog/top
===================================================================
--- trunk/projects/Testbench/ip/ps2_model/rtl/verilog/top (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_model/rtl/verilog/top (revision 88)
@@ -0,0 +1,388 @@
+
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* ps2 device model for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+
+module ps2_model
+ #(parameter CLKCNT = 10'h1f0)
+
+(
+input wire clk,
+input wire reset,
+inout wire ps2_clk,
+inout wire ps2_data
+
+
+);
+
+
+//********************************************************************
+//*** TAP Controller State Machine
+//********************************************************************
+
+// TAP state parameters
+parameter RESET = 2'b00,
+ WAIT_63US = 2'b01,
+ CLOCK = 2'b10,
+ IDLE = 2'b11;
+
+
+
+reg device_rx_parity;
+reg [7:0] device_rx_data;
+
+wire prb_device_rx_parity;
+wire [7:0] prb_device_rx_data;
+
+wire device_rx_read;
+reg ps2_data_out;
+reg dev_host;
+reg [1:0] tap_state, next_tap_state;
+reg [9:0] count;
+reg clk_out;
+reg [4:0] bit_cnt;
+reg ack;
+reg [10:0] frame;
+reg clk_fall;
+reg clk_rise;
+reg device_write;
+reg [7:0] device_tx_data;
+reg device_tx_parity;
+reg device_ack;
+reg device_stop;
+reg [7:0] exp_device_rx_data;
+reg [7:0] mask_device_rx_data;
+reg exp_device_rx_parity;
+reg mask_device_rx_parity;
+
+
+
+
+initial
+ begin
+ device_write <= 1'b0;
+ device_tx_data <= 8'h00;
+ device_tx_parity <= 1'b0;
+ device_ack <= 1'b1;
+ device_stop <= 1'b1;
+
+ exp_device_rx_data <= 8'h00;
+ mask_device_rx_data <= 8'h00;
+ exp_device_rx_parity <= 1'b0;
+ mask_device_rx_parity <= 1'b0;
+
+ end
+
+
+assign prb_device_rx_parity = device_rx_parity;
+assign prb_device_rx_data = device_rx_data;
+
+
+
+task next;
+ input [31:0] num;
+ repeat (num) @ (posedge clk);
+endtask
+
+
+task send_byte;
+ input [7:0] byte_out;
+
+begin
+ while(tap_state != IDLE) next(1);
+ $display("%t %m %2h parity %b",$realtime ,byte_out,device_tx_parity );
+ device_tx_data <= byte_out;
+ next(1);
+ device_write <= 1'b1;
+ next(1);
+ device_write <= 1'b0;
+end
+endtask // send_byte
+
+
+
+
+
+
+task rcv_byte;
+ input [7:0] byte_in;
+ input parity;
+ begin
+
+ exp_device_rx_data <= byte_in;
+ exp_device_rx_parity <= parity;
+
+ while(!device_rx_read) next(1);
+ $display("%t checking %h %b",$realtime,byte_in,parity);
+ mask_device_rx_data <= 8'hff;
+ mask_device_rx_parity <= 1'b1;
+ next(1);
+
+ mask_device_rx_data <= 8'h00;
+ mask_device_rx_parity <= 1'b0;
+
+
+end
+endtask
+
+
+
+
+ps2_probe
+#(.MESG ( "ps2 data receive error"),
+ .WIDTH ( 8))
+device_rx_data_tpb (
+ .clk ( clk ),
+ .drive_value (8'bzzzzzzzz ),
+ .expected_value ( exp_device_rx_data ),
+ .mask ( mask_device_rx_data ),
+ .signal ( prb_device_rx_data )
+ );
+
+
+
+
+
+ps2_probe
+#(.MESG ( "ps2 parity receive error"))
+device_rx_parity_tpb (
+ .clk ( clk ),
+ .drive_value (1'bz ),
+ .expected_value ( exp_device_rx_parity ),
+ .mask ( mask_device_rx_parity ),
+ .signal ( prb_device_rx_parity )
+ );
+
+
+
+
+assign ps2_clk = clk_out ? 1'b0 : 1'bz ;
+assign ps2_data = ps2_data_out ? 1'b0 : 1'bz ;
+
+
+
+
+
+
+
+
+always @(posedge clk or posedge reset )
+ begin
+ if (reset)
+ begin
+ tap_state <= RESET;
+ ps2_data_out <= 1'b0;
+ end
+ else
+ begin
+ tap_state <= next_tap_state;
+ ps2_data_out <= ( (tap_state == CLOCK) && (dev_host? frame[0] : ack) );
+ end
+ end
+
+
+
+always @(posedge clk or posedge reset )
+ begin
+ if (reset) dev_host <= 1'b0;
+ else
+ if( device_write) dev_host <= 1'b1;
+ else
+ if( bit_cnt == 5'h16 ) dev_host <= 1'b0;
+ else dev_host <= dev_host ;
+ end
+
+
+
+always@(*) ack = (((bit_cnt == 5'h14)|| (bit_cnt == 5'h15)) && device_ack ) ;
+
+
+
+
+// next state decode for tap controller
+always @(*)
+ begin
+ if(device_write) next_tap_state = CLOCK;
+ else
+ case (tap_state) // synopsys parallel_case
+ RESET:
+ begin
+ next_tap_state = ps2_clk ? RESET : WAIT_63US ;
+ end
+
+ WAIT_63US:
+ begin
+ next_tap_state = ps2_clk ? CLOCK : WAIT_63US ;
+ end
+
+ CLOCK:
+ begin
+ next_tap_state = ((bit_cnt == 5'h16)&& (count == 10'h000)) ? IDLE : CLOCK;
+ end
+
+ IDLE:
+ begin
+ next_tap_state = ps2_data ? IDLE : WAIT_63US;
+ end
+ endcase
+ end
+
+
+
+
+always @(posedge clk or posedge reset )
+ begin
+ if (reset)
+ begin
+ count <= CLKCNT;
+ clk_out <= 1'b0;
+ bit_cnt <= 5'h00;
+ clk_fall <= 1'b0;
+ clk_rise <= 1'b0;
+ end
+ else
+ if((next_tap_state != CLOCK))
+ begin
+ count <= CLKCNT;
+ clk_out <= 1'b0;
+ bit_cnt <= 5'h00;
+ clk_fall <= 1'b0;
+ clk_rise <= 1'b0;
+ end
+ else
+ if((count == 10'h000) )
+ begin
+ count <= CLKCNT;
+ clk_out <= !clk_out;
+ bit_cnt <= bit_cnt+5'b0001;
+ clk_fall <= !clk_out;
+ clk_rise <= clk_out;
+ end
+ else
+ begin
+ count <= count - 10'h001;
+ clk_out <= clk_out;
+ bit_cnt <= bit_cnt;
+ clk_fall <= 1'b0;
+ clk_rise <= 1'b0;
+ end
+ end
+
+
+
+
+
+always @(posedge clk or posedge reset )
+ begin
+ if (reset)
+ begin
+ frame <= {device_ack,10'h000};
+ end
+ else
+ if(device_write)
+ begin
+ frame <= {!device_stop,device_tx_parity,~device_tx_data,1'b1};
+ end
+ else
+ if((tap_state == WAIT_63US) || (tap_state == IDLE))
+ begin
+ frame <= {device_ack,10'h000};
+ end
+ else
+ if((tap_state == CLOCK) && clk_fall && !dev_host ) frame <= { ps2_data,frame[10:1]};
+ else
+ if((tap_state == CLOCK) && clk_rise && dev_host ) frame <= { 1'b0,frame[10:1]};
+ else frame <= frame;
+ end
+
+
+
+
+always @(posedge clk or posedge reset )
+ begin
+ if (reset)
+ begin
+ device_rx_data <= 8'h00;
+ device_rx_parity <= 1'b0;
+ end
+ else
+ if(tap_state == WAIT_63US)
+ begin
+ device_rx_data <= 8'h00;
+ device_rx_parity <= 1'b0;
+ end
+
+ else
+ if((bit_cnt == 5'h12) && clk_rise)
+ begin
+ device_rx_data <= frame[10:3];
+ device_rx_parity <= ps2_data;
+ end
+ else
+ begin
+ device_rx_data <= device_rx_data;
+ device_rx_parity <= device_rx_parity;
+ end
+
+ end
+
+
+
+assign device_rx_read = (bit_cnt == 5'h13) && !dev_host && clk_fall;
+
+
+always@(posedge clk)
+ if( device_rx_read)
+ $display ("%t %m device rec %h parity %b",$realtime,device_rx_data,device_rx_parity);
+
+always@(posedge clk)
+ if(device_write)
+ $display ("%t %m device send %h parity %b stop %b ",$realtime,device_tx_data,device_tx_parity,device_stop);
+
+
+
+
+
+endmodule
+
Index: trunk/projects/Testbench/ip/ps2_model/rtl/verilog/ps2_probe
===================================================================
--- trunk/projects/Testbench/ip/ps2_model/rtl/verilog/ps2_probe (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_model/rtl/verilog/ps2_probe (revision 88)
@@ -0,0 +1,112 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* io_probe for handling timing delays in dut */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+module ps2_probe
+#(parameter MESG = " ",
+ parameter WIDTH = 1,
+ parameter RESET = {WIDTH{1'bz}},
+ parameter IN_DELAY = 5,
+ parameter OUT_DELAY = 15,
+ parameter OUT_WIDTH = 10
+ )
+(
+input wire clk,
+
+input wire [WIDTH-1:0] drive_value,
+input wire [WIDTH-1:0] expected_value,
+input wire [WIDTH-1:0] mask,
+
+inout wire [WIDTH-1:0] signal
+
+
+);
+
+
+reg [WIDTH-1:0] filtered_value;
+reg [WIDTH:1] fail;
+
+
+
+
+
+
+assign signal = drive_value;
+
+
+
+
+
+
+always @(posedge clk) filtered_value <= signal;
+always @(posedge clk) fail <= mask & (signal^ expected_value);
+
+
+
+
+
+initial
+ begin
+ cg.next(3);
+ while(1)
+ begin
+ if(fail !== {WIDTH{1'b0}})
+ begin
+ $display("%t %m value %x failure on bit(s) %b",$realtime,filtered_value,fail );
+ cg.fail(MESG);
+ end
+ cg.next(1);
+ end // while (1)
+ end // initial begin
+
+
+
+
+
+
+
+
+endmodule
+
+
+
Index: trunk/projects/Testbench/ip/ps2_model/soc/design.soc
===================================================================
--- trunk/projects/Testbench/ip/ps2_model/soc/design.soc (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_model/soc/design.soc (revision 88)
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+ps2_model
+ps2_model
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/ps2_model/doc/copyright.v
===================================================================
--- trunk/projects/Testbench/ip/ps2_model/doc/copyright.v (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_model/doc/copyright.v (revision 88)
@@ -0,0 +1,43 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Clock and Reset generator for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
Index: trunk/projects/Testbench/ip/ps2_model/bin/Makefile
===================================================================
--- trunk/projects/Testbench/ip/ps2_model/bin/Makefile (nonexistent)
+++ trunk/projects/Testbench/ip/ps2_model/bin/Makefile (revision 88)
@@ -0,0 +1,2 @@
+include ../../../bin/Makefile.root
+
Index: trunk/projects/Testbench/ip/uart_host/rtl/xml/uart_host.xml
===================================================================
--- trunk/projects/Testbench/ip/uart_host/rtl/xml/uart_host.xml (nonexistent)
+++ trunk/projects/Testbench/ip/uart_host/rtl/xml/uart_host.xml (revision 88)
@@ -0,0 +1,154 @@
+
+
+
+
+opencores.org
+Testbench
+uart_host
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ ps2_host
+
+
+ variant
+ ps2_host
+
+
+
+
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+clk
+wire
+input
+
+
+reset
+wire
+input
+
+
+
+
+
+
+
+output reg parity_enable,
+output reg txd_parity,
+output reg txd_force_parity,
+output reg [7:0] txd_data_in,
+input wire txd_buffer_empty,
+output reg txd_load,
+output reg txd_break,
+output reg rxd_parity,
+output reg rxd_force_parity,
+output reg rxd_data_avail_stb,
+inout wire [7:0] rxd_data_out,
+input wire rxd_data_avail,
+inout wire rxd_stop_error,
+inout wire rxd_parity_error
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+
+
+ ../verilog/top
+ verilogSourceTop
+
+
+
+
+ ../verilog/uarth_probe
+ verilogSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/uart_host/rtl/verilog/top
===================================================================
--- trunk/projects/Testbench/ip/uart_host/rtl/verilog/top (nonexistent)
+++ trunk/projects/Testbench/ip/uart_host/rtl/verilog/top (revision 88)
@@ -0,0 +1,211 @@
+
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* uart host model for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+
+module uart_host (
+input wire clk,
+input wire reset,
+output reg parity_enable,
+output reg txd_parity,
+output reg txd_force_parity,
+output reg [7:0] txd_data_in,
+input wire txd_buffer_empty,
+output reg txd_load,
+output reg txd_break,
+output reg rxd_parity,
+output reg rxd_force_parity,
+output reg rxd_data_avail_stb,
+inout wire [7:0] rxd_data_out,
+input wire rxd_data_avail,
+inout wire rxd_stop_error,
+inout wire rxd_parity_error
+);
+
+reg exp_rxd_stop_error;
+reg exp_rxd_parity_error;
+reg [7:0] exp_rxd_data_out;
+
+reg mask_rxd_stop_error;
+reg mask_rxd_parity_error;
+reg [7:0] mask_rxd_data_out;
+
+
+
+
+
+task automatic next;
+ input [31:0] num;
+ repeat (num) @ (posedge clk);
+endtask
+
+
+
+always@(posedge clk)
+if(reset)
+ begin
+ parity_enable <= 1'b0;
+ txd_data_in <= 8'h00;
+ txd_parity <= 1'b0;
+ txd_force_parity <= 1'b0;
+ txd_load <= 1'b0;
+ txd_break <= 1'b0;
+ rxd_parity <= 1'b0;
+ rxd_force_parity <= 1'b0;
+ rxd_data_avail_stb <= 1'b0;
+ exp_rxd_stop_error <= 1'b0;
+ exp_rxd_parity_error <= 1'b0;
+ exp_rxd_data_out <= 8'h00;
+
+ mask_rxd_stop_error <= 1'b0;
+ mask_rxd_parity_error <= 1'b0;
+ mask_rxd_data_out <= 8'h00;
+
+
+ end
+
+
+task clear_rx_host;
+ begin
+ next(1);
+ end
+endtask
+
+
+
+
+task send_byte;
+ input [7:0] byte_out;
+
+ begin
+ while(!txd_buffer_empty) next(1);
+ $display("%t %m %2h",$realtime ,byte_out);
+ txd_data_in <= byte_out;
+ next(1);
+ txd_load <= 1'b1;
+ next(1);
+ txd_load <= 1'b0;
+ next(1);
+ end
+endtask // send_byte
+
+
+
+task rcv_byte;
+ input [7:0] byte_in;
+ begin
+ exp_rxd_data_out <= byte_in;
+ while(!rxd_data_avail) next(1);
+ $display("%t %m checking %h",$realtime,byte_in);
+ mask_rxd_stop_error <= 1'b1;
+ mask_rxd_parity_error <= 1'b1;
+ mask_rxd_data_out <= 8'hff;
+ next(1);
+ mask_rxd_stop_error <= 1'b0;
+ mask_rxd_parity_error <= 1'b0;
+ mask_rxd_data_out <= 8'h00;
+ rxd_data_avail_stb <= 1'b1;
+ next(1);
+ rxd_data_avail_stb <= 1'b0;
+ next(1);
+end
+endtask
+
+
+uarth_probe
+#(.MESG("uart_host receive error"),
+ .WIDTH(8))
+rxd_data_out_prb
+(
+ .clk ( clk ),
+ .drive_value (8'bzzzzzzzz ),
+ .expected_value ( exp_rxd_data_out ),
+ .mask ( mask_rxd_data_out ),
+ .signal ( rxd_data_out )
+
+
+);
+
+
+
+
+
+
+uarth_probe
+#(.MESG("uart_host stop error"))
+rxd_stop_error_prb
+(
+ .clk ( clk ),
+ .drive_value (1'bz ),
+ .expected_value ( exp_rxd_stop_error ),
+ .mask ( mask_rxd_stop_error ),
+ .signal ( rxd_stop_error )
+
+
+);
+
+
+
+
+uarth_probe
+#(.MESG("uart_host parity error"))
+rxd_parity_error_prb
+(
+ .clk ( clk ),
+ .drive_value (1'bz ),
+ .expected_value ( exp_rxd_parity_error ),
+ .mask ( mask_rxd_parity_error ),
+ .signal ( rxd_parity_error )
+
+
+);
+
+
+
+
+
+
+
+endmodule
+
Index: trunk/projects/Testbench/ip/uart_host/rtl/verilog/uarth_probe
===================================================================
--- trunk/projects/Testbench/ip/uart_host/rtl/verilog/uarth_probe (nonexistent)
+++ trunk/projects/Testbench/ip/uart_host/rtl/verilog/uarth_probe (revision 88)
@@ -0,0 +1,112 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* io_probe for handling timing delays in dut */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+module uarth_probe
+#(parameter MESG = " ",
+ parameter WIDTH = 1,
+ parameter RESET = {WIDTH{1'bz}},
+ parameter IN_DELAY = 5,
+ parameter OUT_DELAY = 15,
+ parameter OUT_WIDTH = 10
+ )
+(
+input wire clk,
+
+input wire [WIDTH-1:0] drive_value,
+input wire [WIDTH-1:0] expected_value,
+input wire [WIDTH-1:0] mask,
+
+inout wire [WIDTH-1:0] signal
+
+
+);
+
+
+reg [WIDTH-1:0] filtered_value;
+reg [WIDTH:1] fail;
+
+
+
+
+
+
+assign signal = drive_value;
+
+
+
+
+
+
+always @(posedge clk) filtered_value <= signal;
+always @(posedge clk) fail <= mask & (signal^ expected_value);
+
+
+
+
+
+initial
+ begin
+ cg.next(3);
+ while(1)
+ begin
+ if(fail !== {WIDTH{1'b0}})
+ begin
+ $display("%t %m value %x failure on bit(s) %b",$realtime,filtered_value,fail );
+ cg.fail(MESG);
+ end
+ cg.next(1);
+ end // while (1)
+ end // initial begin
+
+
+
+
+
+
+
+
+endmodule
+
+
+
Index: trunk/projects/Testbench/ip/uart_host/soc/design.soc
===================================================================
--- trunk/projects/Testbench/ip/uart_host/soc/design.soc (nonexistent)
+++ trunk/projects/Testbench/ip/uart_host/soc/design.soc (revision 88)
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+uart_host
+uart_host
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/uart_host/doc/copyright.v
===================================================================
--- trunk/projects/Testbench/ip/uart_host/doc/copyright.v (nonexistent)
+++ trunk/projects/Testbench/ip/uart_host/doc/copyright.v (revision 88)
@@ -0,0 +1,43 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Clock and Reset generator for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
Index: trunk/projects/Testbench/ip/uart_host/bin/Makefile
===================================================================
--- trunk/projects/Testbench/ip/uart_host/bin/Makefile (nonexistent)
+++ trunk/projects/Testbench/ip/uart_host/bin/Makefile (revision 88)
@@ -0,0 +1,2 @@
+include ../../../bin/Makefile.root
+
Index: trunk/projects/Testbench/ip/uart_model/rtl/xml/uart_model.xml
===================================================================
--- trunk/projects/Testbench/ip/uart_model/rtl/xml/uart_model.xml (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/rtl/xml/uart_model.xml (revision 88)
@@ -0,0 +1,174 @@
+
+
+
+
+opencores.org
+Testbench
+uart_model
+
+
+
+
+
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ uart_model
+
+
+ variant
+ uart_model
+
+
+
+
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+4'h5
+4
+
+
+
+
+clk
+wire
+input
+
+
+reset
+wire
+input
+
+
+
+txd_in
+wire
+input
+
+
+rxd_out
+wire
+output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+
+
+ ../verilog/top
+ verilogSourceTop
+
+
+
+
+ ../verilog/serial_rcvr
+ verilogSource
+
+
+
+
+ ../verilog/serial_xmit
+ verilogSource
+
+
+
+
+
+ ../verilog/divider
+ verilogSource
+
+
+
+
+
+ ../verilog/io_probe
+ verilogSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/uart_model/rtl/verilog/serial_xmit
===================================================================
--- trunk/projects/Testbench/ip/uart_model/rtl/verilog/serial_xmit (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/rtl/verilog/serial_xmit (revision 88)
@@ -0,0 +1,181 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / LIB \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Generic model for a serial asynchronous transmitter */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+module
+uart_model_serial_xmit
+#(parameter WIDTH=8, // Number of data bits
+ parameter SIZE=4 // binary size of shift_cnt, must be able to hold WIDTH + 4 states
+ )
+
+
+(
+input wire clk,
+input wire reset,
+input wire edge_enable, // one pulse per bit time for data rate timing
+input wire parity_enable, // 0 = no parity bit sent, 1= parity bit sent
+input wire two_stop_enable, // 0 = 1 stop bit, 1 = 2 stop bits
+input wire [1:0] parity_type, // 00= odd,01=even,10=force a 0,11= force a 1
+input wire load, // start transmiting data
+input wire start_value, // value out at start bit time
+input wire stop_value, // value out for stop bit also used for break
+input wire [WIDTH-1:0] data, // data byte
+
+output reg buffer_empty, // ready for next byte
+output reg ser_out // to pad_ring
+ );
+
+reg [SIZE-1:0] shift_cnt;
+reg [WIDTH-1:0] shift_buffer;
+reg parity_calc;
+reg delayed_edge_enable;
+
+
+//
+// shift_cnt controls the serial bit out
+//
+// 0 Start bit
+// 1-> WIDTH Data bit lsb first
+// WIDTH+1 Parity bit if enabled
+// 2^SIZE-2 Second stop bit if enabled
+// 2^SIZE-1 Last stop bit and idle
+
+always@(posedge clk)
+ if(reset || buffer_empty) shift_cnt <= {SIZE{1'b1}};
+ else
+ if(!edge_enable) shift_cnt <= shift_cnt;
+ else
+ if(( shift_cnt == {SIZE{1'b1}} ) && ! buffer_empty ) shift_cnt <= {SIZE{1'b0}};
+ else
+ if ( shift_cnt == WIDTH)
+ case({two_stop_enable,parity_enable})
+ (2'b00): shift_cnt <= {SIZE{1'b1}};
+ (2'b01): shift_cnt <= shift_cnt + 1'b1;
+ (2'b10): shift_cnt <= {SIZE{1'b1}} - 1'b1;
+ (2'b11): shift_cnt <= shift_cnt + 1'b1;
+ endcase // case ({two_stop_enable,parity_enable})
+ else
+ if ( shift_cnt == (WIDTH+1))
+ case( two_stop_enable)
+ (1'b0): shift_cnt <= {SIZE{1'b1}};
+ (1'b1): shift_cnt <= {SIZE{1'b1}} - 1'b1;
+ endcase
+ else shift_cnt <= shift_cnt + 1'b1;
+
+//
+//
+// Clear buffer_empty upon load pulse
+// set it back at the start of the final stop pulse
+// if load happens BEFORE the next edge_enable then data transfer will have no pauses
+// logic ensures that having load happen on a edge_enable will work
+//
+
+always@(posedge clk)
+ if(reset) delayed_edge_enable <= 1'b0;
+ else delayed_edge_enable <= edge_enable && ! load;
+
+
+always@(posedge clk)
+if(reset) buffer_empty <= 1'b1;
+else
+if(load) buffer_empty <= 1'b0;
+else
+if((shift_cnt == {SIZE{1'b1}}) && delayed_edge_enable)
+ buffer_empty <= 1'b1;
+else buffer_empty <= buffer_empty;
+
+
+
+
+
+//
+//
+// load shift_buffer during start_bit
+// shift down every bit
+//
+//
+always@(posedge clk)
+ if(reset) shift_buffer <= {WIDTH{1'b0}};
+ else
+ if(!edge_enable) shift_buffer <= shift_buffer;
+ else
+ if(shift_cnt == {SIZE{1'b0}}) shift_buffer <= data;
+ else shift_buffer <= {1'b0,shift_buffer[WIDTH-1:1]};
+
+
+
+
+
+
+//
+//
+// calculate parity on the fly
+// seed reg with 0 for odd and 1 for even
+// force reg to 0 or 1 if needed
+//
+always@(posedge clk)
+ if(reset) parity_calc <= 1'b0;
+ else
+ if(!edge_enable) parity_calc <= parity_calc;
+ else
+ if(parity_type[1] || (shift_cnt == {SIZE{1'b0}})) parity_calc <= parity_type[0];
+ else parity_calc <= parity_calc ^ shift_buffer[0];
+
+
+// send start_bit,data,parity and stop based on shift_cnt
+
+
+ always@(posedge clk)
+ if(reset) ser_out <= stop_value;
+ else
+ if( shift_cnt == {SIZE{1'b0}} ) ser_out <= start_value;
+ else
+ if( shift_cnt == {SIZE{1'b1}} ) ser_out <= stop_value;
+ else
+ if( shift_cnt == ({SIZE{1'b1}}+1'b1) ) ser_out <= stop_value;
+ else
+ if( shift_cnt == (WIDTH+1) ) ser_out <= parity_calc;
+ else ser_out <= shift_buffer[0];
+
+
+endmodule
+
+
Index: trunk/projects/Testbench/ip/uart_model/rtl/verilog/top
===================================================================
--- trunk/projects/Testbench/ip/uart_model/rtl/verilog/top (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/rtl/verilog/top (revision 88)
@@ -0,0 +1,408 @@
+
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* uart device model for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+`timescale 1ns/1ns
+
+module uart_model
+ #(parameter CLKCNT = 4'h5,
+ parameter SIZE = 4)
+
+(
+input wire clk,
+input wire reset,
+input wire txd_in,
+output wire rxd_out
+
+);
+
+
+
+
+reg rx_parity_enable; // 0 = no parity bit sent; 1= parity bit sent
+reg rx_parity ;
+reg rx_force_parity ;
+reg rx_stop_value; // value out for stop bit
+reg rx_start_detect;
+reg [7:0] rx_shift_buffer;
+reg rx_parity_calc;
+reg rx_parity_samp;
+reg rx_parity_error;
+reg rx_frame_err;
+reg [7:0] exp_rx_shift_buffer;
+reg exp_rx_parity_err;
+reg exp_rx_frame_err;
+reg [7:0] mask_rx_shift_buffer;
+reg mask_rx_parity_err;
+reg mask_rx_frame_err;
+
+
+reg rx_frame_rdy;
+
+
+reg rx_baud_enable;
+wire rx_stop_cnt;
+wire rx_last_cnt;
+wire [7:0] next_rx_shift_buffer;
+wire next_rx_parity_calc;
+wire next_rx_parity_samp;
+wire next_rx_frame_err;
+
+
+reg rxd_pad_sig;
+reg [1:0] rx_rdy_del;
+reg [SIZE-1:0] rx_baudgen;
+reg edge_enable;
+reg [SIZE-1:0] divide_cnt;
+
+
+ wire xmit_enable;
+reg txd_parity_enable;
+reg txd_force_parity;
+reg txd_parity;
+reg txd_load;
+reg txd_break;
+reg [7:0] txd_data_in;
+wire txd_buffer_empty;
+
+
+//
+// watch for start bit
+//
+
+
+
+always@(posedge clk)
+ if(reset)
+ begin
+ rx_parity_enable <= 1'b0;
+ rx_parity <= 1'b0;
+ rx_force_parity <= 1'b0;
+ rx_stop_value <= 1'b1;
+ exp_rx_frame_err <= 1'b0;
+ exp_rx_parity_err <= 1'b0;
+ exp_rx_shift_buffer <= 8'h00;
+ mask_rx_frame_err <= 1'b0;
+ mask_rx_parity_err <= 1'b0;
+ mask_rx_shift_buffer <= 8'h00;
+ txd_parity_enable <= 1'b0;
+ txd_force_parity <= 1'b0;
+ txd_parity <= 1'b0;
+ txd_load <= 1'b0;
+ txd_break <= 1'b0;
+ txd_data_in <= 8'h00;
+ end
+
+
+
+
+task next;
+ input [31:0] num;
+ repeat (num) @ (posedge clk);
+endtask
+
+
+
+
+task wait_tx;
+
+begin
+ while(!txd_buffer_empty) next(1);
+end
+endtask // wait_tx
+
+
+
+task send_byte;
+ input [7:0] byte_out;
+
+begin
+ while(!txd_buffer_empty) next(1);
+ $display("%t %m %2h",$realtime ,byte_out );
+ txd_data_in = byte_out;
+ next(1);
+ txd_load = 1'b1;
+ next(1);
+ txd_load = 1'b0;
+ next(1);
+end
+endtask // send_byte
+
+
+task rcv_byte;
+ input [7:0] byte_in;
+ begin
+ exp_rx_shift_buffer <= byte_in;
+ while(!rx_frame_rdy) next(1);
+ $display("%t %m check %h %h ",$realtime,rx_shift_buffer,byte_in);
+ mask_rx_frame_err <= 1'b1;
+ mask_rx_parity_err <= 1'b1;
+ mask_rx_shift_buffer <= 8'hff;
+ next(1);
+ mask_rx_frame_err <= 1'b0;
+ mask_rx_parity_err <= 1'b0;
+ mask_rx_shift_buffer <= 8'h00;
+end
+endtask
+
+
+wire [7:0] prb_rx_shift_buffer;
+wire prb_rx_frame_err;
+wire prb_rx_parity_err;
+
+assign prb_rx_shift_buffer = rx_shift_buffer;
+assign prb_rx_frame_err = rx_frame_err;
+assign prb_rx_parity_err = rx_parity_error;
+
+
+io_probe
+#(.MESG ("uart data receive error"),
+ .WIDTH (8)
+ )
+rx_shift_buffer_prb
+(
+ .clk ( clk ),
+ .drive_value (8'bzzzzzzzz),
+ .expected_value( exp_rx_shift_buffer),
+ .mask ( mask_rx_shift_buffer),
+ .signal ( prb_rx_shift_buffer)
+);
+
+
+io_probe
+#(.MESG ("uart parity error"))
+rx_parity_err_prb
+(
+ .clk ( clk ),
+ .drive_value (1'bz),
+ .expected_value( exp_rx_parity_err),
+ .mask ( mask_rx_parity_err),
+ .signal ( prb_rx_parity_err)
+);
+
+
+
+
+
+
+
+
+
+
+
+
+always@(posedge clk)
+if(reset) rx_baudgen <= CLKCNT;
+else
+if(rx_baudgen == 4'h0) rx_baudgen <= CLKCNT;
+else rx_baudgen <= rx_baudgen - 1'h1;
+
+
+
+always@(posedge clk)
+if(reset) edge_enable <= 1'b0;
+else edge_enable <= (rx_baudgen == {SIZE{1'b0}});
+
+
+
+
+
+
+always@(posedge clk)
+if(reset) rxd_pad_sig <= 1'b1;
+else rxd_pad_sig <= txd_in;
+
+
+always@(posedge clk)
+if(reset) rx_start_detect <= 1'b0;
+else
+if(rx_start_detect)
+ begin
+ if(rx_stop_cnt && edge_enable ) rx_start_detect <= !rxd_pad_sig;
+ else
+ if(rx_last_cnt) rx_start_detect <= 1'b0;
+ else rx_start_detect <= 1'b1;
+ end
+else
+if(!rxd_pad_sig ) rx_start_detect <= 1'b1;
+else rx_start_detect <= rx_start_detect;
+
+
+always@(posedge clk)
+ if(reset)
+ begin
+ rx_frame_rdy <= 1'b0;
+ rx_rdy_del <= 2'b00;
+ end
+ else
+ begin
+ rx_frame_rdy <= rx_rdy_del[1] ;
+ rx_rdy_del <= {rx_rdy_del[0],rx_last_cnt};
+ end
+
+
+uart_model_serial_rcvr
+#(.WIDTH(8), .SIZE(4) )
+serial_rcvr
+ (
+ .clk ( clk ),
+ .reset ( reset ),
+ .edge_enable ( rx_baud_enable ),
+ .parity_enable ( rx_parity_enable ),
+ .parity_type ( {rx_force_parity, rx_parity } ),
+ .stop_cnt ( rx_stop_cnt ),
+ .last_cnt ( rx_last_cnt ),
+ .stop_value ( rx_stop_value ),
+ .ser_in ( txd_in ),
+ .shift_buffer ( next_rx_shift_buffer ),
+ .parity_calc ( next_rx_parity_calc ),
+ .parity_samp ( next_rx_parity_samp ),
+ .frame_err ( next_rx_frame_err )
+);
+
+
+
+
+
+
+
+
+always@(posedge clk)
+ if( reset || (!rx_start_detect)) rx_baud_enable <= 1'b0;
+ else
+ if(!edge_enable) rx_baud_enable <= 1'b0;
+ else rx_baud_enable <= ( divide_cnt == 4'b1000 );
+
+
+
+always@(posedge clk)
+ if( reset || (!rx_start_detect)) divide_cnt <= 4'b1111;
+ else
+ if(!edge_enable) divide_cnt <= divide_cnt;
+ else
+ if(!(|divide_cnt)) divide_cnt <= 4'b1111;
+ else divide_cnt <= divide_cnt - 'b1;
+
+
+
+
+
+
+always@(posedge clk)
+ if(reset)
+ begin
+ rx_shift_buffer <= 8'h00;
+ rx_parity_calc <= 1'b0;
+ rx_parity_samp <= 1'b0;
+ rx_parity_error <= 1'b0;
+ rx_frame_err <= 1'b0;
+ end
+ else
+ if(rx_last_cnt )
+ begin
+ rx_shift_buffer <= next_rx_shift_buffer;
+ rx_parity_calc <= next_rx_parity_calc;
+ rx_parity_samp <= next_rx_parity_samp;
+ rx_parity_error <= (next_rx_parity_samp ^ next_rx_parity_calc) && rx_parity_enable;
+ rx_frame_err <= next_rx_frame_err;
+ end
+ else
+ begin
+ rx_shift_buffer <= rx_shift_buffer;
+ rx_parity_calc <= rx_parity_calc;
+ rx_parity_samp <= rx_parity_samp;
+ rx_parity_error <= rx_parity_error;
+ rx_frame_err <= rx_frame_err;
+ end
+
+
+///////////////// Xmit
+
+
+
+
+
+
+
+
+
+
+
+uart_model_divider
+#(.SIZE(4))
+x_divider (
+ .clk ( clk ),
+ .reset ( reset ),
+ .divider_in ( 4'b1111 ),
+ .enable ( edge_enable ),
+ .divider_out ( xmit_enable )
+ );
+
+
+
+
+
+uart_model_serial_xmit
+serial_xmit (
+ .clk ( clk ),
+ .reset ( reset ),
+ .edge_enable ( xmit_enable ),
+ .parity_enable ( txd_parity_enable ),
+ .two_stop_enable ( 1'b0 ),
+ .parity_type ( {txd_force_parity, txd_parity } ),
+ .load ( txd_load ),
+ .start_value ( 1'b0 ),
+ .stop_value (!txd_break ),
+ .data ( txd_data_in ),
+ .buffer_empty ( txd_buffer_empty ),
+ .ser_out ( rxd_out )
+ );
+
+
+
+
+
+
+
+endmodule
+
Index: trunk/projects/Testbench/ip/uart_model/rtl/verilog/divider
===================================================================
--- trunk/projects/Testbench/ip/uart_model/rtl/verilog/divider (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/rtl/verilog/divider (revision 88)
@@ -0,0 +1,87 @@
+
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / LIB \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Generic model for a rate divider */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+
+module
+uart_model_divider
+
+#(parameter SIZE=4,
+ parameter SAMPLE=0,
+ parameter RESET=1
+ )
+(
+input wire clk,
+input wire reset,
+input wire enable,
+input wire [SIZE-1:0] divider_in,
+output reg divider_out
+ );
+
+reg [SIZE-1:0] divide_cnt;
+
+always@(posedge clk)
+ if(reset) divider_out <= RESET;
+ else
+ if(!enable) divider_out <= 1'b0;
+ else divider_out <= ( divide_cnt == SAMPLE );
+
+
+
+always@(posedge clk)
+ if(reset) divide_cnt <= divider_in;
+ else
+ if(!enable) divide_cnt <= divide_cnt;
+ else
+ if(!(|divide_cnt)) divide_cnt <= divider_in;
+ else divide_cnt <= divide_cnt - 'b1;
+
+
+
+
+
+
+endmodule
+
+
+
Index: trunk/projects/Testbench/ip/uart_model/rtl/verilog/serial_rcvr
===================================================================
--- trunk/projects/Testbench/ip/uart_model/rtl/verilog/serial_rcvr (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/rtl/verilog/serial_rcvr (revision 88)
@@ -0,0 +1,183 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / LIB \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Generic model for a serial asynchronous receiver */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+module
+uart_model_serial_rcvr
+#(parameter WIDTH=8, // Number of data bits
+ parameter SIZE=4 // binary size of shift_cnt, must be able to hold WIDTH + 4 states
+ )(
+input wire clk,
+input wire reset,
+input wire edge_enable, // one pulse per bit time for 16 x data rate timing
+input wire parity_enable, // 0 = no parity bit sent, 1= parity bit sent
+input wire [1:0] parity_type, // 00= odd,01=even,10=force a 0,11= force a 1
+input wire stop_value, // value out for stop bit
+input wire ser_in, // from pad_ring
+output reg [WIDTH-1:0] shift_buffer,
+output reg stop_cnt,
+output reg last_cnt,
+output reg parity_calc,
+output reg parity_samp,
+output reg frame_err
+
+);
+
+reg [SIZE-1:0] shift_cnt;
+
+//
+// shift_cnt controls the serial bit out
+//
+// 0 Start bit
+// 1-> WIDTH Data bit lsb first
+// WIDTH+1 Parity bit if enabled
+// 2^SIZE-2 Second stop bit if enabled
+// 2^SIZE-1 Last stop bit and idle
+
+always@(posedge clk)
+ if( reset )
+ begin
+ shift_cnt <= {SIZE{1'b1}};
+ last_cnt <= 1'b0;
+ end
+ else
+ if(!edge_enable)
+ begin
+ shift_cnt <= shift_cnt;
+ last_cnt <= 1'b0;
+ end
+ else
+ if(( shift_cnt == {SIZE{1'b1}}))
+ begin
+ shift_cnt <= {SIZE{1'b0}};
+ last_cnt <= 1'b0;
+ end
+ else
+ if ( shift_cnt == WIDTH)
+ case( parity_enable )
+ (2'b0):
+ begin
+ shift_cnt <= {SIZE{1'b1}};
+ last_cnt <= 1'b1;
+ end
+
+ (2'b1):
+ begin
+ shift_cnt <= shift_cnt + 1'b1;
+ last_cnt <= 1'b0;
+ end
+ endcase // case (parity_enable)
+ else
+ if ( shift_cnt == (WIDTH+1))
+ begin
+ shift_cnt <= {SIZE{1'b1}};
+ last_cnt <= 1'b1;
+ end
+ else
+ begin
+ shift_cnt <= shift_cnt + 1'b1;
+ last_cnt <= 1'b0;
+ end
+//
+//
+// load shift_buffer during start_bit
+// shift down every bit
+//
+//
+always@(posedge clk)
+ if(reset) shift_buffer <= {WIDTH{1'b0}};
+ else
+ if(!edge_enable) shift_buffer <= shift_buffer;
+ else
+ if(shift_cnt == {SIZE{1'b1}}) shift_buffer <= {WIDTH{1'b0}};
+ else
+ if(shift_cnt <= WIDTH-1 ) shift_buffer <= {ser_in,shift_buffer[WIDTH-1:1]};
+ else shift_buffer <= shift_buffer;
+//
+//
+// calculate parity on the fly
+// seed reg with 0 for odd and 1 for even
+// force reg to 0 or 1 if needed
+//
+always@(posedge clk)
+ if(reset) parity_calc <= 1'b0;
+ else
+ if(!edge_enable) parity_calc <= parity_calc;
+ else
+ if(parity_type[1] || (shift_cnt == {SIZE{1'b1}})) parity_calc <= parity_type[0];
+ else
+ if(shift_cnt <= WIDTH-1 ) parity_calc <= parity_calc ^ ser_in;
+ else parity_calc <= parity_calc;
+//
+// sample parity bit and hold it until next start bit
+//
+always@(posedge clk)
+ if(reset) parity_samp <= 1'b0;
+ else
+ if(!edge_enable) parity_samp <= parity_samp;
+ else
+ if(shift_cnt == {SIZE{1'b1}}) parity_samp <= 1'b0;
+ else
+ if(shift_cnt == WIDTH ) parity_samp <= ser_in;
+ else parity_samp <= parity_samp;
+//
+// check for stop bit error
+//
+always@(posedge clk)
+ if(reset) frame_err <= 1'b0;
+ else
+ if(!edge_enable) frame_err <= frame_err;
+ else
+ if(shift_cnt == {SIZE{1'b1}}) frame_err <= 1'b0;
+ else
+ if(shift_cnt == WIDTH+1 ) frame_err <= ser_in ^ stop_value;
+ else frame_err <= frame_err;
+
+always@(*)
+ if( shift_cnt == {SIZE{1'b1}}) stop_cnt <= 1'b1;
+ else stop_cnt <= 1'b0;
+
+
+endmodule
+
+
+
+
Index: trunk/projects/Testbench/ip/uart_model/rtl/verilog/io_probe
===================================================================
--- trunk/projects/Testbench/ip/uart_model/rtl/verilog/io_probe (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/rtl/verilog/io_probe (revision 88)
@@ -0,0 +1,112 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* io_probe for handling timing delays in dut */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
+
+module io_probe
+#(parameter MESG = " ",
+ parameter WIDTH = 1,
+ parameter RESET = {WIDTH{1'bz}},
+ parameter IN_DELAY = 5,
+ parameter OUT_DELAY = 15,
+ parameter OUT_WIDTH = 10
+ )
+(
+input wire clk,
+
+input wire [WIDTH-1:0] drive_value,
+input wire [WIDTH-1:0] expected_value,
+input wire [WIDTH-1:0] mask,
+
+inout wire [WIDTH-1:0] signal
+
+
+);
+
+
+reg [WIDTH-1:0] filtered_value;
+reg [WIDTH:1] fail;
+
+
+
+
+
+
+assign signal = drive_value;
+
+
+
+
+
+
+always @(posedge clk) filtered_value <= signal;
+always @(posedge clk) fail <= mask & (signal^ expected_value);
+
+
+
+
+
+initial
+ begin
+ cg.next(3);
+ while(1)
+ begin
+ if(fail !== {WIDTH{1'b0}})
+ begin
+ $display("%t %m value %x failure on bit(s) %b",$realtime,filtered_value,fail );
+ cg.fail(MESG);
+ end
+ cg.next(1);
+ end // while (1)
+ end // initial begin
+
+
+
+
+
+
+
+
+endmodule
+
+
+
Index: trunk/projects/Testbench/ip/uart_model/soc/design.soc
===================================================================
--- trunk/projects/Testbench/ip/uart_model/soc/design.soc (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/soc/design.soc (revision 88)
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+uart_model
+uart_model
+
+
+
+
+
+
Index: trunk/projects/Testbench/ip/uart_model/doc/copyright.v
===================================================================
--- trunk/projects/Testbench/ip/uart_model/doc/copyright.v (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/doc/copyright.v (revision 88)
@@ -0,0 +1,43 @@
+/**********************************************************************/
+/* */
+/* ------- */
+/* / SOC \ */
+/* / GEN \ */
+/* / SIM \ */
+/* ============== */
+/* | | */
+/* |____________| */
+/* */
+/* Clock and Reset generator for simulations */
+/* */
+/* */
+/* Author(s): */
+/* - John Eaton, jt_eaton@opencores.org */
+/* */
+/**********************************************************************/
+/* */
+/* Copyright (C) <2010> */
+/* */
+/* This source file may be used and distributed without */
+/* restriction provided that this copyright statement is not */
+/* removed from the file and that any derivative work contains */
+/* the original copyright notice and the associated disclaimer. */
+/* */
+/* This source file is free software; you can redistribute it */
+/* and/or modify it under the terms of the GNU Lesser General */
+/* Public License as published by the Free Software Foundation; */
+/* either version 2.1 of the License, or (at your option) any */
+/* later version. */
+/* */
+/* This source 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 Lesser General Public License for more */
+/* details. */
+/* */
+/* You should have received a copy of the GNU Lesser General */
+/* Public License along with this source; if not, download it */
+/* from http://www.opencores.org/lgpl.shtml */
+/* */
+/**********************************************************************/
+
Index: trunk/projects/Testbench/ip/uart_model/bin/Makefile
===================================================================
--- trunk/projects/Testbench/ip/uart_model/bin/Makefile (nonexistent)
+++ trunk/projects/Testbench/ip/uart_model/bin/Makefile (revision 88)
@@ -0,0 +1,2 @@
+include ../../../bin/Makefile.root
+
Index: trunk/projects/fpgas/ip/Basys_soc_mrisc/syn/Basys_soc_mrisc_io_mouse_mouse/debug/impact_bat
===================================================================
--- trunk/projects/fpgas/ip/Basys_soc_mrisc/syn/Basys_soc_mrisc_io_mouse_mouse/debug/impact_bat (revision 87)
+++ trunk/projects/fpgas/ip/Basys_soc_mrisc/syn/Basys_soc_mrisc_io_mouse_mouse/debug/impact_bat (nonexistent)
@@ -1,6 +0,0 @@
-setMode -bs
-setCable -port svf -file ../debug/bitstream.svf
-addDevice -p 1 -file Board_Design_jtag.bit
-program -p 1
-closeCable
-quit
Index: trunk/projects/fpgas/ip/Basys_soc_mrisc/syn/Basys_soc_mrisc_io_mouse_mouse/debug/fpga_load
===================================================================
--- trunk/projects/fpgas/ip/Basys_soc_mrisc/syn/Basys_soc_mrisc_io_mouse_mouse/debug/fpga_load (revision 87)
+++ trunk/projects/fpgas/ip/Basys_soc_mrisc/syn/Basys_soc_mrisc_io_mouse_mouse/debug/fpga_load (nonexistent)
@@ -1,6 +0,0 @@
-bsdl path ../bsdl;../target/bsdl;
-cable usbblaster
-detect
-part 1
-svf bitstream.svf
-
Index: trunk/projects/fpgas/ip/Nexys2_T6502/rtl/xml/Nexys2_T6502_kim_2.xml
===================================================================
--- trunk/projects/fpgas/ip/Nexys2_T6502/rtl/xml/Nexys2_T6502_kim_2.xml (revision 87)
+++ trunk/projects/fpgas/ip/Nexys2_T6502/rtl/xml/Nexys2_T6502_kim_2.xml (revision 88)
@@ -763,9 +763,11 @@
+
flashcs_n_out
+
@@ -2535,10 +2537,7 @@
-
- flashcs_n_out
-
-
+
flashrp_n_out
/trunk/projects/fpgas/ip/Nexys2_T6502/soc/design.soc
107,14 → 107,6
<parameter><name>STARTUP</name><value>"../../../../../sw/vga_startup_screen/vga_startup_screen.abs"</value></parameter> |
<parameter><name>FONT</name><value>"../../../../../sw/vga_font/vga_font.abs"</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
<model>"../../bench/verilog/models/mt45w8mw12.v"</model> |
</models> |
</configuration> |
|
<configuration> |
129,14 → 121,6
<parameter><name>STARTUP</name><value>"../../../../../sw/vga_startup_screen/vga_startup_screen.abs"</value></parameter> |
<parameter><name>FONT</name><value>"../../../../../sw/vga_font/vga_font.abs"</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
<model>"../../bench/verilog/models/mt45w8mw12.v"</model> |
</models> |
</configuration> |
|
<configuration> |
151,14 → 135,6
<parameter><name>STARTUP</name><value>"../../../../../sw/vga_startup_screen/vga_startup_screen.abs"</value></parameter> |
<parameter><name>FONT</name><value>"../../../../../sw/vga_font/vga_font.abs"</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
<model>"../../bench/verilog/models/mt45w8mw12.v"</model> |
</models> |
</configuration> |
|
<configuration> |
173,14 → 149,6
<parameter><name>STARTUP</name><value>"../../../../../sw/vga_startup_screen/vga_startup_screen.abs"</value></parameter> |
<parameter><name>FONT</name><value>"../../../../../sw/vga_font/vga_font.abs"</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
<model>"../../bench/verilog/models/mt45w8mw12.v"</model> |
</models> |
</configuration> |
|
<configuration> |
195,29 → 163,11
<parameter><name>STARTUP</name><value>"../../../../../sw/vga_startup_screen/vga_startup_screen.abs"</value></parameter> |
<parameter><name>FONT</name><value>"../../../../../sw/vga_font/vga_font.abs"</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
<model>"../../bench/verilog/models/mt45w8mw12.v"</model> |
</models> |
</configuration> |
|
|
|
|
|
|
|
|
</configurations> |
|
|
|
|
|
<sims> |
<sim> |
<name>T6502_io_irq_2</name> |
/trunk/projects/fpgas/ip/Nexys2_T6502/doc/geda/drawing/filelist
File deleted
\ No newline at end of file
/trunk/projects/fpgas/ip/Nexys2_soc_mrisc/doc/geda/drawing/filelist
File deleted
\ No newline at end of file
/trunk/projects/fpgas/ip/Nexys2_soc_mrisc/syn/Nexys2_soc_mrisc_io_mouse_mouse/debug/fpga_load
File deleted
/trunk/projects/fpgas/ip/Nexys2_soc_mrisc/syn/Nexys2_soc_mrisc_io_mouse_mouse/debug/impact_bat
File deleted
/trunk/projects/pic_micro/bin/repeater
0,0 → 1,133
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
|
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source 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 Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
|
# ToDO: add handling unaligned words |
|
|
############################################################################ |
# General PERL config |
############################################################################ |
use Getopt::Long; |
use English; |
use File::Basename; |
|
$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE. |
|
|
############################################################################ |
### Process the options |
############################################################################ |
|
Getopt::Long::config("require_order", "prefix=-"); |
GetOptions("h" |
) || die "(use '$program_name -h' for help)"; |
|
|
############################################################################## |
## Help option |
############################################################################## |
if ( ($opt_h eq "1") ) |
{ print "\n type test filename ( no extension)"; |
print "\n"; |
exit 1; |
} |
|
|
############################################################################## |
## |
############################################################################## |
|
use Cwd; |
use XML::LibXML; |
|
$home = cwd(); |
|
|
|
|
|
############################################################################# |
## |
## |
############################################################################# |
|
my $prefix = $ARGV[0]; |
my $component = $ARGV[1]; |
my $variant = $ARGV[2]; |
print "Repeater\n" ; |
|
my $index =0; |
|
while($ARGV[$index]) |
{ |
my $arg = $ARGV[$index]; |
$index = $index +1; |
print " $index -- $arg \n" ; |
|
} |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/projects/pic_micro/bin/repeater
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_ind_mem.xml
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_ind_mem.xml (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_ind_mem.xml (revision 88)
@@ -0,0 +1,456 @@
+
+
+
+
+opencores.org
+pic_micro
+mrisc_cpu
+ind_mem
+
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_ind_mem
+
+
+ destination
+ ../verilog/top.ind_mem
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_ind_mem
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ "NONE"
+
+ 40
+ 200000
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+ ../verilog/top.ind_mem
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.io
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.ind_mem
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+
+
+inst_addr
+wire
+
+10 0
+
+
+inst_data
+wire
+
+11 0
+
+
+portain
+wire
+
+7 0
+
+
+portbin
+wire
+
+7 0
+
+
+portcin
+wire
+
+7 0
+
+
+portaout
+wire
+
+7 0
+
+
+portbout
+wire
+
+7 0
+
+
+portcout
+wire
+
+7 0
+
+
+trisa
+wire
+
+7 0
+
+
+trisb
+wire
+
+7 0
+
+
+trisc
+wire
+
+7 0
+
+
+porta_we
+wire
+
+
+
+portb_we
+wire
+
+
+
+portc_we
+wire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+
+ reset
+
+
+
+
+
+
+ 1'b1
+
+
+
+
+ 1'b0
+
+
+
+
+ inst_addr
+
+
+
+
+
+
+ inst_data
+
+
+
+
+
+ portain
+
+
+
+
+ portbin
+
+
+
+
+ portcin
+
+
+
+
+ portaout
+
+
+
+
+ portbout
+
+
+
+
+
+ portcout
+
+
+
+
+
+ trisa
+
+
+
+
+ trisb
+
+
+
+
+ trisc
+
+
+
+
+ porta_we
+
+
+
+
+ portb_we
+
+
+
+
+ portc_we
+
+
+
+
+ 1'b1
+
+
+
+
+
+
+ 1'b0
+
+
+
+
+
+ 12'h000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+pic_micro
+mrisc_cpu
+
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+u1
+
+opencores.org
+cde
+cde_sram
+
+
+
+ WORDS ROM_WORDS
+ ADDR ROM_ADDR
+ WIDTH ROM_WIDTH
+ INIT_FILE ROM_FILE
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_sanity1.xml
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_sanity1.xml (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_sanity1.xml (revision 88)
@@ -0,0 +1,457 @@
+
+
+
+
+opencores.org
+pic_micro
+mrisc_cpu
+sanity1
+
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_sanity1
+
+
+ destination
+ ../verilog/top.sanity1
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_sanity1
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ "NONE"
+ 12'h000
+ 12'h000
+ 40
+ 200000
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+ ../verilog/top.sanity1
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.io
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.sanity1
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+
+
+inst_addr
+wire
+
+10 0
+
+
+inst_data
+wire
+
+11 0
+
+
+portain
+wire
+
+7 0
+
+
+portbin
+wire
+
+7 0
+
+
+portcin
+wire
+
+7 0
+
+
+portaout
+wire
+
+7 0
+
+
+portbout
+wire
+
+7 0
+
+
+portcout
+wire
+
+7 0
+
+
+trisa
+wire
+
+7 0
+
+
+trisb
+wire
+
+7 0
+
+
+trisc
+wire
+
+7 0
+
+
+porta_we
+wire
+
+
+
+portb_we
+wire
+
+
+
+portc_we
+wire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+
+ reset
+
+
+
+
+
+
+ 1'b1
+
+
+
+
+ 1'b0
+
+
+
+
+ inst_addr
+
+
+
+
+
+
+ inst_data
+
+
+
+
+
+ portain
+
+
+
+
+ portbin
+
+
+
+
+ portcin
+
+
+
+
+ portaout
+
+
+
+
+ portbout
+
+
+
+
+
+ portcout
+
+
+
+
+
+ trisa
+
+
+
+
+ trisb
+
+
+
+
+ trisc
+
+
+
+
+ porta_we
+
+
+
+
+ portb_we
+
+
+
+
+ portc_we
+
+
+
+
+ 1'b1
+
+
+
+
+
+
+ 1'b0
+
+
+
+
+
+ 12'h000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+pic_micro
+mrisc_cpu
+
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+u1
+
+opencores.org
+cde
+cde_sram
+
+
+
+ WORDS ROM_WORDS
+ ADDR ROM_ADDR
+ WIDTH ROM_WIDTH
+ INIT_FILE ROM_FILE
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf1.xml
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf1.xml (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf1.xml (revision 88)
@@ -0,0 +1,456 @@
+
+
+
+
+opencores.org
+pic_micro
+mrisc_cpu
+rf1
+
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_rf1
+
+
+ destination
+ ../verilog/top.rf1
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_rf1
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ "NONE"
+
+ 40
+ 200000
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+ ../verilog/top.rf1
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.io
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.rf1
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+
+
+inst_addr
+wire
+
+10 0
+
+
+inst_data
+wire
+
+11 0
+
+
+portain
+wire
+
+7 0
+
+
+portbin
+wire
+
+7 0
+
+
+portcin
+wire
+
+7 0
+
+
+portaout
+wire
+
+7 0
+
+
+portbout
+wire
+
+7 0
+
+
+portcout
+wire
+
+7 0
+
+
+trisa
+wire
+
+7 0
+
+
+trisb
+wire
+
+7 0
+
+
+trisc
+wire
+
+7 0
+
+
+porta_we
+wire
+
+
+
+portb_we
+wire
+
+
+
+portc_we
+wire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+
+ reset
+
+
+
+
+
+
+ 1'b1
+
+
+
+
+ 1'b0
+
+
+
+
+ inst_addr
+
+
+
+
+
+
+ inst_data
+
+
+
+
+
+ portain
+
+
+
+
+ portbin
+
+
+
+
+ portcin
+
+
+
+
+ portaout
+
+
+
+
+ portbout
+
+
+
+
+
+ portcout
+
+
+
+
+
+ trisa
+
+
+
+
+ trisb
+
+
+
+
+ trisc
+
+
+
+
+ porta_we
+
+
+
+
+ portb_we
+
+
+
+
+ portc_we
+
+
+
+
+ 1'b1
+
+
+
+
+
+
+ 1'b0
+
+
+
+
+
+ 12'h000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+pic_micro
+mrisc_cpu
+
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+u1
+
+opencores.org
+cde
+cde_sram
+
+
+
+ WORDS ROM_WORDS
+ ADDR ROM_ADDR
+ WIDTH ROM_WIDTH
+ INIT_FILE ROM_FILE
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_sanity2.xml
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_sanity2.xml (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_sanity2.xml (revision 88)
@@ -0,0 +1,456 @@
+
+
+
+
+opencores.org
+pic_micro
+mrisc_cpu
+sanity2
+
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_sanity2
+
+
+ destination
+ ../verilog/top.sanity2
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_sanity2
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ "NONE"
+
+ 40
+ 200000
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+ ../verilog/top.sanity2
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.io
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.sanity2
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+
+
+inst_addr
+wire
+
+10 0
+
+
+inst_data
+wire
+
+11 0
+
+
+portain
+wire
+
+7 0
+
+
+portbin
+wire
+
+7 0
+
+
+portcin
+wire
+
+7 0
+
+
+portaout
+wire
+
+7 0
+
+
+portbout
+wire
+
+7 0
+
+
+portcout
+wire
+
+7 0
+
+
+trisa
+wire
+
+7 0
+
+
+trisb
+wire
+
+7 0
+
+
+trisc
+wire
+
+7 0
+
+
+porta_we
+wire
+
+
+
+portb_we
+wire
+
+
+
+portc_we
+wire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+
+ reset
+
+
+
+
+
+
+ 1'b1
+
+
+
+
+ 1'b0
+
+
+
+
+ inst_addr
+
+
+
+
+
+
+ inst_data
+
+
+
+
+
+ portain
+
+
+
+
+ portbin
+
+
+
+
+ portcin
+
+
+
+
+ portaout
+
+
+
+
+ portbout
+
+
+
+
+
+ portcout
+
+
+
+
+
+ trisa
+
+
+
+
+ trisb
+
+
+
+
+ trisc
+
+
+
+
+ porta_we
+
+
+
+
+ portb_we
+
+
+
+
+ portc_we
+
+
+
+
+ 1'b1
+
+
+
+
+
+
+ 1'b0
+
+
+
+
+
+ 12'h000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+pic_micro
+mrisc_cpu
+
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+u1
+
+opencores.org
+cde
+cde_sram
+
+
+
+ WORDS ROM_WORDS
+ ADDR ROM_ADDR
+ WIDTH ROM_WIDTH
+ INIT_FILE ROM_FILE
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf2.xml
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf2.xml (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf2.xml (revision 88)
@@ -0,0 +1,456 @@
+
+
+
+
+opencores.org
+pic_micro
+mrisc_cpu
+rf2
+
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_rf2
+
+
+ destination
+ ../verilog/top.rf2
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_rf2
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ "NONE"
+
+ 40
+ 200000
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+ ../verilog/top.rf2
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.io
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.rf2
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+
+
+inst_addr
+wire
+
+10 0
+
+
+inst_data
+wire
+
+11 0
+
+
+portain
+wire
+
+7 0
+
+
+portbin
+wire
+
+7 0
+
+
+portcin
+wire
+
+7 0
+
+
+portaout
+wire
+
+7 0
+
+
+portbout
+wire
+
+7 0
+
+
+portcout
+wire
+
+7 0
+
+
+trisa
+wire
+
+7 0
+
+
+trisb
+wire
+
+7 0
+
+
+trisc
+wire
+
+7 0
+
+
+porta_we
+wire
+
+
+
+portb_we
+wire
+
+
+
+portc_we
+wire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+
+ reset
+
+
+
+
+
+
+ 1'b1
+
+
+
+
+ 1'b0
+
+
+
+
+ inst_addr
+
+
+
+
+
+
+ inst_data
+
+
+
+
+
+ portain
+
+
+
+
+ portbin
+
+
+
+
+ portcin
+
+
+
+
+ portaout
+
+
+
+
+ portbout
+
+
+
+
+
+ portcout
+
+
+
+
+
+ trisa
+
+
+
+
+ trisb
+
+
+
+
+ trisc
+
+
+
+
+ porta_we
+
+
+
+
+ portb_we
+
+
+
+
+ portc_we
+
+
+
+
+ 1'b1
+
+
+
+
+
+
+ 1'b0
+
+
+
+
+
+ 12'h000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+pic_micro
+mrisc_cpu
+
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+u1
+
+opencores.org
+cde
+cde_sram
+
+
+
+ WORDS ROM_WORDS
+ ADDR ROM_ADDR
+ WIDTH ROM_WIDTH
+ INIT_FILE ROM_FILE
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_loop.xml
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_loop.xml (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_loop.xml (revision 88)
@@ -0,0 +1,456 @@
+
+
+
+
+opencores.org
+pic_micro
+mrisc_cpu
+loop
+
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_loop
+
+
+ destination
+ ../verilog/top.loop
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_loop
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ "NONE"
+
+ 40
+ 200000
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+ ../verilog/top.loop
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.out
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.loop
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+
+
+inst_addr
+wire
+
+10 0
+
+
+inst_data
+wire
+
+11 0
+
+
+portain
+wire
+
+7 0
+
+
+portbin
+wire
+
+7 0
+
+
+portcin
+wire
+
+7 0
+
+
+portaout
+wire
+
+7 0
+
+
+portbout
+wire
+
+7 0
+
+
+portcout
+wire
+
+7 0
+
+
+trisa
+wire
+
+7 0
+
+
+trisb
+wire
+
+7 0
+
+
+trisc
+wire
+
+7 0
+
+
+porta_we
+wire
+
+
+
+portb_we
+wire
+
+
+
+portc_we
+wire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+
+ reset
+
+
+
+
+
+
+ 1'b1
+
+
+
+
+ 1'b0
+
+
+
+
+ inst_addr
+
+
+
+
+
+
+ inst_data
+
+
+
+
+
+ portain
+
+
+
+
+ portbin
+
+
+
+
+ portcin
+
+
+
+
+ portaout
+
+
+
+
+ portbout
+
+
+
+
+
+ portcout
+
+
+
+
+
+ trisa
+
+
+
+
+ trisb
+
+
+
+
+ trisc
+
+
+
+
+ porta_we
+
+
+
+
+ portb_we
+
+
+
+
+ portc_we
+
+
+
+
+ 1'b1
+
+
+
+
+
+
+ 1'b0
+
+
+
+
+
+ 12'h000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+pic_micro
+mrisc_cpu
+
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+u1
+
+opencores.org
+cde
+cde_sram
+
+
+
+ WORDS ROM_WORDS
+ ADDR ROM_ADDR
+ WIDTH ROM_WIDTH
+ INIT_FILE ROM_FILE
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf3.xml
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf3.xml (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/xml/mrisc_cpu_rf3.xml (revision 88)
@@ -0,0 +1,456 @@
+
+
+
+
+opencores.org
+pic_micro
+mrisc_cpu
+rf3
+
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_rf3
+
+
+ destination
+ ../verilog/top.rf3
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ mrisc_cpu
+
+
+ variant
+ mrisc_cpu_rf3
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ "NONE"
+
+ 40
+ 200000
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+ ../verilog/top.rf3
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.io
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.rf3
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+
+
+inst_addr
+wire
+
+10 0
+
+
+inst_data
+wire
+
+11 0
+
+
+portain
+wire
+
+7 0
+
+
+portbin
+wire
+
+7 0
+
+
+portcin
+wire
+
+7 0
+
+
+portaout
+wire
+
+7 0
+
+
+portbout
+wire
+
+7 0
+
+
+portcout
+wire
+
+7 0
+
+
+trisa
+wire
+
+7 0
+
+
+trisb
+wire
+
+7 0
+
+
+trisc
+wire
+
+7 0
+
+
+porta_we
+wire
+
+
+
+portb_we
+wire
+
+
+
+portc_we
+wire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+
+ reset
+
+
+
+
+
+
+ 1'b1
+
+
+
+
+ 1'b0
+
+
+
+
+ inst_addr
+
+
+
+
+
+
+ inst_data
+
+
+
+
+
+ portain
+
+
+
+
+ portbin
+
+
+
+
+ portcin
+
+
+
+
+ portaout
+
+
+
+
+ portbout
+
+
+
+
+
+ portcout
+
+
+
+
+
+ trisa
+
+
+
+
+ trisb
+
+
+
+
+ trisc
+
+
+
+
+ porta_we
+
+
+
+
+ portb_we
+
+
+
+
+ portc_we
+
+
+
+
+ 1'b1
+
+
+
+
+
+
+ 1'b0
+
+
+
+
+
+ 12'h000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+pic_micro
+mrisc_cpu
+
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+u1
+
+opencores.org
+cde
+cde_sram
+
+
+
+ WORDS ROM_WORDS
+ ADDR ROM_ADDR
+ WIDTH ROM_WIDTH
+ INIT_FILE ROM_FILE
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf1
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf1 (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf1 (revision 88)
@@ -0,0 +1,34 @@
+
+initial
+ begin
+ $display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n");
+ $display ("========== Starting Test ========== \n");
+ repeat(10) @(posedge clk);
+ cg.reset_off;
+
+
+ while(porta == 8'hFF) @(posedge clk);
+ while(porta == 8'h00) @(posedge clk);
+
+ if(porta == 8'h01)
+ begin
+
+ end
+ else
+ if(porta == 8'hff)
+ begin
+ $display("Test FAILED in test %d !!!", portb);
+ end
+ else
+ $display("Test status UNKNOWN (%h test: %d) !!!", porta, portb);
+
+
+ repeat(4) @(posedge clk);
+ $display("\n=============================================\n\n\n");
+
+
+
+cg.exit;
+ end
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.ind_mem
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.ind_mem (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.ind_mem (revision 88)
@@ -0,0 +1,34 @@
+
+initial
+ begin
+ $display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n");
+ $display ("========== Starting Test ========== \n");
+ repeat(10) @(posedge clk);
+ cg.reset_off;
+
+ repeat(40) @(posedge clk);
+
+ while(portaout == 8'h00) @(posedge clk);
+
+ if(portaout == 8'h01)
+ begin
+
+ end
+ else
+ if(portaout == 8'hff)
+ begin
+ $display("Test FAILED in test %d !!!", portb);
+ end
+ else
+ $display("Test status UNKNOWN (%h test: %d) !!!", portaout, portbout);
+
+
+ repeat(4) @(posedge clk);
+ $display("\n=============================================\n\n\n");
+
+
+
+cg.exit;
+ end
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.sanity1
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.sanity1 (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.sanity1 (revision 88)
@@ -0,0 +1,31 @@
+
+
+initial
+ begin
+ $display ("\n\nMini-RISC. Version 1.0\n\n");
+ $display ("========== Starting Sanity 1 Test ========== \n");
+ repeat(10) @(posedge clk);
+ cg.reset_off;
+ while(inst_addr != GOOD & inst_addr != BAD) @(posedge clk);
+
+ if(inst_addr == GOOD)
+ begin
+ end
+ else
+ if(inst_addr == BAD)
+ begin
+ $display("Sanity1 test FAILED !!!");
+ end
+ else
+ $display("Sanity1 test status UNKNOWN !!!");
+
+
+ repeat(4) @(posedge clk);
+ $display("=============================================\n\n\n");
+
+
+
+cg.exit;
+ end
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf2
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf2 (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf2 (revision 88)
@@ -0,0 +1,34 @@
+
+initial
+ begin
+ $display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n");
+ $display ("========== Starting Test ========== \n");
+ repeat(10) @(posedge clk);
+ cg.reset_off;
+
+
+ while(porta == 8'hFF) @(posedge clk);
+ while(porta == 8'h00) @(posedge clk);
+
+ if(porta == 8'h01)
+ begin
+
+ end
+ else
+ if(porta == 8'hff)
+ begin
+ $display("Test FAILED in test %d !!!", portb);
+ end
+ else
+ $display("Test status UNKNOWN (%h test: %d) !!!", porta, portb);
+
+
+ repeat(4) @(posedge clk);
+ $display("\n=============================================\n\n\n");
+
+
+
+cg.exit;
+ end
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.loop
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.loop (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.loop (revision 88)
@@ -0,0 +1,12 @@
+
+initial
+ begin
+ $display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n");
+ $display ("========== Starting Test ========== \n");
+ repeat(10) @(posedge clk);
+ cg.reset_off;
+ repeat(4000) @(posedge clk);
+cg.exit;
+ end
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.sanity2
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.sanity2 (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.sanity2 (revision 88)
@@ -0,0 +1,32 @@
+
+initial
+ begin
+ $display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n");
+ $display ("========== Starting Test ========== \n");
+ repeat(10) @(posedge clk);
+ cg.reset_off;
+
+
+ while(porta == 8'hFF) @(posedge clk);
+ while(porta == 8'h00) @(posedge clk);
+
+ if(porta == 8'h01)
+ begin
+ end
+ else
+ if(porta == 8'hff)
+ begin
+ $display("Test FAILED in test %d !!!", portb);
+ end
+ else
+ $display("Test status UNKNOWN (%h test: %d) !!!", porta, portb);
+
+
+ repeat(4) @(posedge clk);
+ $display("\n=============================================\n\n\n");
+
+
+cg.exit;
+ end
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf3
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf3 (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/tb.test_define.rf3 (revision 88)
@@ -0,0 +1,34 @@
+
+initial
+ begin
+ $display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n");
+ $display ("========== Starting Test ========== \n");
+ repeat(10) @(posedge clk);
+ cg.reset_off;
+
+
+ while(porta == 8'hFF) @(posedge clk);
+ while(porta == 8'h00) @(posedge clk);
+
+ if(porta == 8'h01)
+ begin
+
+ end
+ else
+ if(porta == 8'hff)
+ begin
+ $display("Test FAILED in test %d !!!", portb);
+ end
+ else
+ $display("Test status UNKNOWN (%h test: %d) !!!", porta, portb);
+
+
+ repeat(4) @(posedge clk);
+ $display("\n=============================================\n\n\n");
+
+
+
+cg.exit;
+ end
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/top.io
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/top.io (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/top.io (revision 88)
@@ -0,0 +1,46 @@
+wire [7:0] porta; // I/O Port A
+wire [7:0] portb; // I/O Port B
+wire [7:0] portc; // I/O Port C
+
+
+
+// IO buffers for IO Ports
+assign porta = trisa ? 8'bz : portaout;
+assign portain = porta;
+
+assign portb = trisb ? 8'bz : portbout;
+assign portbin = portb;
+
+assign portc = trisc ? 8'bz : portcout;
+assign portcin = portc;
+
+// Pullups for IO Ports
+pullup ua0(porta[0]);
+pullup ua1(porta[1]);
+pullup ua2(porta[2]);
+pullup ua3(porta[3]);
+pullup ua4(porta[4]);
+pullup ua5(porta[5]);
+pullup ua6(porta[6]);
+pullup ua7(porta[7]);
+
+pullup ub0(portb[0]);
+pullup ub1(portb[1]);
+pullup ub2(portb[2]);
+pullup ub3(portb[3]);
+pullup ub4(portb[4]);
+pullup ub5(portb[5]);
+pullup ub6(portb[6]);
+pullup ub7(portb[7]);
+
+pullup uc0(portc[0]);
+pullup uc1(portc[1]);
+pullup uc2(portc[2]);
+pullup uc3(portc[3]);
+pullup uc4(portc[4]);
+pullup uc5(portc[5]);
+pullup uc6(portc[6]);
+pullup uc7(portc[7]);
+
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/top.out
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/top.out (nonexistent)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/rtl/verilog/top.out (revision 88)
@@ -0,0 +1,49 @@
+
+assign portain = portaout;
+assign portbin = portbout;
+assign portcin = portcout;
+
+wire [7:0] porta;
+wire [7:0] portb;
+wire [7:0] portc;
+
+
+// IO buffers for IO Ports
+assign porta = trisa ? 8'bz : portaout;
+
+
+assign portb = trisb ? 8'bz : portbout;
+
+
+assign portc = trisc ? 8'bz : portcout;
+
+
+// Pullups for IO Ports
+pullup ua0(porta[0]);
+pullup ua1(porta[1]);
+pullup ua2(porta[2]);
+pullup ua3(porta[3]);
+pullup ua4(porta[4]);
+pullup ua5(porta[5]);
+pullup ua6(porta[6]);
+pullup ua7(porta[7]);
+
+pullup ub0(portb[0]);
+pullup ub1(portb[1]);
+pullup ub2(portb[2]);
+pullup ub3(portb[3]);
+pullup ub4(portb[4]);
+pullup ub5(portb[5]);
+pullup ub6(portb[6]);
+pullup ub7(portb[7]);
+
+pullup uc0(portc[0]);
+pullup uc1(portc[1]);
+pullup uc2(portc[2]);
+pullup uc3(portc[3]);
+pullup uc4(portc[4]);
+pullup uc5(portc[5]);
+pullup uc6(portc[6]);
+pullup uc7(portc[7]);
+
+
Index: trunk/projects/pic_micro/ip/mrisc_cpu/soc/design.soc
===================================================================
--- trunk/projects/pic_micro/ip/mrisc_cpu/soc/design.soc (revision 87)
+++ trunk/projects/pic_micro/ip/mrisc_cpu/soc/design.soc (revision 88)
@@ -27,30 +27,134 @@
// from http://www.opencores.org/lgpl.shtml //
// //
-->
+
+
-
-
+
mrisc_cpu
mrisc_cpu
+
+
+ mrisc_cpu
+ TB.dut
+
+
+
+
+mrisc_cpu
+mrisc_cpu_rf1
+rf1
+
+
+ mrisc_cpu
+ TB.dut.dut
+
+
+
+
+mrisc_cpu
+mrisc_cpu_rf2
+rf2
+
+
+ mrisc_cpu
+ TB.dut.dut
+
+
+
+
+mrisc_cpu
+mrisc_cpu_rf3
+rf3
+
+
+ mrisc_cpu
+ TB.dut.dut
+
+
+
+
+mrisc_cpu
+mrisc_cpu_ind_mem
+ind_mem
+
+
+ mrisc_cpu
+ TB.dut.dut
+
+
+
+
+mrisc_cpu
+mrisc_cpu_loop
+loop
+
+
+ mrisc_cpu
+ TB.dut.dut
+
+
+
+
+mrisc_cpu
+mrisc_cpu_sanity1
+sanity1
+
+
+ mrisc_cpu
+ TB.dut.dut
+
+
+
+
+mrisc_cpu
+mrisc_cpu_sanity2
+sanity2
+
+
+ mrisc_cpu
+ TB.dut.dut
+
+
+
+
+
+
+
+
+
+rf1
+mrisc_cpu_rf1
+
+ ROM_FILE "../../../../../sw/rf1/rf1.abs12"
+ ROM_WORDS 583
+ ROM_ADDR 11
+ ROM_WIDTH 12
+
+
+
+
+
+
sanity1
-mrisc_cpu
+mrisc_cpu_sanity1
ROM_FILE "../../../../../sw/sanity1/sanity1.abs12"
ROM_WORDS 180
@@ -59,13 +163,12 @@
GOOD 12'h0aa
BAD 12'h0af
-
-"../../bench/verilog/models/clock_gen.v"
-
+
+
rf3
-mrisc_cpu
+mrisc_cpu_rf3
ROM_FILE "../../../../../sw/rf3/rf3.abs12"
ROM_WORDS 218
@@ -72,13 +175,11 @@
ROM_ADDR 11
ROM_WIDTH 12
-
-"../../bench/verilog/models/clock_gen.v"
-
+
sanity2
-mrisc_cpu
+mrisc_cpu_sanity2
ROM_FILE "../../../../../sw/sanity2/sanity2.abs12"
ROM_WORDS 302
@@ -85,16 +186,12 @@
ROM_ADDR 11
ROM_WIDTH 12
-
-"../../bench/verilog/models/clock_gen.v"
-
+
-
-
rf2
-mrisc_cpu
+mrisc_cpu_rf2
ROM_FILE "../../../../../sw/rf2/rf2.abs12"
ROM_WORDS 719
@@ -101,26 +198,11 @@
ROM_ADDR 11
ROM_WIDTH 12
-
-"../../bench/verilog/models/clock_gen.v"
-
+
-rf1
-mrisc_cpu
-
- ROM_FILE "../../../../../sw/rf1/rf1.abs12"
- ROM_WORDS 583
- ROM_ADDR 11
- ROM_WIDTH 12
-
-
-"../../bench/verilog/models/clock_gen.v"
-
-
-
ind_mem
-mrisc_cpu
+mrisc_cpu_ind_mem
ROM_FILE "../../../../../sw/ind_mem/ind_mem.abs12"
ROM_WORDS 51
@@ -127,13 +209,11 @@
ROM_ADDR 11
ROM_WIDTH 12
-
-"../../bench/verilog/models/clock_gen.v"
-
+
loop
-mrisc_cpu
+mrisc_cpu_loop
ROM_FILE "../../../../../sw/loop/loop.abs12"
ROM_WORDS 21
@@ -140,24 +220,11 @@
ROM_ADDR 11
ROM_WIDTH 12
-
-"../../bench/verilog/models/clock_gen.v"
-
-
-
- mrisc_cpu
- TB.dut
-
-
-
-
-
-
-
+
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/rf1/dut
1,72 → 1,3
assign rst_in = reset; |
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
|
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
// Instantiate the Program RAM. |
cde_sram |
#( |
|
.WORDS( ROM_WORDS), |
.ADDR( ROM_ADDR ), |
.WIDTH ( ROM_WIDTH ), |
.INIT_FILE( ROM_FILE) |
) |
|
|
u1 ( |
.clk (clk), |
.raddr (inst_addr), |
.waddr (inst_addr), |
.rd (1'b1), |
.cs (1'b1), |
.wr (1'b0), // This testbench doesn't allow writing to PRAM |
.wdata (12'b000000000000), // This testbench doesn't allow writing to PRAM |
.rdata (inst_data) |
); |
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/sanity1/dut
1,72 → 1,2
assign rst_in = reset; |
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
|
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
// Instantiate the Program RAM. |
cde_sram |
#( |
|
.WORDS( ROM_WORDS), |
.ADDR( ROM_ADDR ), |
.WIDTH ( ROM_WIDTH ), |
.INIT_FILE( ROM_FILE) |
) |
|
|
u1 ( |
.clk (clk), |
.raddr (inst_addr), |
.waddr (inst_addr), |
.rd (1'b1), |
.cs (1'b1), |
.wr (1'b0), // This testbench doesn't allow writing to PRAM |
.wdata (12'b000000000000), // This testbench doesn't allow writing to PRAM |
.rdata (inst_data) |
); |
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/loop/test_define
1,12 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
repeat(4000) @(posedge clk); |
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/loop/dut
1,74 → 1,2
assign rst_in = reset; |
|
assign tcki = 1'b0; |
assign wdt_en = 1'b0; |
assign portain = portaout; |
assign portbin = portbout; |
assign portcin = portcout; |
|
wire [7:0] porta; |
wire [7:0] portb; |
wire [7:0] portc; |
|
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
|
|
assign portb = trisb ? 8'bz : portbout; |
|
|
assign portc = trisc ? 8'bz : portcout; |
|
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
// Instantiate the Program RAM. |
cde_sram |
#( |
|
.WORDS( ROM_WORDS), |
.ADDR( ROM_ADDR ), |
.WIDTH ( ROM_WIDTH ), |
.INIT_FILE(ROM_FILE) |
) |
|
|
u1 ( |
.clk (clk), |
.raddr (inst_addr), |
.waddr (inst_addr), |
.rd (1'b1), |
.cs (1'b1), |
.wr (1'b0), // This testbench doesn't allow writing to PRAM |
.wdata (12'b000000000000), // This testbench doesn't allow writing to PRAM |
.rdata (inst_data) |
); |
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/rf2/test_define
1,34 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/rf2/dut
1,72 → 1,2
assign rst_in = reset; |
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
|
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
// Instantiate the Program RAM. |
cde_sram |
#( |
|
.WORDS( ROM_WORDS), |
.ADDR( ROM_ADDR ), |
.WIDTH ( ROM_WIDTH ), |
.INIT_FILE( ROM_FILE) |
) |
|
|
u1 ( |
.clk (clk), |
.raddr (inst_addr), |
.waddr (inst_addr), |
.rd (1'b1), |
.cs (1'b1), |
.wr (1'b0), // This testbench doesn't allow writing to PRAM |
.wdata (12'b000000000000), // This testbench doesn't allow writing to PRAM |
.rdata (inst_data) |
); |
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/sanity2/test_define
1,32 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/sanity2/dut
1,72 → 1,2
assign rst_in = reset; |
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
|
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
// Instantiate the Program RAM. |
cde_sram |
#( |
|
.WORDS( ROM_WORDS), |
.ADDR( ROM_ADDR ), |
.WIDTH ( ROM_WIDTH ), |
.INIT_FILE( ROM_FILE) |
) |
|
|
u1 ( |
.clk (clk), |
.raddr (inst_addr), |
.waddr (inst_addr), |
.rd (1'b1), |
.cs (1'b1), |
.wr (1'b0), // This testbench doesn't allow writing to PRAM |
.wdata (12'b000000000000), // This testbench doesn't allow writing to PRAM |
.rdata (inst_data) |
); |
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/rf3/test_define
1,34 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc_cpu/sim/run/rf3/dut
1,72 → 1,2
assign rst_in = reset; |
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
|
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
// Instantiate the Program RAM. |
cde_sram |
#( |
|
.WORDS( ROM_WORDS), |
.ADDR( ROM_ADDR ), |
.WIDTH ( ROM_WIDTH ), |
.INIT_FILE( ROM_FILE) |
) |
|
|
u1 ( |
.clk (clk), |
.raddr (inst_addr), |
.waddr (inst_addr), |
.rd (1'b1), |
.cs (1'b1), |
.wr (1'b0), // This testbench doesn't allow writing to PRAM |
.wdata (12'b000000000000), // This testbench doesn't allow writing to PRAM |
.rdata (inst_data) |
); |
|
/trunk/projects/pic_micro/ip/soc/soc/design.soc
59,6 → 59,7
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
</models> |
</sim> |
/trunk/projects/pic_micro/ip/soc/sim/run/mouse_mrisc/test_define
7,6 → 7,9
$display(" "); |
cg.next(20); |
cg.reset_off; |
fork |
|
begin |
ps2_model.rcv_byte(8'hff,1'b1); |
cg.next(5000); |
ps2_model.send_byte(8'hfa); |
65,6 → 68,24
cg.next(20000); |
ps2_model.send_byte(8'hbc); |
cg.next(20000); |
end |
begin |
uart_model.rcv_byte(8'h64); |
|
|
cg.next(20); |
uart_model.send_byte(8'h45); |
uart_model.rcv_byte(8'h46); |
|
uart_model.send_byte(8'h32); |
uart_model.rcv_byte(8'h33); |
|
uart_model.send_byte(8'h39); |
uart_model.rcv_byte(8'h3a); |
|
end |
|
join |
cg.exit; |
end |
|
/trunk/projects/pic_micro/ip/soc/sim/run/mouse_mrisc/dut
1,6 → 1,6
|
|
assign rxd_pad_in = txd_pad_out; |
|
assign cts_pad_in = rts_pad_out; |
|
wire device_rx_read; |
48,3 → 48,12
.ps2_data ( ps2_data ) |
|
); |
|
uart_model #(.CLKCNT(4'hc)) |
uart_model ( |
.clk ( clk ), |
.reset ( reset ), |
.txd_in ( txd_pad_out ), |
.rxd_out ( rxd_pad_in ) |
); |
|
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc_ind_mem.xml
0,0 → 1,405
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version>ind_mem</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_ind_mem</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.ind_mem</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_ind_mem</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="PC_RST_VECTOR">11'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STAT_RST_VALUE">8'h18</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="OPT_RST_VALUE">8'h3f</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FSR_RST_VALUE">7'h0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TRIS_RST_VALUE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADDR">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WIDTH">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">100000</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
</spirit:model> |
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ind_mem</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ext</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.ind_mem</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>rst_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>tcki</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>inst_addr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portain</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portaout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisa</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisc</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>porta_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portb_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portc_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
|
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rst_in"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="wdt_en"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tcki</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="tcki"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>inst_addr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="inst_addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portain</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portain"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portaout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portaout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisa</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisa"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisc</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisc"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>porta_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="porta_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portb_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portb_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portc_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portc_we"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
<spirit:componentInstances> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PC_RST_VECTOR</name><value>PC_RST_VECTOR</value></parameter> |
<parameter><name>STAT_RST_VALUE</name><value>STAT_RST_VALUE</value></parameter> |
<parameter><name>OPT_RST_VALUE</name><value>OPT_RST_VALUE</value></parameter> |
<parameter><name>FSR_RST_VALUE</name><value>FSR_RST_VALUE</value></parameter> |
<parameter><name>TRIS_RST_VALUE</name><value>TRIS_RST_VALUE</value></parameter> |
<parameter><name>ROM_WIDTH</name><value>ROM_WIDTH</value></parameter> |
<parameter><name>ROM_ADDR</name><value>ROM_ADDR</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc_sanity1.xml
0,0 → 1,410
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version>sanity1</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_sanity1</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.sanity1</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_sanity1</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="PC_RST_VECTOR">11'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STAT_RST_VALUE">8'h18</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="OPT_RST_VALUE">8'h3f</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FSR_RST_VALUE">7'h0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TRIS_RST_VALUE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADDR">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WIDTH">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">100000</spirit:value></spirit:modelParameter> |
|
<spirit:modelParameter><spirit:value spirit:id="GOOD">12'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="BAD">12'h000</spirit:value></spirit:modelParameter> |
|
|
</spirit:modelParameters> |
|
|
|
|
</spirit:model> |
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.sanity1</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ext</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.sanity1</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>rst_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>tcki</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>inst_addr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portain</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portaout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisa</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisc</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>porta_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portb_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portc_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
|
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rst_in"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="wdt_en"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tcki</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="tcki"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>inst_addr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="inst_addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portain</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portain"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portaout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portaout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisa</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisa"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisc</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisc"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>porta_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="porta_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portb_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portb_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portc_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portc_we"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
<spirit:componentInstances> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PC_RST_VECTOR</name><value>PC_RST_VECTOR</value></parameter> |
<parameter><name>STAT_RST_VALUE</name><value>STAT_RST_VALUE</value></parameter> |
<parameter><name>OPT_RST_VALUE</name><value>OPT_RST_VALUE</value></parameter> |
<parameter><name>FSR_RST_VALUE</name><value>FSR_RST_VALUE</value></parameter> |
<parameter><name>TRIS_RST_VALUE</name><value>TRIS_RST_VALUE</value></parameter> |
<parameter><name>ROM_WIDTH</name><value>ROM_WIDTH</value></parameter> |
<parameter><name>ROM_ADDR</name><value>ROM_ADDR</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc_rf1.xml
0,0 → 1,405
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version>rf1</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_rf1</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.rf1</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_rf1</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="PC_RST_VECTOR">11'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STAT_RST_VALUE">8'h18</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="OPT_RST_VALUE">8'h3f</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FSR_RST_VALUE">7'h0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TRIS_RST_VALUE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADDR">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WIDTH">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
</spirit:model> |
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.rf1</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ext</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.rf1</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>rst_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>tcki</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>inst_addr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portain</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portaout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisa</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisc</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>porta_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portb_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portc_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
|
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rst_in"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="wdt_en"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tcki</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="tcki"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>inst_addr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="inst_addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portain</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portain"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portaout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portaout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisa</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisa"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisc</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisc"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>porta_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="porta_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portb_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portb_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portc_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portc_we"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
<spirit:componentInstances> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PC_RST_VECTOR</name><value>PC_RST_VECTOR</value></parameter> |
<parameter><name>STAT_RST_VALUE</name><value>STAT_RST_VALUE</value></parameter> |
<parameter><name>OPT_RST_VALUE</name><value>OPT_RST_VALUE</value></parameter> |
<parameter><name>FSR_RST_VALUE</name><value>FSR_RST_VALUE</value></parameter> |
<parameter><name>TRIS_RST_VALUE</name><value>TRIS_RST_VALUE</value></parameter> |
<parameter><name>ROM_WIDTH</name><value>ROM_WIDTH</value></parameter> |
<parameter><name>ROM_ADDR</name><value>ROM_ADDR</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc_sanity2.xml
0,0 → 1,405
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version>sanity2</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_sanity2</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.sanity2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_sanity2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="PC_RST_VECTOR">11'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STAT_RST_VALUE">8'h18</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="OPT_RST_VALUE">8'h3f</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FSR_RST_VALUE">7'h0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TRIS_RST_VALUE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADDR">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WIDTH">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">100000</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
</spirit:model> |
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.sanity2</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ext</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.sanity2</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>rst_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>tcki</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>inst_addr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portain</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portaout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisa</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisc</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>porta_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portb_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portc_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
|
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rst_in"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="wdt_en"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tcki</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="tcki"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>inst_addr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="inst_addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portain</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portain"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portaout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portaout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisa</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisa"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisc</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisc"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>porta_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="porta_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portb_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portb_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portc_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portc_we"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
<spirit:componentInstances> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PC_RST_VECTOR</name><value>PC_RST_VECTOR</value></parameter> |
<parameter><name>STAT_RST_VALUE</name><value>STAT_RST_VALUE</value></parameter> |
<parameter><name>OPT_RST_VALUE</name><value>OPT_RST_VALUE</value></parameter> |
<parameter><name>FSR_RST_VALUE</name><value>FSR_RST_VALUE</value></parameter> |
<parameter><name>TRIS_RST_VALUE</name><value>TRIS_RST_VALUE</value></parameter> |
<parameter><name>ROM_WIDTH</name><value>ROM_WIDTH</value></parameter> |
<parameter><name>ROM_ADDR</name><value>ROM_ADDR</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc_rf2.xml
0,0 → 1,405
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version>rf2</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_rf2</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.rf2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_rf2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="PC_RST_VECTOR">11'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STAT_RST_VALUE">8'h18</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="OPT_RST_VALUE">8'h3f</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FSR_RST_VALUE">7'h0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TRIS_RST_VALUE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADDR">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WIDTH">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
</spirit:model> |
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.rf2</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ext</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.rf2</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>rst_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>tcki</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>inst_addr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portain</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portaout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisa</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisc</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>porta_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portb_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portc_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
|
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rst_in"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="wdt_en"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tcki</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="tcki"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>inst_addr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="inst_addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portain</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portain"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portaout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portaout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisa</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisa"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisc</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisc"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>porta_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="porta_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portb_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portb_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portc_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portc_we"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
<spirit:componentInstances> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PC_RST_VECTOR</name><value>PC_RST_VECTOR</value></parameter> |
<parameter><name>STAT_RST_VALUE</name><value>STAT_RST_VALUE</value></parameter> |
<parameter><name>OPT_RST_VALUE</name><value>OPT_RST_VALUE</value></parameter> |
<parameter><name>FSR_RST_VALUE</name><value>FSR_RST_VALUE</value></parameter> |
<parameter><name>TRIS_RST_VALUE</name><value>TRIS_RST_VALUE</value></parameter> |
<parameter><name>ROM_WIDTH</name><value>ROM_WIDTH</value></parameter> |
<parameter><name>ROM_ADDR</name><value>ROM_ADDR</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc_loop.xml
0,0 → 1,405
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version>loop</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_loop</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.loop</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_loop</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="PC_RST_VECTOR">11'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STAT_RST_VALUE">8'h18</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="OPT_RST_VALUE">8'h3f</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FSR_RST_VALUE">7'h0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TRIS_RST_VALUE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADDR">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WIDTH">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">100000</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
</spirit:model> |
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.loop</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ext</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.loop</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>rst_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>tcki</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>inst_addr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portain</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portaout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisa</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisc</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>porta_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portb_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portc_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
|
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rst_in"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="wdt_en"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tcki</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="tcki"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>inst_addr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="inst_addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portain</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portain"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portaout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portaout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisa</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisa"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisc</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisc"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>porta_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="porta_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portb_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portb_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portc_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portc_we"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
<spirit:componentInstances> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PC_RST_VECTOR</name><value>PC_RST_VECTOR</value></parameter> |
<parameter><name>STAT_RST_VALUE</name><value>STAT_RST_VALUE</value></parameter> |
<parameter><name>OPT_RST_VALUE</name><value>OPT_RST_VALUE</value></parameter> |
<parameter><name>FSR_RST_VALUE</name><value>FSR_RST_VALUE</value></parameter> |
<parameter><name>TRIS_RST_VALUE</name><value>TRIS_RST_VALUE</value></parameter> |
<parameter><name>ROM_WIDTH</name><value>ROM_WIDTH</value></parameter> |
<parameter><name>ROM_ADDR</name><value>ROM_ADDR</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc_rf3.xml
0,0 → 1,405
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version>rf3</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_rf3</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.rf3</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>mrisc</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>mrisc_rf3</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="PC_RST_VECTOR">11'h000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STAT_RST_VALUE">8'h18</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="OPT_RST_VALUE">8'h3f</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FSR_RST_VALUE">7'h0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TRIS_RST_VALUE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADDR">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WIDTH">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
</spirit:model> |
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.rf3</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.ext</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.rf3</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>rst_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>tcki</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>inst_addr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>10</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portain</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcin</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portaout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portbout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>portcout</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisa</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>trisc</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>porta_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portb_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>portc_we</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
|
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rst_in"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="wdt_en"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tcki</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="tcki"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>inst_addr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="inst_addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portain</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portain"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcin"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portaout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portaout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portbout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portbout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portcout</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portcout"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisa</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisa"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>trisc</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="trisc"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>porta_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="porta_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portb_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portb_we"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>portc_we</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="portc_we"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
<spirit:componentInstances> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>pic_micro</spirit:library> |
<spirit:name>mrisc</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PC_RST_VECTOR</name><value>PC_RST_VECTOR</value></parameter> |
<parameter><name>STAT_RST_VALUE</name><value>STAT_RST_VALUE</value></parameter> |
<parameter><name>OPT_RST_VALUE</name><value>OPT_RST_VALUE</value></parameter> |
<parameter><name>FSR_RST_VALUE</name><value>FSR_RST_VALUE</value></parameter> |
<parameter><name>TRIS_RST_VALUE</name><value>TRIS_RST_VALUE</value></parameter> |
<parameter><name>ROM_WIDTH</name><value>ROM_WIDTH</value></parameter> |
<parameter><name>ROM_ADDR</name><value>ROM_ADDR</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/xml/mrisc.xml
428,12 → 428,6
|
</spirit:componentInstances> |
|
<code_coverage> |
<cover> |
<name>mrisc</name> |
<spirit:componentInstance>TB.dut</spirit:componentInstance> |
</cover> |
</code_coverage> |
|
|
</spirit:component> |
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/top.ext
0,0 → 1,46
// IO buffers for IO Ports |
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
|
|
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/tb.test_define.ind_mem
0,0 → 1,34
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
repeat(40) @(posedge clk); |
|
while(portaout == 8'h00) @(posedge clk); |
|
if(portaout == 8'h01) |
begin |
|
end |
else |
if(portaout == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", portaout, portbout); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/tb.test_define.sanity1
0,0 → 1,31
|
|
initial |
begin |
$display ("\n\nMini-RISC. Version 1.0\n\n"); |
$display ("========== Starting Sanity 1 Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
while(inst_addr != GOOD & inst_addr != BAD) @(posedge clk); |
|
if(inst_addr == GOOD) |
begin |
end |
else |
if(inst_addr == BAD) |
begin |
$display("Sanity1 test FAILED !!!"); |
end |
else |
$display("Sanity1 test status UNKNOWN !!!"); |
|
|
repeat(4) @(posedge clk); |
$display("=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/tb.test_define.rf1
0,0 → 1,34
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/tb.test_define.loop
0,0 → 1,12
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
repeat(4000) @(posedge clk); |
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/tb.test_define.sanity2
0,0 → 1,32
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/tb.test_define.rf2
0,0 → 1,34
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/rtl/verilog/tb.test_define.rf3
0,0 → 1,34
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/soc/design.soc
27,14 → 27,15
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<designs> |
|
<components> |
<component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc</variant> |
<version></version> |
|
<code_coverage> |
<cover> |
<name>mrisc</name> |
41,90 → 42,178
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc_ind_mem</variant> |
<version>ind_mem</version> |
<code_coverage> |
<cover> |
<name>mrisc</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc_loop</variant> |
<version>loop</version> |
<code_coverage> |
<cover> |
<name>mrisc</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc_rf1</variant> |
<version>rf1</version> |
<code_coverage> |
<cover> |
<name>mrisc</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc_rf2</variant> |
<version>rf2</version> |
<code_coverage> |
<cover> |
<name>mrisc</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc_rf3</variant> |
<version>rf3</version> |
<code_coverage> |
<cover> |
<name>mrisc</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc_sanity1</variant> |
<version>sanity1</version> |
<code_coverage> |
<cover> |
<name>mrisc</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>mrisc</name> |
<variant>mrisc_sanity2</variant> |
<version>sanity2</version> |
<code_coverage> |
<cover> |
<name>mrisc</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
|
|
|
|
|
</components> |
|
|
|
<sims> |
|
<sim> |
<name>sanity1</name> |
<variant>mrisc</variant> |
<configuration>sanity1</configuration> |
<parameters> |
<parameter><name>GOOD</name><value>12'h0aa</value></parameter> |
<parameter><name>BAD</name><value>12'h0af</value></parameter> |
<name>ind_mem</name> |
<variant>mrisc_ind_mem</variant> |
<configuration>ind_mem</configuration> |
</sim> |
|
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
</sim> |
|
<sim> |
<name>rf3</name> |
<variant>mrisc</variant> |
<configuration>rf3</configuration> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
<name>loop</name> |
<variant>mrisc_loop</variant> |
<configuration>loop</configuration> |
</sim> |
|
|
|
<sim> |
<name>sanity2</name> |
<variant>mrisc</variant> |
<configuration>sanity2</configuration> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
<name>rf1</name> |
<variant>mrisc_rf1</variant> |
<configuration>rf1</configuration> |
</sim> |
|
<sim> |
<name>rf2</name> |
<variant>mrisc</variant> |
<variant>mrisc_rf2</variant> |
<configuration>rf2</configuration> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
</sim> |
|
<sim> |
<name>rf1</name> |
<variant>mrisc</variant> |
<configuration>rf1</configuration> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
<name>rf3</name> |
<variant>mrisc_rf3</variant> |
<configuration>rf3</configuration> |
</sim> |
|
|
<sim> |
<name>ind_mem</name> |
<variant>mrisc</variant> |
<configuration>ind_mem</configuration> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
<name>sanity1</name> |
<variant>mrisc_sanity1</variant> |
<configuration>sanity1</configuration> |
<parameters> |
<parameter><name>GOOD</name><value>12'h0aa</value></parameter> |
<parameter><name>BAD</name><value>12'h0af</value></parameter> |
</parameters> |
</sim> |
|
|
|
<sim> |
<name>loop</name> |
<variant>mrisc</variant> |
<configuration>loop</configuration> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
<name>sanity2</name> |
<variant>mrisc_sanity2</variant> |
<configuration>sanity2</configuration> |
</sim> |
|
</sims> |
|
|
|
|
|
|
|
|
|
|
</component> |
|
|
|
</sims> |
|
|
<configurations> |
|
<configuration> |
204,7 → 293,4
</configurations> |
|
|
|
|
|
</components> |
</designs> |
/trunk/projects/pic_micro/ip/mrisc/sim/run/ind_mem/test_define
1,34 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
repeat(40) @(posedge clk); |
|
while(portaout == 8'h00) @(posedge clk); |
|
if(portaout == 8'h01) |
begin |
|
end |
else |
if(portaout == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", portaout, portbout); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/ind_mem/dut
1,49 → 1,2
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
assign rst_in =reset; |
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/rf1/test_define
1,34 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/rf1/dut
1,49 → 1,2
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
assign rst_in =reset; |
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/sanity1/test_define
1,31 → 1,2
|
|
initial |
begin |
$display ("\n\nMini-RISC. Version 1.0\n\n"); |
$display ("========== Starting Sanity 1 Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
while(inst_addr != GOOD & inst_addr != BAD) @(posedge clk); |
|
if(inst_addr == GOOD) |
begin |
end |
else |
if(inst_addr == BAD) |
begin |
$display("Sanity1 test FAILED !!!"); |
end |
else |
$display("Sanity1 test status UNKNOWN !!!"); |
|
|
repeat(4) @(posedge clk); |
$display("=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/sanity1/dut
1,49 → 1,2
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
assign rst_in =reset; |
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/loop/test_define
1,12 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
repeat(4000) @(posedge clk); |
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/loop/dut
1,49 → 1,2
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
assign rst_in =reset; |
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/rf2/test_define
1,34 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/rf2/dut
1,49 → 1,2
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
assign rst_in =reset; |
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/sanity2/test_define
1,32 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/sanity2/dut
1,49 → 1,2
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
assign rst_in =reset; |
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/rf3/test_define
1,34 → 1,2
|
initial |
begin |
$display ("\n\nMini-RISC. Sanity 2 Version 1.0\n\n"); |
$display ("========== Starting Test ========== \n"); |
repeat(10) @(posedge clk); |
cg.reset_off; |
|
|
while(porta == 8'hFF) @(posedge clk); |
while(porta == 8'h00) @(posedge clk); |
|
if(porta == 8'h01) |
begin |
|
end |
else |
if(porta == 8'hff) |
begin |
$display("Test FAILED in test %d !!!", portb); |
end |
else |
$display("Test status UNKNOWN (%h test: %d) !!!", porta, portb); |
|
|
repeat(4) @(posedge clk); |
$display("\n=============================================\n\n\n"); |
|
|
|
cg.exit; |
end |
|
|
/trunk/projects/pic_micro/ip/mrisc/sim/run/rf3/dut
1,49 → 1,2
|
|
wire [7:0] porta; // I/O Port A |
wire [7:0] portb; // I/O Port B |
wire [7:0] portc; // I/O Port C |
|
assign rst_in =reset; |
|
assign wdt_en =1'b1; |
|
// IO buffers for IO Ports |
assign porta = trisa ? 8'bz : portaout; |
assign portain = porta; |
|
assign portb = trisb ? 8'bz : portbout; |
assign portbin = portb; |
|
assign portc = trisc ? 8'bz : portcout; |
assign portcin = portc; |
|
// Pullups for IO Ports |
pullup ua0(porta[0]); |
pullup ua1(porta[1]); |
pullup ua2(porta[2]); |
pullup ua3(porta[3]); |
pullup ua4(porta[4]); |
pullup ua5(porta[5]); |
pullup ua6(porta[6]); |
pullup ua7(porta[7]); |
|
pullup ub0(portb[0]); |
pullup ub1(portb[1]); |
pullup ub2(portb[2]); |
pullup ub3(portb[3]); |
pullup ub4(portb[4]); |
pullup ub5(portb[5]); |
pullup ub6(portb[6]); |
pullup ub7(portb[7]); |
|
pullup uc0(portc[0]); |
pullup uc1(portc[1]); |
pullup uc2(portc[2]); |
pullup uc3(portc[3]); |
pullup uc4(portc[4]); |
pullup uc5(portc[5]); |
pullup uc6(portc[6]); |
pullup uc7(portc[7]); |
|
|
/trunk/projects/io/bin/repeater
0,0 → 1,133
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
|
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source 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 Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
|
# ToDO: add handling unaligned words |
|
|
############################################################################ |
# General PERL config |
############################################################################ |
use Getopt::Long; |
use English; |
use File::Basename; |
|
$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE. |
|
|
############################################################################ |
### Process the options |
############################################################################ |
|
Getopt::Long::config("require_order", "prefix=-"); |
GetOptions("h" |
) || die "(use '$program_name -h' for help)"; |
|
|
############################################################################## |
## Help option |
############################################################################## |
if ( ($opt_h eq "1") ) |
{ print "\n type test filename ( no extension)"; |
print "\n"; |
exit 1; |
} |
|
|
############################################################################## |
## |
############################################################################## |
|
use Cwd; |
use XML::LibXML; |
|
$home = cwd(); |
|
|
|
|
|
############################################################################# |
## |
## |
############################################################################# |
|
my $prefix = $ARGV[0]; |
my $component = $ARGV[1]; |
my $variant = $ARGV[2]; |
print "Repeater\n" ; |
|
my $index =0; |
|
while($ARGV[$index]) |
{ |
my $arg = $ARGV[$index]; |
$index = $index +1; |
print " $index -- $arg \n" ; |
|
} |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/projects/io/bin/repeater
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/projects/Mos6502/bin/repeater
===================================================================
--- trunk/projects/Mos6502/bin/repeater (nonexistent)
+++ trunk/projects/Mos6502/bin/repeater (revision 88)
@@ -0,0 +1,133 @@
+eval 'exec `which perl` -S $0 ${1+"$@"}'
+ if 0;
+
+#/**********************************************************************/
+#/* */
+#/* ------- */
+#/* / SOC \ */
+#/* / GEN \ */
+#/* / TOOL \ */
+#/* ============== */
+#/* | | */
+#/* |____________| */
+#/* */
+#/* */
+#/* */
+#/* */
+#/* Author(s): */
+#/* - John Eaton, jt_eaton@opencores.org */
+#/* */
+#/**********************************************************************/
+#/* */
+#/* Copyright (C) <2010> */
+#/* */
+#/* This source file may be used and distributed without */
+#/* restriction provided that this copyright statement is not */
+#/* removed from the file and that any derivative work contains */
+#/* the original copyright notice and the associated disclaimer. */
+#/* */
+#/* This source file is free software; you can redistribute it */
+#/* and/or modify it under the terms of the GNU Lesser General */
+#/* Public License as published by the Free Software Foundation; */
+#/* either version 2.1 of the License, or (at your option) any */
+#/* later version. */
+#/* */
+#/* This source 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 Lesser General Public License for more */
+#/* details. */
+#/* */
+#/* You should have received a copy of the GNU Lesser General */
+#/* Public License along with this source; if not, download it */
+#/* from http://www.opencores.org/lgpl.shtml */
+#/* */
+#/**********************************************************************/
+
+# ToDO: add handling unaligned words
+
+
+############################################################################
+# General PERL config
+############################################################################
+use Getopt::Long;
+use English;
+use File::Basename;
+
+$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE.
+
+
+############################################################################
+### Process the options
+############################################################################
+
+Getopt::Long::config("require_order", "prefix=-");
+GetOptions("h"
+) || die "(use '$program_name -h' for help)";
+
+
+##############################################################################
+## Help option
+##############################################################################
+if ( ($opt_h eq "1") )
+ { print "\n type test filename ( no extension)";
+ print "\n";
+ exit 1;
+ }
+
+
+##############################################################################
+##
+##############################################################################
+
+use Cwd;
+use XML::LibXML;
+
+$home = cwd();
+
+
+
+
+
+#############################################################################
+##
+##
+#############################################################################
+
+ my $prefix = $ARGV[0];
+ my $component = $ARGV[1];
+ my $variant = $ARGV[2];
+print "Repeater\n" ;
+
+my $index =0;
+
+while($ARGV[$index])
+{
+my $arg = $ARGV[$index];
+$index = $index +1;
+print " $index -- $arg \n" ;
+
+}
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
trunk/projects/Mos6502/bin/repeater
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502.xml
===================================================================
--- trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502.xml (revision 87)
+++ trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502.xml (revision 88)
@@ -414,6 +414,8 @@
+
+
clk
/trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502_kim_2.xml
0,0 → 1,1437
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version>kim_2</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_kim_2</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/tb.kim_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_kim_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
</spirit:componentGenerators> |
|
|
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.ext_m</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.kim_2</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.kim_2</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
</spirit:fileSet> |
|
</spirit:fileSets> |
|
|
|
|
|
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
|
<spirit:modelParameters> |
|
<spirit:modelParameter><spirit:value spirit:id="RAM_WORDS">2048</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RAM_ADD">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">4096</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADD">12</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_WORDS">ROM_WORDS</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_ADD">ROM_ADD</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_FILE">ROM_FILE</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="VEC_TABLE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TEST_NAME">"kim_2"</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
|
<spirit:ports> |
|
|
|
|
|
<spirit:port><name>memadr_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramclk_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcre_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>memoe_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramlb_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashrp_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>flashststs_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramub_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>memwr_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramwait_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramadv_out_n</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
|
<spirit:port><name>MEMDB</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>inout</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
</spirit:ports> |
|
|
|
|
|
|
</spirit:model> |
|
|
|
|
|
<nodes> |
|
|
<node> |
<name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>reset</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>ext_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node> |
<name>ext_ub</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_ack</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_lb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_stb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_cs</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>alu_status</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>txd_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>rxd_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>rts_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>gpio_0_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>gpio_1_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>vgared_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgagreen_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgablue_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>hsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>vsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>ps2_clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>ps2_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>memdb_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>memdb_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>memdb_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</node> |
|
|
</nodes> |
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ext_add</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_add"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ub</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ub"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ub"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ack</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ack"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ack"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_lb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_lb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="lb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rd"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_stb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_stb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="stb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wr"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_cs"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memadr_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memadr_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memadr_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memoe_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memoe_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memoe_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memwr_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memwr_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memwr_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramadv_out_n</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramadv_out_n"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramadv_out_n"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramclk_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramclk_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramclk_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramub_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramub_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramub_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramlb_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramlb_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramlb_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcs_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcre_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcre_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcre_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ramwait_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramwait_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramwait_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>flashststs_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashststs_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashststs_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashrp_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashrp_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashrp_n_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashcs_n_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>alu_status</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="alu_status"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="txd_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rxd_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rts_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rts_pad_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="cts_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_lat"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_lat"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>4'h0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgared_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgared_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgagreen_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgagreen_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgablue_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgablue_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>hsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="hsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="txd_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="rxd_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_data"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>1'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_out"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>RAM_WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>RAM_ADD</name><value>RAM_ADD</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_ADD</name><value>ROM_ADD</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
<parameter><name>PROG_ROM_WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>PROG_ROM_FILE</value></parameter> |
<parameter><name>VEC_TABLE</name><value>VEC_TABLE</value></parameter> |
<parameter><name>TX_FIFO</name><value>TX_FIFO</value></parameter> |
<parameter><name>TX_FIFO_SIZE</name><value>TX_FIFO_SIZE</value></parameter> |
<parameter><name>TX_FIFO_WORDS</name><value>TX_FIFO_WORDS</value></parameter> |
<parameter><name>RX_FIFO</name><value>RX_FIFO</value></parameter> |
<parameter><name>RX_FIFO_SIZE</name><value>RX_FIFO_SIZE</value></parameter> |
<parameter><name>RX_FIFO_WORDS</name><value></value>RX_FIFO_WORDS</parameter> |
<parameter><name>STARTUP</name><value>STARTUP</value></parameter> |
<parameter><name>FONT</name><value>FONT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>uart_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>uart_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>4'hc</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>ps2_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>10'h177</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_clk_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_data_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>fmc</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>logic</spirit:library> |
<spirit:name>flash_memcontrl</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_00_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_01_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_02_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_03_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_04_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_05_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_06_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_07_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_08_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_09_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_10_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_11_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_12_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_13_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_14_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_15_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:component> |
|
|
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502_io_irq_2.xml
0,0 → 1,1416
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version>io_irq_2</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_io_irq_2</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/tb.io_irq_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_io_irq_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
</spirit:componentGenerators> |
|
|
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.ext_m</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.io_irq_2</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.io_irq_2</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
</spirit:fileSet> |
|
</spirit:fileSets> |
|
|
|
|
|
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
|
<spirit:modelParameters> |
|
<spirit:modelParameter><spirit:value spirit:id="RAM_WORDS">2048</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RAM_ADD">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">4096</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADD">12</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_WORDS">ROM_WORDS</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_ADD">ROM_ADD</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_FILE">ROM_FILE</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="VEC_TABLE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TEST_NAME">"io_irq_2"</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
|
<spirit:ports> |
|
|
|
|
|
<spirit:port><name>memadr_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramclk_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcre_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>memoe_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramlb_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashrp_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>flashststs_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramub_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>memwr_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramwait_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramadv_out_n</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
|
<spirit:port><name>MEMDB</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>inout</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
</spirit:ports> |
|
|
|
|
|
|
</spirit:model> |
|
|
|
|
|
<nodes> |
|
|
<node> |
<name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>reset</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>ext_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node> |
<name>ext_ub</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_ack</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_lb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_stb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_cs</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>alu_status</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>txd_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>rxd_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>rts_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>gpio_0_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>gpio_1_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
|
<node><name>vgared_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgagreen_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgablue_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>hsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>vsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>ps2_clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>ps2_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>memdb_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>memdb_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>memdb_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</node> |
|
|
</nodes> |
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ext_add</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_add"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ub</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ub"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ub"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ack</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ack"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ack"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_lb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_lb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="lb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rd"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_stb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_stb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="stb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wr"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_cs"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memadr_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memadr_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memadr_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memoe_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memoe_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memoe_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memwr_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memwr_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memwr_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramadv_out_n</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramadv_out_n"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramadv_out_n"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramclk_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramclk_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramclk_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramub_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramub_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramub_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramlb_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramlb_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramlb_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcs_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcre_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcre_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcre_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ramwait_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramwait_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramwait_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>flashststs_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashststs_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashststs_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashrp_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashrp_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashrp_n_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashcs_n_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>alu_status</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="alu_status"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="txd_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rxd_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rts_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rts_pad_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="cts_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>4'h0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgared_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgared_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgagreen_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgagreen_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgablue_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgablue_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>hsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="hsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="txd_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="rxd_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_data"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>1'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_out"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>RAM_WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>RAM_ADD</name><value>RAM_ADD</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_ADD</name><value>ROM_ADD</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
<parameter><name>PROG_ROM_WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>PROG_ROM_FILE</value></parameter> |
<parameter><name>VEC_TABLE</name><value>VEC_TABLE</value></parameter> |
<parameter><name>TX_FIFO</name><value>TX_FIFO</value></parameter> |
<parameter><name>TX_FIFO_SIZE</name><value>TX_FIFO_SIZE</value></parameter> |
<parameter><name>TX_FIFO_WORDS</name><value>TX_FIFO_WORDS</value></parameter> |
<parameter><name>RX_FIFO</name><value>RX_FIFO</value></parameter> |
<parameter><name>RX_FIFO_SIZE</name><value>RX_FIFO_SIZE</value></parameter> |
<parameter><name>RX_FIFO_WORDS</name><value></value>RX_FIFO_WORDS</parameter> |
<parameter><name>STARTUP</name><value>STARTUP</value></parameter> |
<parameter><name>FONT</name><value>FONT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>uart_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>uart_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>4'hc</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>ps2_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>10'h177</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_clk_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_data_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>fmc</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>logic</spirit:library> |
<spirit:name>flash_memcontrl</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_00_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_01_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_02_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_03_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_04_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_05_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_06_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_07_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_08_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_09_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_10_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_11_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_12_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_13_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_14_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_15_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:component> |
|
|
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502_tim_2.xml
0,0 → 1,1416
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version>tim_2</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_tim_2</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/tb.tim_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_tim_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
</spirit:componentGenerators> |
|
|
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.ext_m</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.tim_2</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.tim_2</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
</spirit:fileSet> |
|
</spirit:fileSets> |
|
|
|
|
|
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
|
<spirit:modelParameters> |
|
<spirit:modelParameter><spirit:value spirit:id="RAM_WORDS">2048</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RAM_ADD">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">4096</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADD">12</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_WORDS">ROM_WORDS</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_ADD">ROM_ADD</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_FILE">ROM_FILE</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="VEC_TABLE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TEST_NAME">"tim_2"</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
|
<spirit:ports> |
|
|
|
|
|
<spirit:port><name>memadr_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramclk_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcre_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>memoe_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramlb_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashrp_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>flashststs_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramub_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>memwr_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramwait_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramadv_out_n</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
|
<spirit:port><name>MEMDB</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>inout</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
</spirit:ports> |
|
|
|
|
|
|
</spirit:model> |
|
|
|
|
|
<nodes> |
|
|
<node> |
<name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>reset</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>ext_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node> |
<name>ext_ub</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_ack</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_lb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_stb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_cs</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>alu_status</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>txd_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>rxd_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>rts_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>gpio_0_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>gpio_1_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
|
<node><name>vgared_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgagreen_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgablue_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>hsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>vsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>ps2_clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>ps2_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>memdb_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>memdb_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>memdb_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</node> |
|
|
</nodes> |
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ext_add</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_add"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ub</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ub"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ub"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ack</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ack"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ack"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_lb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_lb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="lb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rd"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_stb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_stb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="stb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wr"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_cs"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memadr_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memadr_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memadr_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memoe_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memoe_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memoe_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memwr_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memwr_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memwr_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramadv_out_n</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramadv_out_n"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramadv_out_n"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramclk_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramclk_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramclk_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramub_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramub_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramub_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramlb_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramlb_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramlb_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcs_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcre_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcre_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcre_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ramwait_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramwait_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramwait_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>flashststs_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashststs_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashststs_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashrp_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashrp_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashrp_n_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashcs_n_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>alu_status</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="alu_status"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="txd_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rxd_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rts_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rts_pad_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="cts_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>4'h0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgared_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgared_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgagreen_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgagreen_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgablue_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgablue_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>hsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="hsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="txd_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="rxd_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_data"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>1'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_out"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>RAM_WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>RAM_ADD</name><value>RAM_ADD</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_ADD</name><value>ROM_ADD</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
<parameter><name>PROG_ROM_WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>PROG_ROM_FILE</value></parameter> |
<parameter><name>VEC_TABLE</name><value>VEC_TABLE</value></parameter> |
<parameter><name>TX_FIFO</name><value>TX_FIFO</value></parameter> |
<parameter><name>TX_FIFO_SIZE</name><value>TX_FIFO_SIZE</value></parameter> |
<parameter><name>TX_FIFO_WORDS</name><value>TX_FIFO_WORDS</value></parameter> |
<parameter><name>RX_FIFO</name><value>RX_FIFO</value></parameter> |
<parameter><name>RX_FIFO_SIZE</name><value>RX_FIFO_SIZE</value></parameter> |
<parameter><name>RX_FIFO_WORDS</name><value></value>RX_FIFO_WORDS</parameter> |
<parameter><name>STARTUP</name><value>STARTUP</value></parameter> |
<parameter><name>FONT</name><value>FONT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>uart_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>uart_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>4'hc</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>ps2_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>10'h177</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_clk_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_data_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>fmc</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>logic</spirit:library> |
<spirit:name>flash_memcontrl</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_00_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_01_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_02_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_03_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_04_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_05_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_06_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_07_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_08_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_09_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_10_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_11_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_12_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_13_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_14_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_15_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:component> |
|
|
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502_irq_2_test.xml
0,0 → 1,1416
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version>irq_2_test</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_irq_2_test</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/tb.irq_2_test</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_irq_2_test</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
</spirit:componentGenerators> |
|
|
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.ext_m</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.irq_2_test</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.irq_2_test</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
</spirit:fileSet> |
|
</spirit:fileSets> |
|
|
|
|
|
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
|
<spirit:modelParameters> |
|
<spirit:modelParameter><spirit:value spirit:id="RAM_WORDS">2048</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RAM_ADD">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">4096</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADD">12</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_WORDS">ROM_WORDS</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_ADD">ROM_ADD</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_FILE">ROM_FILE</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="VEC_TABLE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TEST_NAME">"irq_2_test"</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
|
<spirit:ports> |
|
|
|
|
|
<spirit:port><name>memadr_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramclk_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcre_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>memoe_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramlb_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashrp_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>flashststs_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramub_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>memwr_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramwait_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramadv_out_n</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
|
<spirit:port><name>MEMDB</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>inout</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
</spirit:ports> |
|
|
|
|
|
|
</spirit:model> |
|
|
|
|
|
<nodes> |
|
|
<node> |
<name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>reset</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>ext_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node> |
<name>ext_ub</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_ack</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_lb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_stb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_cs</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>alu_status</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>txd_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>rxd_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>rts_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>gpio_0_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>gpio_1_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
|
<node><name>vgared_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgagreen_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgablue_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>hsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>vsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>ps2_clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>ps2_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>memdb_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>memdb_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>memdb_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</node> |
|
|
</nodes> |
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ext_add</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_add"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ub</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ub"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ub"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ack</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ack"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ack"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_lb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_lb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="lb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rd"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_stb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_stb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="stb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wr"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_cs"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memadr_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memadr_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memadr_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memoe_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memoe_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memoe_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memwr_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memwr_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memwr_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramadv_out_n</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramadv_out_n"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramadv_out_n"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramclk_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramclk_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramclk_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramub_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramub_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramub_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramlb_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramlb_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramlb_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcs_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcre_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcre_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcre_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ramwait_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramwait_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramwait_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>flashststs_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashststs_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashststs_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashrp_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashrp_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashrp_n_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashcs_n_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>alu_status</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="alu_status"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="txd_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rxd_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rts_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rts_pad_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="cts_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>4'h0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgared_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgared_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgagreen_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgagreen_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgablue_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgablue_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>hsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="hsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="txd_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="rxd_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_data"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>1'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_out"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>RAM_WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>RAM_ADD</name><value>RAM_ADD</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_ADD</name><value>ROM_ADD</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
<parameter><name>PROG_ROM_WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>PROG_ROM_FILE</value></parameter> |
<parameter><name>VEC_TABLE</name><value>VEC_TABLE</value></parameter> |
<parameter><name>TX_FIFO</name><value>TX_FIFO</value></parameter> |
<parameter><name>TX_FIFO_SIZE</name><value>TX_FIFO_SIZE</value></parameter> |
<parameter><name>TX_FIFO_WORDS</name><value>TX_FIFO_WORDS</value></parameter> |
<parameter><name>RX_FIFO</name><value>RX_FIFO</value></parameter> |
<parameter><name>RX_FIFO_SIZE</name><value>RX_FIFO_SIZE</value></parameter> |
<parameter><name>RX_FIFO_WORDS</name><value></value>RX_FIFO_WORDS</parameter> |
<parameter><name>STARTUP</name><value>STARTUP</value></parameter> |
<parameter><name>FONT</name><value>FONT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>uart_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>uart_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>4'hc</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>ps2_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>10'h177</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_clk_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_data_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>fmc</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>logic</spirit:library> |
<spirit:name>flash_memcontrl</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_00_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_01_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_02_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_03_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_04_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_05_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_06_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_07_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_08_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_09_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_10_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_11_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_12_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_13_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_14_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_15_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:component> |
|
|
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502_inst_2_test.xml
0,0 → 1,1411
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version>inst_2_test</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_inst_2_test</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/tb.inst_2_test</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_inst_2_test</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
</spirit:componentGenerators> |
|
|
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.ext_m</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.inst_2_test</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.inst_2_test</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
</spirit:fileSet> |
|
</spirit:fileSets> |
|
|
|
|
|
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
|
<spirit:modelParameters> |
|
<spirit:modelParameter><spirit:value spirit:id="RAM_WORDS">2048</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RAM_ADD">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">4096</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADD">12</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_WORDS">ROM_WORDS</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_ADD">ROM_ADD</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_FILE">ROM_FILE</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="VEC_TABLE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TEST_NAME">"inst_2_test"</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
|
<spirit:ports> |
|
|
|
|
|
<spirit:port><name>memadr_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramclk_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcre_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>memoe_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramlb_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashrp_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>flashststs_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramub_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>memwr_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramwait_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramadv_out_n</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
|
<spirit:port><name>MEMDB</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>inout</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
</spirit:ports> |
|
|
|
|
|
|
</spirit:model> |
|
|
|
|
|
<nodes> |
|
|
<node> |
<name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>reset</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>ext_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node> |
<name>ext_ub</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_ack</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_lb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_stb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_cs</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>alu_status</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>txd_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>rxd_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>rts_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>gpio_0_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>gpio_1_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
|
<node><name>vgared_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgagreen_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgablue_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>hsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>vsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>ps2_clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>ps2_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>memdb_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>memdb_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>memdb_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</node> |
|
|
</nodes> |
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ext_add</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_add"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ub</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ub"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ub"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ack</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ack"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ack"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_lb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_lb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="lb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rd"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_stb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_stb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="stb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wr"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_cs"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memadr_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memadr_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memadr_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memoe_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memoe_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memoe_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memwr_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memwr_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memwr_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramadv_out_n</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramadv_out_n"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramadv_out_n"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramclk_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramclk_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramclk_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramub_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramub_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramub_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramlb_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramlb_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramlb_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcs_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcre_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcre_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcre_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ramwait_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramwait_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramwait_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>flashststs_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashststs_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashststs_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashrp_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashrp_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashrp_n_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashcs_n_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>alu_status</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="alu_status"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="txd_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rxd_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rts_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rts_pad_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="cts_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>4'h0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgared_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgared_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgagreen_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgagreen_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgablue_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgablue_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>hsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="hsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="txd_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="rxd_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_data"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>1'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_out"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
</spirit:adHocConnections> |
|
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>RAM_WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>RAM_ADD</name><value>RAM_ADD</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_ADD</name><value>ROM_ADD</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
<parameter><name>PROG_ROM_WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>PROG_ROM_FILE</value></parameter> |
<parameter><name>VEC_TABLE</name><value>VEC_TABLE</value></parameter> |
<parameter><name>TX_FIFO</name><value>TX_FIFO</value></parameter> |
<parameter><name>TX_FIFO_SIZE</name><value>TX_FIFO_SIZE</value></parameter> |
<parameter><name>TX_FIFO_WORDS</name><value>TX_FIFO_WORDS</value></parameter> |
<parameter><name>RX_FIFO</name><value>RX_FIFO</value></parameter> |
<parameter><name>RX_FIFO_SIZE</name><value>RX_FIFO_SIZE</value></parameter> |
<parameter><name>RX_FIFO_WORDS</name><value></value>RX_FIFO_WORDS</parameter> |
<parameter><name>STARTUP</name><value>STARTUP</value></parameter> |
<parameter><name>FONT</name><value>FONT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>uart_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>uart_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>4'hc</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>ps2_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>10'h177</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_clk_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_data_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>fmc</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>logic</spirit:library> |
<spirit:name>flash_memcontrl</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_00_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_01_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_02_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_03_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_04_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_05_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_06_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_07_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_08_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_09_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_10_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_11_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_12_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_13_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_14_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_15_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:component> |
|
|
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/xml/T6502_io_poll_2.xml
0,0 → 1,1416
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version>io_poll_2</spirit:version> |
|
|
|
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_io_poll_2</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/tb.io_poll_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
<spirit:componentGenerator> |
<spirit:name>hier_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_io_poll_2</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
</spirit:componentGenerators> |
|
|
|
|
<spirit:fileSets> |
|
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.ext_m</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.io_poll_2</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.io_poll_2</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
|
</spirit:fileSet> |
|
</spirit:fileSets> |
|
|
|
|
|
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
|
<spirit:modelParameters> |
|
<spirit:modelParameter><spirit:value spirit:id="RAM_WORDS">2048</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RAM_ADD">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">4096</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADD">12</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_WORDS">ROM_WORDS</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_ADD">ROM_ADD</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_FILE">ROM_FILE</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="VEC_TABLE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TEST_NAME">"io_poll_2"</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
|
|
|
|
<spirit:ports> |
|
|
|
|
|
<spirit:port><name>memadr_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramclk_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcre_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>memoe_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramlb_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashcs_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>flashrp_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>flashststs_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>ramub_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>memwr_n_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramwait_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>ramadv_out_n</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</spirit:port> |
|
|
|
<spirit:port><name>MEMDB</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>inout</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
</spirit:ports> |
|
|
|
|
|
|
</spirit:model> |
|
|
|
|
|
<nodes> |
|
|
<node> |
<name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>reset</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node> |
<name>ext_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node> |
<name>ext_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node> |
<name>ext_ub</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_ack</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_lb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_stb</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ext_cs</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>alu_status</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>txd_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>rxd_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>rts_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_clk_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>ps2_data_pad_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>gpio_0_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_0_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>gpio_1_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>gpio_1_lat</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
|
<node><name>vgared_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgagreen_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>2</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>vgablue_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>hsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>vsync_n_pad_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
|
<node><name>ps2_clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>ps2_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>memdb_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>memdb_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>memdb_oe</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>output</spirit:direction></spirit:wire> |
</node> |
|
|
</nodes> |
|
<spirit:adHocConnections> |
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ext_add</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_add"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="addr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rdata"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ub</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ub"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ub"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ack</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_ack"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ack"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_lb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_lb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="lb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_rd"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_stb</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_stb"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="stb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_wr"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_cs"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memadr_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memadr_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memadr_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memdb_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>MEMDB[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_out[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[2]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[3]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[4]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[5]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[6]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[7]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[9]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[10]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[11]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[12]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[13]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[14]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_in[15]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memdb_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="memdb_00_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_01_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_02_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_03_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_04_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_05_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_06_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_07_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_08_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_09_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_10_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_11_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_12_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_13_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_14_pad" spirit:portRef="pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="memdb_15_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>memoe_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memoe_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memoe_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>memwr_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="memwr_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="memwr_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramadv_out_n</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramadv_out_n"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramadv_out_n"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramclk_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramclk_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramclk_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramub_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramub_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramub_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramlb_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramlb_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramlb_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcs_n_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ramcre_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramcre_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramcre_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ramwait_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="ramwait_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="ramwait_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>flashststs_in</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashststs_in"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashststs_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashrp_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashrp_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashrp_n_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>flashcs_n_out</spirit:name> |
<spirit:externalPortReference spirit:portRef="flashcs_n_out"/> |
<spirit:internalPortReference spirit:componentRef="fmc" spirit:portRef="flashcs_n_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>alu_status</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="alu_status"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="txd_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rxd_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rts_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="rts_pad_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="cts_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_clk_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_oe"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ps2_data_pad_in"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_0_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_out"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_lat</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="gpio_1_lat"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>4'h0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="ext_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgared_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgared_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgagreen_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgagreen_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vgablue_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vgablue_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>hsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="hsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vsync_n_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vsync_n_pad_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="txd_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>rxd_pad_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="uart_model" spirit:portRef="rxd_out"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_clk"/> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ps2_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_model" spirit:portRef="ps2_data"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="PAD"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>1'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="ps2_clk_pad" spirit:portRef="pad_out"/> |
<spirit:internalPortReference spirit:componentRef="ps2_data_pad" spirit:portRef="pad_out"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>RAM_WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>RAM_ADD</name><value>RAM_ADD</value></parameter> |
<parameter><name>ROM_WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>ROM_ADD</name><value>ROM_ADD</value></parameter> |
<parameter><name>ROM_FILE</name><value>ROM_FILE</value></parameter> |
<parameter><name>PROG_ROM_WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>PROG_ROM_FILE</value></parameter> |
<parameter><name>VEC_TABLE</name><value>VEC_TABLE</value></parameter> |
<parameter><name>TX_FIFO</name><value>TX_FIFO</value></parameter> |
<parameter><name>TX_FIFO_SIZE</name><value>TX_FIFO_SIZE</value></parameter> |
<parameter><name>TX_FIFO_WORDS</name><value>TX_FIFO_WORDS</value></parameter> |
<parameter><name>RX_FIFO</name><value>RX_FIFO</value></parameter> |
<parameter><name>RX_FIFO_SIZE</name><value>RX_FIFO_SIZE</value></parameter> |
<parameter><name>RX_FIFO_WORDS</name><value></value>RX_FIFO_WORDS</parameter> |
<parameter><name>STARTUP</name><value>STARTUP</value></parameter> |
<parameter><name>FONT</name><value>FONT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>uart_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>uart_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>4'hc</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_model</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>ps2_model</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>CLKCNT</name><value>10'h177</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_clk_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>ps2_data_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>fmc</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>logic</spirit:library> |
<spirit:name>flash_memcontrl</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_00_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_01_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_02_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_03_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_04_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_05_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_06_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_07_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_08_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_09_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_10_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_11_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_12_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_13_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_14_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>memdb_15_pad</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_pad</spirit:name> |
<spirit:version>se_dig</spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:component> |
|
|
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/verilog/tb.test_define.io_irq_2
0,0 → 1,28
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
uart_model.rcv_byte(8'h42); |
uart_model.send_byte(8'h65); |
uart_model.rcv_byte(8'h65); |
uart_model.send_byte(8'h37); |
uart_model.rcv_byte(8'h37); |
uart_model.send_byte(8'h20); |
uart_model.rcv_byte(8'h20); |
uart_model.send_byte(8'h41); |
uart_model.rcv_byte(8'h41); |
uart_model.send_byte(8'h45); |
uart_model.rcv_byte(8'h45); |
uart_model.send_byte(8'h25); |
uart_model.rcv_byte(8'h25); |
cg.next(4000); |
cg.exit; |
end |
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/verilog/tb.ext_m
0,0 → 1,22
|
pullup ua0(ps2_clk); |
pullup ua1(ps2_data); |
|
|
pullup mdb_00(MEMDB(00)); |
pullup mdb_01(MEMDB(01)); |
pullup mdb_02(MEMDB(02)); |
pullup mdb_03(MEMDB(03)); |
pullup mdb_04(MEMDB(04)); |
pullup mdb_05(MEMDB(05)); |
pullup mdb_06(MEMDB(06)); |
pullup mdb_07(MEMDB(07)); |
pullup mdb_08(MEMDB(08)); |
pullup mdb_09(MEMDB(09)); |
pullup mdb_10(MEMDB(10)); |
pullup mdb_11(MEMDB(11)); |
pullup mdb_12(MEMDB(12)); |
pullup mdb_13(MEMDB(13)); |
pullup mdb_14(MEMDB(14)); |
pullup mdb_15(MEMDB(15)); |
|
/trunk/projects/Mos6502/ip/T6502/rtl/verilog/tb.test_define.tim_2
0,0 → 1,162
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
fork |
begin |
ps2_model.rcv_byte(8'hff,1'b1); |
cg.next(5000); |
ps2_model.send_byte(8'hfa); |
cg.next(20000); |
ps2_model.send_byte(8'haa); |
cg.next(20000); |
ps2_model.send_byte(8'h00); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hc8,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h64,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h50,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf2,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
cg.next(20000); |
ps2_model.send_byte(8'h03); |
ps2_model.rcv_byte(8'he8,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h03,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h28,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf4,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
cg.next(20000); |
ps2_model.send_byte(8'h12); |
cg.next(20000); |
ps2_model.send_byte(8'h34); |
cg.next(20000); |
ps2_model.send_byte(8'h56); |
cg.next(20000); |
ps2_model.send_byte(8'h78); |
cg.next(20000); |
ps2_model.send_byte(8'h9a); |
cg.next(20000); |
ps2_model.send_byte(8'hbc); |
cg.next(20000); |
end |
begin |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h41); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h34); |
cg.next(20); |
uart_model.rcv_byte(8'h37); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h4d); |
cg.next(20); |
uart_model.rcv_byte(8'h65); |
cg.next(20); |
uart_model.rcv_byte(8'h6d); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h0d); |
cg.next(20); |
uart_model.rcv_byte(8'h0a); |
cg.next(2000); |
|
uart_model.send_byte(8'h35); |
|
|
|
|
|
|
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h42); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h31); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h4d); |
cg.next(20); |
uart_model.rcv_byte(8'h65); |
cg.next(20); |
uart_model.rcv_byte(8'h6d); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h0d); |
cg.next(20); |
uart_model.rcv_byte(8'h0a); |
cg.next(2000); |
|
|
|
|
|
uart_model.send_byte(8'h36); |
cg.next(40000); |
|
uart_model.send_byte(8'h37); |
cg.next(40000); |
|
uart_model.send_byte(8'h38); |
cg.next(40000); |
|
end |
join |
|
cg.exit; |
end |
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/verilog/tb.test_define.irq_2_test
0,0 → 1,15
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
while (gpio_0_out != 8'h00) cg.next(1); |
cg.reset_off; |
while (gpio_1_out == 8'hff) cg.next(10); |
cg.next(50000); |
cg.exit; |
end |
|
/trunk/projects/Mos6502/ip/T6502/rtl/verilog/tb.test_define.inst_2_test
0,0 → 1,16
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
while (gpio_0_out != 8'h00) cg.next(1); |
while (gpio_1_out != 8'h00) cg.next(1); |
cg.reset_off; |
while (gpio_1_out == 8'h00) cg.next(10); |
cg.next(300); |
cg.exit; |
end |
|
/trunk/projects/Mos6502/ip/T6502/rtl/verilog/tb.test_define.io_poll_2
0,0 → 1,20
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
uart_model.rcv_byte(8'h42); |
uart_model.send_byte(8'h65); |
uart_model.rcv_byte(8'h67); |
uart_model.send_byte(8'h37); |
uart_model.rcv_byte(8'h39); |
cg.next(4000); |
cg.exit; |
end |
|
|
|
/trunk/projects/Mos6502/ip/T6502/rtl/verilog/tb.test_define.kim_2
0,0 → 1,47
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
fork |
begin |
end |
|
begin |
cg.next(400000); |
|
uart_model.send_byte(8'h34); |
cg.next(10000); |
|
uart_model.send_byte(8'h30); |
cg.next(10000); |
uart_model.send_byte(8'h30); |
cg.next(10000); |
uart_model.send_byte(8'h31); |
cg.next(10000); |
uart_model.send_byte(8'h20); |
cg.next(10000); |
uart_model.send_byte(8'h38); |
cg.next(10000); |
uart_model.send_byte(8'h36); |
cg.next(10000); |
uart_model.send_byte(8'h2e); |
|
|
|
|
|
cg.next(80000); |
|
end |
join |
|
cg.exit; |
end |
|
|
|
/trunk/projects/Mos6502/ip/T6502/soc/design.soc
28,105 → 28,187
// // |
--> |
<components> |
<component> |
|
|
<component> |
<name>T6502</name> |
<variant>T6502</variant> |
<version></version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.cpu</componentInstance> |
</cover> |
<cover> |
<name>io_module</name> |
<componentInstance>TB.dut.io_module</componentInstance> |
</cover> |
</code_coverage> |
<children> |
<module> |
<name>flash_memcontrl</name> |
<component>flash_memcontrl</component> |
<project>logic</project> |
</module> |
</children> |
</component> |
|
|
|
|
|
<code_coverage> |
<component> |
<name>T6502</name> |
<variant>T6502_inst_2_test</variant> |
<version>inst_2_test</version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.cpu</componentInstance> |
<componentInstance>TB.dut.dut.cpu</componentInstance> |
</cover> |
<cover> |
<name>io_module</name> |
<componentInstance>TB.dut.io_module</componentInstance> |
<componentInstance>TB.dut.dut.io_module</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
|
<component> |
<name>T6502</name> |
<variant>T6502_io_irq_2</variant> |
<version>io_irq_2</version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.dut.cpu</componentInstance> |
</cover> |
<cover> |
<name>io_module</name> |
<componentInstance>TB.dut.dut.io_module</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<children> |
<module> |
<name>flash_memcontrl</name> |
<component>flash_memcontrl</component> |
<project>logic</project> |
</module> |
</children> |
<component> |
<name>T6502</name> |
<variant>T6502_io_poll_2</variant> |
<version>io_poll_2</version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.dut.cpu</componentInstance> |
</cover> |
<cover> |
<name>io_module</name> |
<componentInstance>TB.dut.dut.io_module</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
|
<component> |
<name>T6502</name> |
<variant>T6502_irq_2_test</variant> |
<version>irq_2_test</version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.dut.cpu</componentInstance> |
</cover> |
<cover> |
<name>io_module</name> |
<componentInstance>TB.dut.dut.io_module</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
|
<component> |
<name>T6502</name> |
<variant>T6502_tim_2</variant> |
<version>tim_2</version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.dut.cpu</componentInstance> |
</cover> |
<cover> |
<name>io_module</name> |
<componentInstance>TB.dut.dut.io_module</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>T6502</name> |
<variant>T6502_kim_2</variant> |
<version>kim_2</version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.dut.cpu</componentInstance> |
</cover> |
<cover> |
<name>io_module</name> |
<componentInstance>TB.dut.dut.io_module</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
|
|
|
|
|
|
|
|
|
|
|
<sims> |
|
<sim> |
<name>inst_2_test</name> |
<configuration>inst_2_test</configuration> |
<variant>T6502</variant> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
<variant>T6502_inst_2_test</variant> |
</sim> |
|
|
<sim> |
<name>io_irq_2</name> |
<configuration>io_irq_2</configuration> |
<variant>T6502</variant> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
</models> |
<variant>T6502_io_irq_2</variant> |
</sim> |
|
|
<sim> |
<name>io_poll_2</name> |
<configuration>io_poll_2</configuration> |
<variant>T6502</variant> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
</models> |
<variant>T6502_io_poll_2</variant> |
</sim> |
|
<sim> |
<name>irq_2_test</name> |
<configuration>irq_2_test</configuration> |
<variant>T6502</variant> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
</models> |
<variant>T6502_irq_2_test</variant> |
</sim> |
|
<sim> |
<name>kim_2</name> |
<configuration>kim_2</configuration> |
<variant>T6502</variant> |
<variant>T6502_kim_2</variant> |
<parameters> |
<parameter><name>TIMEOUT</name><value>800000</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
<model>"../../bench/verilog/models/mt45w8mw12.v"</model> |
<model>"../../../../../children/logic/ip/flash_memcontrl/rtl/gen/sim/flash_memcontrl.v"</model> |
</models> |
</sim> |
|
133,27 → 215,20
<sim> |
<name>tim_2</name> |
<configuration>tim_2</configuration> |
<variant>T6502</variant> |
<variant>T6502_tim_2</variant> |
<parameters> |
<parameter><name>TIMEOUT</name><value>800000</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
<model>"../../bench/verilog/models/uart_model.v"</model> |
<model>"../../bench/verilog/models/io_probe.v"</model> |
<model>"../../bench/verilog/models/ps2_model.v"</model> |
<model>"../../bench/verilog/models/iobuftri.v"</model> |
</models> |
</sim> |
|
</sims> |
|
|
</component> |
|
|
|
<configurations> |
|
<configuration> |
<name>inst_2_test</name> |
<parameters> |
167,7 → 242,35
<parameter><name>FONT</name><value>"../../../../../sw/vga_font/vga_font.abs"</value></parameter> |
</parameters> |
</configuration> |
|
|
|
|
<configuration> |
<name>inst_3_test</name> |
<parameters> |
<parameter><name>ROM_WORDS</name><value>128</value></parameter> |
<parameter><name>ROM_ADD</name><value>7</value></parameter> |
<parameter><name>ROM_FILE</name><value>"../../../../../../Mos6502/sw/table_tim1/table_tim1.abs16"</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>"../../../../../../Mos6502/sw/inst_2_test/inst_2_test.abs16"</value></parameter> |
<parameter><name>PROG_ROM_WORDS</name><value>2048</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>11</value></parameter> |
<parameter><name>STARTUP</name><value>"../../../../../sw/vga_startup_screen/vga_startup_screen.abs"</value></parameter> |
<parameter><name>FONT</name><value>"../../../../../sw/vga_font/vga_font.abs"</value></parameter> |
</parameters> |
</configuration> |
|
|
|
|
|
|
|
|
|
|
|
<configuration> |
<name>io_irq_2</name> |
<parameters> |
<parameter><name>ROM_WORDS</name><value>128</value></parameter> |
/trunk/projects/Mos6502/ip/T6502/sim/run/kim_2/dut
1,262 → 1,6
|
|
assign ext_irq_in = 4'b0000 ; |
assign gpio_0_in = gpio_0_out ; |
assign gpio_1_in = gpio_1_out ; |
assign cts_pad_in = rts_pad_out; |
|
|
|
wire ps2_clk; |
wire ps2_data; |
|
|
|
|
|
iobuftri |
data_tri_buf |
( |
.i ( 1'b0 ), |
.oe ( ps2_data_pad_oe ), |
.o ( ps2_data_pad_in ), |
.pad ( ps2_data ) |
); |
|
|
iobuftri |
clk_tri_buf |
( |
.i ( 1'b0 ), |
.oe ( ps2_clk_pad_oe ), |
.o ( ps2_clk_pad_in ), |
.pad ( ps2_clk ) |
); |
|
|
|
pullup ua0(ps2_clk); |
pullup ua1(ps2_data); |
|
|
ps2_model |
#(.CLKCNT(10'h177)) |
ps2_model |
( |
.clk ( clk ), |
.reset ( reset ), |
.ps2_clk ( ps2_clk ), |
.ps2_data ( ps2_data ) |
|
|
|
); |
|
|
|
|
|
uart_model #(.CLKCNT(4'hc)) |
uart_model ( |
.clk ( clk ), |
.reset ( reset ), |
.txd_in ( txd_pad_out ), |
.rxd_out ( rxd_pad_in ) |
); |
|
|
wire [23:1] memadr_out; |
wire memoe_n_out; |
wire memdb_oe; |
wire [15:0] memdb_out; |
wire [15:0] memdb_in; |
wire [15:0] memdb_io; |
wire memwr_n_out; |
wire ramcs_n_out; |
wire ramlb_n_out; |
wire ramadv_out_n; |
wire ramclk_out; |
wire ramcre_out; |
wire ramub_n_out; |
|
|
|
|
|
|
flash_memcontrl |
flash_memcontrl |
( |
.clk ( clk ), |
.reset ( reset ), |
.addr ( ext_add ), |
.wdata ( ext_wdata ), |
.cs ( ext_cs ), |
.stb (|ext_cs ), |
.rd ( ext_rd ), |
.wr ( ext_wr ), |
.ub ( ext_ub ), |
.lb ( ext_lb ), |
.ack ( ext_ack ), |
.rdata ( ext_rdata ), |
.memadr_out ( memadr_out ), |
.memoe_n_out ( memoe_n_out ), |
.memdb_oe ( memdb_oe ), |
.memdb_out ( memdb_out ), |
.memdb_in ( memdb_in ), |
.memwr_n_out ( memwr_n_out ), |
.ramcs_n_out ( ramcs_n_out ), |
.ramlb_n_out ( ramlb_n_out ), |
.ramadv_out_n ( ramadv_out_n ), |
.ramclk_out ( ramclk_out ), |
.ramcre_out ( ramcre_out ), |
.ramub_n_out ( ramub_n_out ), |
.ramwait_in ( 1'b1 ), |
.flashcs_n_out ( ), |
.flashrp_n_out ( ), |
.flashststs_in ( 1'b1 ) |
); |
|
|
|
|
|
|
|
|
|
iobuftri memdb_buff_0 |
( |
.i (memdb_out[0] ), |
.oe (memdb_oe ), |
.o (memdb_in[0] ), |
.pad (memdb_io[0] ) |
); |
|
iobuftri memdb_buff_1 |
( |
.i (memdb_out[1] ), |
.oe (memdb_oe ), |
.o (memdb_in[1] ), |
.pad (memdb_io[1] ) |
); |
|
iobuftri memdb_buff_2 |
( |
.i (memdb_out[2] ), |
.oe (memdb_oe ), |
.o (memdb_in[2] ), |
.pad (memdb_io[2] ) |
); |
|
iobuftri memdb_buff_3 |
( |
.i (memdb_out[3] ), |
.oe (memdb_oe ), |
.o (memdb_in[3] ), |
.pad (memdb_io[3] ) |
); |
|
iobuftri memdb_buff_4 |
( |
.i (memdb_out[4] ), |
.oe (memdb_oe ), |
.o (memdb_in[4] ), |
.pad (memdb_io[4] ) |
); |
|
iobuftri memdb_buff_5 |
( |
.i (memdb_out[5] ), |
.oe (memdb_oe ), |
.o (memdb_in[5] ), |
.pad (memdb_io[5] ) |
); |
|
|
iobuftri memdb_buff_6 |
( |
.i (memdb_out[6] ), |
.oe (memdb_oe ), |
.o (memdb_in[6] ), |
.pad (memdb_io[6] ) |
); |
|
iobuftri memdb_buff_7 |
( |
.i (memdb_out[7] ), |
.oe (memdb_oe ), |
.o (memdb_in[7] ), |
.pad (memdb_io[7] ) |
); |
|
iobuftri memdb_buff_8 |
( |
.i (memdb_out[8] ), |
.oe (memdb_oe ), |
.o (memdb_in[8] ), |
.pad (memdb_io[8] ) |
); |
|
iobuftri memdb_buff_9 |
( |
.i (memdb_out[9] ), |
.oe (memdb_oe ), |
.o (memdb_in[9] ), |
.pad (memdb_io[9] ) |
); |
|
iobuftri memdb_buff_10 |
( |
.i (memdb_out[10] ), |
.oe (memdb_oe ), |
.o (memdb_in[10] ), |
.pad (memdb_io[10] ) |
); |
|
|
iobuftri memdb_buff_11 |
( |
.i (memdb_out[11] ), |
.oe (memdb_oe ), |
.o (memdb_in[11] ), |
.pad (memdb_io[11] ) |
); |
|
iobuftri memdb_buff_12 |
( |
.i (memdb_out[12] ), |
.oe (memdb_oe ), |
.o (memdb_in[12] ), |
.pad (memdb_io[12] ) |
); |
|
iobuftri memdb_buff_13 |
( |
.i (memdb_out[13] ), |
.oe (memdb_oe ), |
.o (memdb_in[13] ), |
.pad (memdb_io[13] ) |
); |
|
iobuftri memdb_buff_14 |
( |
.i (memdb_out[14] ), |
.oe (memdb_oe ), |
.o (memdb_in[14] ), |
.pad (memdb_io[14] ) |
); |
|
|
iobuftri memdb_buff_15 |
( |
.i (memdb_out[15] ), |
.oe (memdb_oe ), |
.o (memdb_in[15] ), |
.pad (memdb_io[15] ) |
); |
|
|
pullup pu_ramwait ( ramwait_n ); |
|
mt45w8mw12 |
271,7 → 15,7
.lb_n ( ramlb_n_out ), |
.ub_n ( ramub_n_out ), |
.addr ( memadr_out ), |
.dq ( memdb_io ) |
.dq ( MEMDB ) |
); |
|
|
/trunk/projects/Mos6502/ip/T6502/sim/run/io_irq_2/test_define
1,28 → 1,5
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
uart_model.rcv_byte(8'h42); |
uart_model.send_byte(8'h65); |
uart_model.rcv_byte(8'h65); |
uart_model.send_byte(8'h37); |
uart_model.rcv_byte(8'h37); |
uart_model.send_byte(8'h20); |
uart_model.rcv_byte(8'h20); |
uart_model.send_byte(8'h41); |
uart_model.rcv_byte(8'h41); |
uart_model.send_byte(8'h45); |
uart_model.rcv_byte(8'h45); |
uart_model.send_byte(8'h25); |
uart_model.rcv_byte(8'h25); |
cg.next(4000); |
cg.exit; |
end |
|
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/sim/run/io_irq_2/dmp_define
1,5 → 1,5
$dumpfile ("TestBench.vcd"); |
$dumpvars (0, TB); |
$dumpvars (0, TB.dut); |
|
|
|
/trunk/projects/Mos6502/ip/T6502/sim/run/tim_2/test_define
1,162 → 1,2
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
fork |
begin |
ps2_model.rcv_byte(8'hff,1'b1); |
cg.next(5000); |
ps2_model.send_byte(8'hfa); |
cg.next(20000); |
ps2_model.send_byte(8'haa); |
cg.next(20000); |
ps2_model.send_byte(8'h00); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hc8,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h64,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h50,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf2,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
cg.next(20000); |
ps2_model.send_byte(8'h03); |
ps2_model.rcv_byte(8'he8,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h03,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf3,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'h28,1'b1); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
ps2_model.rcv_byte(8'hf4,1'b0); |
cg.next(2000); |
ps2_model.send_byte(8'hfa); |
cg.next(20000); |
ps2_model.send_byte(8'h12); |
cg.next(20000); |
ps2_model.send_byte(8'h34); |
cg.next(20000); |
ps2_model.send_byte(8'h56); |
cg.next(20000); |
ps2_model.send_byte(8'h78); |
cg.next(20000); |
ps2_model.send_byte(8'h9a); |
cg.next(20000); |
ps2_model.send_byte(8'hbc); |
cg.next(20000); |
end |
begin |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h41); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h34); |
cg.next(20); |
uart_model.rcv_byte(8'h37); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h4d); |
cg.next(20); |
uart_model.rcv_byte(8'h65); |
cg.next(20); |
uart_model.rcv_byte(8'h6d); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h0d); |
cg.next(20); |
uart_model.rcv_byte(8'h0a); |
cg.next(2000); |
|
uart_model.send_byte(8'h35); |
|
|
|
|
|
|
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h42); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h46); |
cg.next(20); |
uart_model.rcv_byte(8'h31); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h4d); |
cg.next(20); |
uart_model.rcv_byte(8'h65); |
cg.next(20); |
uart_model.rcv_byte(8'h6d); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h20); |
cg.next(20); |
uart_model.rcv_byte(8'h0d); |
cg.next(20); |
uart_model.rcv_byte(8'h0a); |
cg.next(2000); |
|
|
|
|
|
uart_model.send_byte(8'h36); |
cg.next(40000); |
|
uart_model.send_byte(8'h37); |
cg.next(40000); |
|
uart_model.send_byte(8'h38); |
cg.next(40000); |
|
end |
join |
|
cg.exit; |
end |
|
|
|
/trunk/projects/Mos6502/ip/T6502/sim/run/tim_2/dut
1,64 → 1,2
|
assign ext_irq_in = 4'b0000 ; |
assign ext_rdata = 16'h0000 ; |
|
assign gpio_0_in = gpio_0_out ; |
assign gpio_1_in = gpio_1_out ; |
assign cts_pad_in = rts_pad_out; |
|
wire ps2_clk; |
wire ps2_data; |
|
|
|
|
|
iobuftri |
data_tri_buf |
( |
.i ( 1'b0 ), |
.oe ( ps2_data_pad_oe ), |
.o ( ps2_data_pad_in ), |
.pad ( ps2_data ) |
); |
|
|
iobuftri |
clk_tri_buf |
( |
.i ( 1'b0 ), |
.oe ( ps2_clk_pad_oe ), |
.o ( ps2_clk_pad_in ), |
.pad ( ps2_clk ) |
); |
|
|
|
pullup ua0(ps2_clk); |
pullup ua1(ps2_data); |
|
|
ps2_model |
#(.CLKCNT(10'h177)) |
ps2_model |
( |
.clk ( clk ), |
.reset ( reset ), |
.ps2_clk ( ps2_clk ), |
.ps2_data ( ps2_data ) |
|
|
|
); |
|
|
|
|
|
uart_model #(.CLKCNT(4'hc)) |
uart_model ( |
.clk ( clk ), |
.reset ( reset ), |
.txd_in ( txd_pad_out ), |
.rxd_out ( rxd_pad_in ) |
); |
/trunk/projects/Mos6502/ip/T6502/sim/run/irq_2_test/test_define
1,15 → 1,2
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
while (gpio_0_out != 8'h00) cg.next(1); |
cg.reset_off; |
while (gpio_1_out == 8'hff) cg.next(10); |
cg.next(50000); |
cg.exit; |
end |
|
/trunk/projects/Mos6502/ip/T6502/sim/run/irq_2_test/dut
1,71 → 1,2
|
|
|
|
|
|
assign ext_irq_in = 4'b0000 ; |
assign ext_rdata = 16'h0000 ; |
|
assign gpio_0_in = gpio_0_out ; |
assign gpio_1_in = gpio_1_out ; |
assign cts_pad_in = rts_pad_out; |
|
|
|
wire ps2_clk; |
wire ps2_data; |
|
|
|
|
|
iobuftri |
data_tri_buf |
( |
.i ( 1'b0 ), |
.oe ( ps2_data_pad_oe ), |
.o ( ps2_data_pad_in ), |
.pad ( ps2_data ) |
); |
|
|
iobuftri |
clk_tri_buf |
( |
.i ( 1'b0 ), |
.oe ( ps2_clk_pad_oe ), |
.o ( ps2_clk_pad_in ), |
.pad ( ps2_clk ) |
); |
|
|
|
pullup ua0(ps2_clk); |
pullup ua1(ps2_data); |
|
|
ps2_model |
#(.CLKCNT(10'h177)) |
ps2_model |
( |
.clk ( clk ), |
.reset ( reset ), |
.ps2_clk ( ps2_clk ), |
.ps2_data ( ps2_data ) |
|
|
|
); |
|
|
|
|
|
uart_model #(.CLKCNT(4'hc)) |
uart_model ( |
.clk ( clk ), |
.reset ( reset ), |
.txd_in ( txd_pad_out ), |
.rxd_out ( rxd_pad_in ) |
); |
/trunk/projects/Mos6502/ip/T6502/sim/run/inst_2_test/test_define
1,16 → 1,4
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
while (gpio_0_out != 8'h00) cg.next(1); |
while (gpio_1_out != 8'h00) cg.next(1); |
cg.reset_off; |
while (gpio_1_out == 8'h00) cg.next(10); |
cg.next(300); |
cg.exit; |
end |
|
|
|
|
/trunk/projects/Mos6502/ip/T6502/sim/run/inst_2_test/dmp_define
1,5 → 1,5
$dumpfile ("TestBench.vcd"); |
$dumpvars (0, TB); |
$dumpvars (0, TB.dut); |
|
|
|
/trunk/projects/Mos6502/ip/T6502/sim/run/inst_2_test/dut
1,18 → 1,5
|
|
assign ext_irq_in = 4'b0000 ; |
assign ext_rdata = 16'h0000 ; |
|
assign gpio_0_in = gpio_0_out ; |
assign gpio_1_in = gpio_1_out ; |
assign cts_pad_in = rts_pad_out; |
|
|
|
|
assign ps2_data_pad_in = 1'b1; |
assign ps2_clk_pad_in = 1'b1; |
assign rxd_pad_in = 1'b1; |
|
|
|
/trunk/projects/Mos6502/ip/T6502/sim/run/io_poll_2/test_define
1,20 → 1,5
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
uart_model.rcv_byte(8'h42); |
uart_model.send_byte(8'h65); |
uart_model.rcv_byte(8'h67); |
uart_model.send_byte(8'h37); |
uart_model.rcv_byte(8'h39); |
cg.next(4000); |
cg.exit; |
end |
|
|
|
/trunk/projects/Mos6502/ip/T6502_cpu/rtl/xml/T6502_cpu_inst_2_test.xml
0,0 → 1,1210
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
// // |
// Author : John Eaton Ouabache Designworks // |
// // |
// Copyright (C) 2010 Authors and OPENCORES.ORG // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source 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 Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<spirit:component |
xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009 |
http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/index.xsd"> |
|
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502_cpu</spirit:name> |
<spirit:version>inst_2_test</spirit:version> |
|
<spirit:componentGenerators> |
|
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502_cpu</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_cpu_inst_2_test</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.inst_2_test</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
<spirit:componentGenerator> |
<spirit:name>leaf_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_leaf</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>T6502_cpu</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>T6502_cpu_inst_2_test</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
</spirit:componentGenerators> |
|
|
|
<spirit:fileSets> |
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
|
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.inst_2_test</spirit:name> |
<spirit:fileType>verilogSource</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/tb.test_define.inst_2_test</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.rtl</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
|
|
|
</spirit:fileSet> |
</spirit:fileSets> |
|
|
|
|
|
<spirit:model> |
<spirit:views> |
|
<spirit:view> |
<spirit:name>sim</spirit:name> |
<spirit:envIdentifier>::</spirit:envIdentifier> |
<spirit:language>Verilog</spirit:language> |
<spirit:modelName></spirit:modelName> |
<spirit:fileSetRef> |
<spirit:localName>fs-sim</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
|
</spirit:views> |
|
|
|
<spirit:modelParameters> |
<spirit:modelParameter><spirit:value spirit:id="RAM_WORDS">2048</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RAM_ADD">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_WORDS">4096</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_ADD">12</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="ROM_FILE">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_WORDS">ROM_WORDS</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_ADD">ROM_ADD</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PROG_ROM_FILE">ROM_FILE</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="VEC_TABLE">8'hff</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="BOOT_VEC">8'hfc</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STATE_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO">0</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_SIZE">3</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="RX_FIFO_WORDS">8</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="PERIOD">40</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TIMEOUT">200000</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="TEST_NAME">"inst_2_test"</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
<spirit:ports> |
|
|
|
|
</spirit:ports> |
|
</spirit:model> |
|
|
|
<nodes> |
|
<node><name>clk</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>reset</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>enable</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>mem_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>nmi</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
|
<node><name>vec_int</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>prog_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>prog_rom_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>pg0_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>alu_status</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>prog_counter</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>pg0_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>pg0_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>pg0_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>mem_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>mem_rd</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>mem_wr</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>mem_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>stk_push</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>stk_push_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
<node><name>stk_pull</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire></spirit:wire> |
</node> |
|
<node><name>stk_pull_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
|
|
|
|
|
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>write_data</name></node> |
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>addr_pin</name></node> |
|
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>io_rdata</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>boot_data</name></node> |
|
|
|
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>sram_data</name></node> |
|
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>shadow_data</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>din</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>dout_oe</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>nmi_in</name> |
</node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>rx_irq</name> |
</node> |
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>tx_irq</name> |
</node> |
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>ps2_data_avail</name></node> |
|
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>rd_pin</name> |
</node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>timer_irq</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>we_pin</name> |
</node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>halt</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>vector</name></node> |
|
|
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>CS0</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>CSD</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>CSE</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>CSI</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>CSB</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>CSP</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>cpu_pg0_data</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>prog_rom_wr</name></node> |
|
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>core_ram_l_cs</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>core_ram_h_cs</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>pg00_ram_rd</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>pg00_ram_l_wr</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><name>pg00_ram_h_wr</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>io_module_pic_irq_in</name></node> |
<node><spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs><spirit:wire><spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire><name>io_module_vic_irq_in</name></node> |
|
|
|
<node><name>ext_add</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>23</spirit:left><spirit:right>1</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>ext_irq_in</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>3</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>ext_wdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>ext_rdata</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>ext_cs</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>1</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
<node><name>gpio_0_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
<node><name>gpio_1_out</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</node> |
|
|
|
|
</nodes> |
|
|
|
<spirit:adHocConnections> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>clk</spirit:name> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="stack_ram" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="clk"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="clk"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>reset</spirit:name> |
<spirit:internalPortReference spirit:componentRef="cg" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="stack_ram" spirit:portRef="reset"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="reset"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>addr_pin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="addr_pin"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="mem_add" /> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="mem_add" /> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>addr_pin[7:0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="addr" /> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="waddr" /> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>addr_pin[ROM_ADD:1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="raddr" /> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="waddr" /> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>addr_pin[PROG_ROM_ADD:1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="waddr" /> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="raddr" /> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="waddr" /> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>addr_pin[RAM_ADD:1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="waddr" /> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="raddr" /> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="waddr" /> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="raddr" /> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>io_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="io_rdata"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>boot_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="boot_data"/> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>ext_rdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="ext_rdata"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_rdata"/> |
<spirit:externalPortReference spirit:portRef="ext_rdata"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>sram_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="sram_data"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>sram_data[7:0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="rdata" /> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>sram_data[15:8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="rdata" /> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>pg0_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="pg0_data"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>pg0_data[7:0]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="rdata" /> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>pg0_data[15:8]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="rdata" /> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>shadow_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="shadow_data"/> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>din</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="din"/> |
</spirit:adHocConnection> |
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_0_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="gpio_0_out"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="gpio_0_in"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>gpio_1_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="gpio_1_out"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="gpio_1_in"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
<spirit:adHocConnection> |
<spirit:name>txd_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="txd_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="rxd_pad_in"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>1'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="cts_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rts_pad_out</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="rts_pad_out"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_clk_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ps2_clk_pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ps2_clk_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_pad_oe</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ps2_data_pad_oe"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ps2_data_pad_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>CS0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="CS0"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>CSD</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="CSD"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>CSE</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="CSE"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="cs_m"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="cs_mem"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>CSI</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="CSI"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="cs_i"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>CSB</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="CSB"/> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>CSP</spirit:name> |
<spirit:internalPortReference spirit:componentRef="micro_bus" spirit:portRef="CSP"/> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>alu_status</spirit:name> |
<spirit:externalPortReference spirit:portRef="alu_status"/> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="alu_status"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>enable</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="enable" /> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="enable" /> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="wait_n" /> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>prog_counter</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="prog_counter" /> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>prog_counter[PROG_ROM_ADD:1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="raddr" /> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>prog_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="prog_data"/> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="rdata"/> |
</spirit:adHocConnection> |
|
|
|
<spirit:adHocConnection> |
<spirit:name>pg0_add</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="pg0_add"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>pg0_add[7:1]</spirit:name> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="raddr" /> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="waddr" /> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="raddr" /> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="waddr" /> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>pg0_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="pg0_rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>pg0_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="pg0_wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>cpu_pg0_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="pg0_data"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>din</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="mem_rdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>write_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="mem_wdata"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="wdata"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="wdata"/> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="wdata"/> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="wdata"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>we_pin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="mem_wr"/> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="wr"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="wr"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="wr"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rd_pin</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="mem_rd"/> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="rd"/> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="rd"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="rd"/> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="rd"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>vector</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="vec_int"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="vector"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>nmi_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="nmi"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="int_out"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>stk_push</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="stk_push"/> |
<spirit:internalPortReference spirit:componentRef="stack_ram" spirit:portRef="push"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>stk_push_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="stk_push_data"/> |
<spirit:internalPortReference spirit:componentRef="stack_ram" spirit:portRef="din"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>stk_pull</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="stk_pull"/> |
<spirit:internalPortReference spirit:componentRef="stack_ram" spirit:portRef="pop"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>stk_pull_data</spirit:name> |
<spirit:internalPortReference spirit:componentRef="dut" spirit:portRef="stk_pull_data"/> |
<spirit:internalPortReference spirit:componentRef="stack_ram" spirit:portRef="dout"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>prog_rom_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>prog_rom_wdata</spirit:name> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="wdata"/> |
<spirit:internalPortReference spirit:componentRef="sh_prog_rom" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>core_ram_l_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="core_ram_l" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>core_ram_h_cs</spirit:name> |
<spirit:internalPortReference spirit:componentRef="core_ram_h" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>pg00_ram_rd</spirit:name> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="rd"/> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>pg00_ram_l_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>pg00_ram_h_wr</spirit:name> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>rx_irq</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="rx_irq"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>tx_irq</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="tx_irq"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ps2_data_avail</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ps2_data_avail"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>io_module_pic_irq_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="pic_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>io_module_vic_irq_in</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="vic_irq_in"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>timer_irq</spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="timer_irq"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_add</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_add"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_add"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ext_wdata</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_wdata"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_wdata"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ext_ub</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_ub"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_ub"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ext_lb</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_lb"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_lb"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>ext_rd</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_rd"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_rd"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_stb</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_stb"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_stb"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_wr</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_wr"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_wr"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_cs</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_cs"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_cs"/> |
</spirit:adHocConnection> |
|
<spirit:adHocConnection> |
<spirit:name>ext_ack</spirit:name> |
<spirit:externalPortReference spirit:portRef="ext_ack"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="ext_ack"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name></spirit:name> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="pic_irq"/> |
<spirit:internalPortReference spirit:componentRef="io_module" spirit:portRef="pic_nmi"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>1'b1</spirit:name> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="cs"/> |
<spirit:internalPortReference spirit:componentRef="prog_rom" spirit:portRef="rd"/> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_l" spirit:portRef="cs"/> |
<spirit:internalPortReference spirit:componentRef="pg00_ram_h" spirit:portRef="cs"/> |
</spirit:adHocConnection> |
|
|
<spirit:adHocConnection> |
<spirit:name>'b0</spirit:name> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="wr"/> |
<spirit:internalPortReference spirit:componentRef="boot_rom" spirit:portRef="wdata"/> |
</spirit:adHocConnection> |
|
|
|
|
|
|
</spirit:adHocConnections> |
|
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName>dut</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Mos6502</spirit:library> |
<spirit:name>T6502_cpu</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>VEC_TABLE</name><value>VEC_TABLE</value></parameter> |
<parameter><name>BOOT_VEC</name><value>BOOT_VEC</value></parameter> |
<parameter><name>STATE_SIZE</name><value>STATE_SIZE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>io_module</spirit:instanceName> |
|
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>io</spirit:library> |
<spirit:name>io_module</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>BASE_WIDTH</name><value>0</value></parameter> |
<parameter><name>ADDR_WIDTH</name><value>8</value></parameter> |
<parameter><name>TX_FIFO</name><value>TX_FIFO</value></parameter> |
<parameter><name>TX_FIFO_SIZE</name><value>TX_FIFO_SIZE</value></parameter> |
<parameter><name>TX_FIFO_WORDS</name><value>TX_FIFO_WORDS</value></parameter> |
<parameter><name>RX_FIFO</name><value>RX_FIFO</value></parameter> |
<parameter><name>RX_FIFO_SIZE</name><value>RX_FIFO_SIZE</value></parameter> |
<parameter><name>STARTUP</name><value>STARTUP</value></parameter> |
<parameter><name>FONT</name><value>FONT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>micro_bus</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>logic</spirit:library> |
<spirit:name>micro_bus</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>stack_ram</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_lifo</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>16</value></parameter> |
<parameter><name>SIZE</name><value>8</value></parameter> |
<parameter><name>WORDS</name><value>256</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
<spirit:componentInstance> |
<spirit:instanceName>boot_rom</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>16</value></parameter> |
<parameter><name>ADDR</name><value>ROM_ADD</value></parameter> |
<parameter><name>WORDS</name><value>ROM_WORDS</value></parameter> |
<parameter><name>DEFAULT</name><value>16'hffff</value></parameter> |
<parameter><name>INIT_FILE</name><value>ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>prog_rom</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>16</value></parameter> |
<parameter><name>ADDR</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>DEFAULT</name><value>16'hffff</value></parameter> |
<parameter><name>INIT_FILE</name><value>PROG_ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>sh_prog_rom</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>16</value></parameter> |
<parameter><name>ADDR</name><value>PROG_ROM_ADD</value></parameter> |
<parameter><name>WORDS</name><value>PROG_ROM_WORDS</value></parameter> |
<parameter><name>DEFAULT</name><value>16'hffff</value></parameter> |
<parameter><name>INIT_FILE</name><value>PROG_ROM_FILE</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>core_ram_l</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>8</value></parameter> |
<parameter><name>ADDR</name><value>RAM_ADD</value></parameter> |
<parameter><name>WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>DEFAULT</name><value>8'hff</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
<spirit:componentInstance> |
<spirit:instanceName>core_ram_h</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>8</value></parameter> |
<parameter><name>ADDR</name><value>RAM_ADD</value></parameter> |
<parameter><name>WORDS</name><value>RAM_WORDS</value></parameter> |
<parameter><name>DEFAULT</name><value>8'hff</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>pg00_ram_l</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>8</value></parameter> |
<parameter><name>ADDR</name><value>7</value></parameter> |
<parameter><name>WORDS</name><value>128</value></parameter> |
<parameter><name>DEFAULT</name><value>8'hff</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>pg00_ram_h</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>WIDTH</name><value>8</value></parameter> |
<parameter><name>ADDR</name><value>7</value></parameter> |
<parameter><name>WORDS</name><value>128</value></parameter> |
<parameter><name>DEFAULT</name><value>8'hff</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
<spirit:componentInstance> |
<spirit:instanceName>cg</spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>Testbench</spirit:library> |
<spirit:name>clock_gen</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
<parameters> |
<parameter><name>PERIOD</name><value>PERIOD</value></parameter> |
<parameter><name>TIMEOUT</name><value>TIMEOUT</value></parameter> |
</parameters> |
</spirit:componentInstance> |
|
|
|
|
|
|
</spirit:componentInstances> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</spirit:component> |
/trunk/projects/Mos6502/ip/T6502_cpu/rtl/xml/T6502_cpu.xml
120,6 → 120,13
<spirit:wire><spirit:direction>input</spirit:direction></spirit:wire> |
</spirit:port> |
|
<spirit:port><name>vec_int</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
<spirit:vector><spirit:left>7</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>prog_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
126,6 → 133,7
<spirit:vector><spirit:left>15</spirit:left><spirit:right>0</spirit:right></spirit:vector></spirit:wire> |
</spirit:port> |
|
|
<spirit:port><name>pg0_data</name> |
<spirit:wireTypeDefs><spirit:wireTypeDef><spirit:typeName>wire</spirit:typeName></spirit:wireTypeDef></spirit:wireTypeDefs> |
<spirit:wire><spirit:direction>input</spirit:direction> |
/trunk/projects/Mos6502/ip/T6502_cpu/rtl/verilog/top.rtl
0,0 → 1,24
|
|
|
|
//============================================================================= |
// Rtl Glue Logic |
//============================================================================= |
|
assign cpu_pg0_data = pg0_add[0]?pg0_data[15:8]:pg0_data[7:0]; |
assign prog_rom_wr = we_pin && CSP; |
assign prog_rom_wdata = {write_data,write_data}; |
assign core_ram_l_cs = CSD && (!addr_pin[0]); |
assign core_ram_h_cs = CSD && ( addr_pin[0]); |
assign pg00_ram_rd = pg0_rd||(CS0 && rd_pin); |
assign pg00_ram_l_wr = (pg0_wr||(CS0 && we_pin)) && (!pg0_add[0]); |
assign pg00_ram_h_wr = (pg0_wr||(CS0 && we_pin)) && ( pg0_add[0]); |
assign io_module_pic_irq_in = {ext_irq_in[2:0],ps2_data_avail,tx_irq,rx_irq,timer_irq}; |
assign io_module_vic_irq_in = {ext_irq_in[2:0],ps2_data_avail,tx_irq,rx_irq,timer_irq}; |
|
//============================================================================= |
// |
//============================================================================= |
|
|
/trunk/projects/Mos6502/ip/T6502_cpu/rtl/verilog/tb.test_define.inst_2_test
0,0 → 1,16
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
while (gpio_0_out != 8'h00) cg.next(1); |
while (gpio_1_out != 8'h00) cg.next(1); |
cg.reset_off; |
while (gpio_1_out == 8'h00) cg.next(10); |
cg.next(300); |
cg.exit; |
end |
|
/trunk/projects/Mos6502/ip/T6502_cpu/soc/design.soc
27,21 → 27,47
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<design> |
|
<components> |
|
|
<component> |
|
<name>T6502_cpu</name> |
<variant>T6502_cpu</variant> |
<version></version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
<component> |
<name>T6502_cpu</name> |
<variant>T6502_cpu_inst_2_test</variant> |
<version>inst_2_test</version> |
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
|
|
|
</components> |
|
|
|
<sims> |
<sim> |
<name>inst_2_test</name> |
<variant>T6502_cpu</variant> |
<variant>T6502_cpu_inst_2_test</variant> |
<parameters> |
<parameter><name>RAM_WORDS</name><value>2048</value></parameter> |
<parameter><name>RAM_ADD</name><value>11</value></parameter> |
51,21 → 77,12
<parameter><name>PROG_ROM_WORDS</name><value>2048</value></parameter> |
<parameter><name>PROG_ROM_ADD</name><value>11</value></parameter> |
<parameter><name>PROG_ROM_FILE</name><value>"../../../../../../Mos6502/sw/inst_2_test/inst_2_test.abs16"</value></parameter> |
<parameter><name>TIMEOUT</name><value>60000</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
</sim> |
</sims> |
|
<code_coverage> |
<cover> |
<name>T6502_cpu</name> |
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
|
|
|
</component> |
</components> |
</design> |
/trunk/projects/Mos6502/ip/T6502_cpu/sim/run/inst_2_test/test_define
1,13 → 1,2
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display(" Test Start"); |
$display(" ==================================================="); |
$display(" "); |
cg.next(20); |
cg.reset_off; |
cg.next(3000); |
cg.exit; |
end |
|
|
/trunk/projects/logic/bin/repeater
0,0 → 1,133
eval 'exec `which perl` -S $0 ${1+"$@"}' |
if 0; |
|
#/**********************************************************************/ |
#/* */ |
#/* ------- */ |
#/* / SOC \ */ |
#/* / GEN \ */ |
#/* / TOOL \ */ |
#/* ============== */ |
#/* | | */ |
#/* |____________| */ |
#/* */ |
#/* */ |
#/* */ |
#/* */ |
#/* Author(s): */ |
#/* - John Eaton, jt_eaton@opencores.org */ |
#/* */ |
#/**********************************************************************/ |
#/* */ |
#/* Copyright (C) <2010> <Ouabache Design Works> */ |
#/* */ |
#/* This source file may be used and distributed without */ |
#/* restriction provided that this copyright statement is not */ |
#/* removed from the file and that any derivative work contains */ |
#/* the original copyright notice and the associated disclaimer. */ |
#/* */ |
#/* This source file is free software; you can redistribute it */ |
#/* and/or modify it under the terms of the GNU Lesser General */ |
#/* Public License as published by the Free Software Foundation; */ |
#/* either version 2.1 of the License, or (at your option) any */ |
#/* later version. */ |
#/* */ |
#/* This source 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 Lesser General Public License for more */ |
#/* details. */ |
#/* */ |
#/* You should have received a copy of the GNU Lesser General */ |
#/* Public License along with this source; if not, download it */ |
#/* from http://www.opencores.org/lgpl.shtml */ |
#/* */ |
#/**********************************************************************/ |
|
# ToDO: add handling unaligned words |
|
|
############################################################################ |
# General PERL config |
############################################################################ |
use Getopt::Long; |
use English; |
use File::Basename; |
|
$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE. |
|
|
############################################################################ |
### Process the options |
############################################################################ |
|
Getopt::Long::config("require_order", "prefix=-"); |
GetOptions("h" |
) || die "(use '$program_name -h' for help)"; |
|
|
############################################################################## |
## Help option |
############################################################################## |
if ( ($opt_h eq "1") ) |
{ print "\n type test filename ( no extension)"; |
print "\n"; |
exit 1; |
} |
|
|
############################################################################## |
## |
############################################################################## |
|
use Cwd; |
use XML::LibXML; |
|
$home = cwd(); |
|
|
|
|
|
############################################################################# |
## |
## |
############################################################################# |
|
my $prefix = $ARGV[0]; |
my $component = $ARGV[1]; |
my $variant = $ARGV[2]; |
print "Repeater\n" ; |
|
my $index =0; |
|
while($ARGV[$index]) |
{ |
my $arg = $ARGV[$index]; |
$index = $index +1; |
print " $index -- $arg \n" ; |
|
} |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trunk/projects/logic/bin/repeater
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/projects/logic/ip/serial_rcvr/rtl/xml/serial_rcvr_default.xml
===================================================================
--- trunk/projects/logic/ip/serial_rcvr/rtl/xml/serial_rcvr_default.xml (nonexistent)
+++ trunk/projects/logic/ip/serial_rcvr/rtl/xml/serial_rcvr_default.xml (revision 88)
@@ -0,0 +1,357 @@
+
+
+
+
+opencores.org
+logic
+serial_rcvr
+default
+
+
+
+
+
+
+
+
+
+ verilog_maker
+ 104.0
+ none
+ ./tools/bin/build_verilog
+ design
+
+
+ component
+ serial_rcvr
+
+
+ variant
+ serial_rcvr_default
+
+
+ destination
+ ../verilog/top.default
+
+
+
+
+
+
+
+ leaf_maker
+ 105.0
+ none
+ ./tools/bin/build_leaf
+ design
+
+
+ component
+ serial_rcvr
+
+
+ variant
+ serial_rcvr_default
+
+
+
+
+
+
+
+
+
+
+ fs-sim
+
+
+
+ ../verilog/top.default
+ verilogSourceTop
+
+
+
+
+ ../verilog/top.ext
+ verilogFragment
+
+
+
+
+ ../verilog/tb.test_define.default
+ verilogFragment
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sim
+ ::
+ Verilog
+
+
+ fs-sim
+
+
+
+
+
+
+
+
+
+8
+4
+4'b0111
+0
+4
+16
+40
+400000
+
+
+
+
+
+
+
+
+
+
+
+clk
+wire
+
+
+
+reset
+wire
+
+
+
+edge_enable
+wire
+
+
+
+parity_enable
+wire
+
+
+
+parity_type
+wire
+
+
+
+parity_force
+wire
+
+
+
+start_value
+wire
+
+
+
+stop_value
+wire
+
+
+
+pad_in
+wire
+
+
+
+rcv_stb
+wire
+
+
+
+data_out
+wire
+
+WIDTH-1 0
+
+
+parity_error
+wire
+
+
+
+stop_error
+wire
+
+
+
+data_avail
+wire
+
+
+
+
+
+
+
+
+
+ clk
+
+
+
+
+
+ reset
+
+
+
+
+
+ edge_enable
+
+
+
+
+ parity_enable
+
+
+
+
+ parity_type
+
+
+
+
+ parity_force
+
+
+
+
+ start_value
+
+
+
+
+ pad_in
+
+
+
+
+ rcv_stb
+
+
+
+
+ data_out
+
+
+
+
+ parity_error
+
+
+
+
+ stop_error
+
+
+
+
+ data_avail
+
+
+
+
+
+
+
+
+
+
+
+
+dut
+
+opencores.org
+logic
+serial_rcvr
+
+
+
+ WIDTH WIDTH
+ SIZE SIZE
+ SAMPLE SAMPLE
+ RX_FIFO RX_FIFO
+ RX_FIFO_SIZE RX_FIFO_SIZE
+ RX_FIFO_WORDS RX_FIFO_WORDS
+
+
+
+
+
+cg
+
+opencores.org
+Testbench
+clock_gen
+
+
+
+ PERIOD PERIOD
+ TIMEOUT TIMEOUT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/projects/logic/ip/serial_rcvr/rtl/verilog/tb.test_define.default
===================================================================
--- trunk/projects/logic/ip/serial_rcvr/rtl/verilog/tb.test_define.default (nonexistent)
+++ trunk/projects/logic/ip/serial_rcvr/rtl/verilog/tb.test_define.default (revision 88)
@@ -0,0 +1,57 @@
+
+
+
+initial
+ begin
+ while(1)
+ begin
+ cg.next(20);
+ R_edge_enable = 1'b1;
+ cg.next(1);
+ R_edge_enable = 1'b0;
+ end
+ end
+
+
+
+initial
+ begin
+ $display(" ");
+ $display(" ===================================================");
+ $display("%t Start Test ",$realtime );
+ $display(" ===================================================");
+ $display(" ");
+
+ R_edge_enable = 1'b0;
+ R_parity_enable = 1'b1;
+ R_parity_type = 1'b0;
+ R_parity_force = 1'b0;
+ R_start_value = 1'b0;
+ R_stop_value = 1'b1;
+ R_pad_in = 1'b1;
+ R_rcv_stb = 1'b0;
+
+ cg.next(12);
+ cg.reset_off;
+ cg.next(88);
+
+ $display("%t Test enabled ",$realtime );
+ R_parity_enable = 1'b1;
+ R_pad_in = 1'b0;
+ cg.next(1800);
+ R_pad_in = 1'b1;
+ cg.next(400);
+ R_pad_in = 1'b0;
+
+ cg.next(2000);
+
+ R_pad_in = 1'b1;
+
+ cg.next(9000);
+
+ cg.exit;
+end
+
+
+
+
Index: trunk/projects/logic/ip/serial_rcvr/rtl/verilog/top.ext
===================================================================
--- trunk/projects/logic/ip/serial_rcvr/rtl/verilog/top.ext (nonexistent)
+++ trunk/projects/logic/ip/serial_rcvr/rtl/verilog/top.ext (revision 88)
@@ -0,0 +1,22 @@
+
+
+
+
+reg R_edge_enable ;
+reg R_parity_enable ;
+reg R_parity_type ;
+reg R_parity_force ;
+reg R_start_value ;
+reg R_stop_value ;
+reg R_pad_in ;
+reg R_rcv_stb ;
+
+
+assign edge_enable = R_edge_enable ;
+assign parity_enable = R_parity_enable ;
+assign parity_type = R_parity_type ;
+assign parity_force = R_parity_force ;
+assign start_value = R_start_value ;
+assign stop_value = R_stop_value ;
+assign pad_in = R_pad_in ;
+assign rcv_stb = R_rcv_stb ;
Index: trunk/projects/logic/ip/serial_rcvr/soc/design.soc
===================================================================
--- trunk/projects/logic/ip/serial_rcvr/soc/design.soc (revision 87)
+++ trunk/projects/logic/ip/serial_rcvr/soc/design.soc (revision 88)
@@ -27,40 +27,50 @@
// from http://www.opencores.org/lgpl.shtml //
// //
-->
+
+
+
+
-
-
serial_rcvr
serial_rcvr
+
+
+ serial_rcvr
+ TB.dut
+
+
+
-
-
-
-
-default
-serial_rcvr
-
-"../../bench/verilog/models/clock_gen.v"
-
-
-
-
+
+serial_rcvr
+serial_rcvr_default
+default
serial_rcvr
- TB.dut
+ TB.dut.dut
+
+
+
+
+default
+serial_rcvr_default
+
-
-
+
+
+
+
/trunk/projects/logic/ip/serial_rcvr/sim/run/default/test_define
1,57 → 1,3
|
|
|
initial |
begin |
while(1) |
begin |
cg.next(20); |
R_edge_enable = 1'b1; |
cg.next(1); |
R_edge_enable = 1'b0; |
end |
end |
|
|
|
initial |
begin |
$display(" "); |
$display(" ==================================================="); |
$display("%t Start Test ",$realtime ); |
$display(" ==================================================="); |
$display(" "); |
|
R_edge_enable = 1'b0; |
R_parity_enable = 1'b1; |
R_parity_type = 1'b0; |
R_parity_force = 1'b0; |
R_start_value = 1'b0; |
R_stop_value = 1'b1; |
R_pad_in = 1'b1; |
R_rcv_stb = 1'b0; |
|
cg.next(12); |
cg.reset_off; |
cg.next(88); |
|
$display("%t Test enabled ",$realtime ); |
R_parity_enable = 1'b1; |
R_pad_in = 1'b0; |
cg.next(1800); |
R_pad_in = 1'b1; |
cg.next(400); |
R_pad_in = 1'b0; |
|
cg.next(2000); |
|
R_pad_in = 1'b1; |
|
cg.next(9000); |
|
cg.exit; |
end |
|
|
|
|
/trunk/projects/logic/ip/serial_rcvr/sim/run/default/dut
1,22 → 1,2
|
|
|
|
reg R_edge_enable ; |
reg R_parity_enable ; |
reg R_parity_type ; |
reg R_parity_force ; |
reg R_start_value ; |
reg R_stop_value ; |
reg R_pad_in ; |
reg R_rcv_stb ; |
|
|
assign edge_enable = R_edge_enable ; |
assign parity_enable = R_parity_enable ; |
assign parity_type = R_parity_type ; |
assign parity_force = R_parity_force ; |
assign start_value = R_start_value ; |
assign stop_value = R_stop_value ; |
assign pad_in = R_pad_in ; |
assign rcv_stb = R_rcv_stb ; |
/trunk/projects/logic/ip/uart/soc/design.soc
27,6 → 27,9
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
|
<designs> |
|
<components> |
<component> |
|
33,12 → 36,20
<name>uart</name> |
<variant>uart</variant> |
<version></version> |
<code_coverage> |
<cover> |
<name>uart</name> |
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
|
</component> |
|
</components> |
|
|
<sims> |
|
<sims> |
<sim> |
<name>default</name> |
<variant>uart</variant> |
58,6 → 69,7
<model>"../../bench/verilog/models/io_probe.v"</model> |
</models> |
</sim> |
|
<sim> |
<name>divide</name> |
<variant>uart</variant> |
64,7 → 76,6
<parameters> |
<parameter><name>DIV</name><value>1</value></parameter> |
<parameter><name>TIMEOUT</name><value>3000000</value></parameter> |
|
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
73,15 → 84,11
<model>"../../bench/verilog/models/io_probe.v"</model> |
</models> |
</sim> |
|
</sims> |
|
|
<code_coverage> |
<cover> |
<name>uart</name> |
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
</designs> |
|
|
|
88,6 → 95,4
|
|
|
</component> |
|
</components> |
/trunk/projects/logic/ip/vga_char_ctrl/rtl/xml/vga_char_ctrl.xml
46,6 → 46,31
<spirit:componentGenerators> |
|
<spirit:componentGenerator> |
<spirit:name>verilog_maker</spirit:name> |
<spirit:phase>104.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
<spirit:generatorExe>./tools/bin/build_verilog</spirit:generatorExe> |
<spirit:vendorExtensions><generatorType>design</generatorType></spirit:vendorExtensions> |
<spirit:parameters> |
<spirit:parameter> |
<spirit:name>component</spirit:name> |
<spirit:value>vga_char_ctrl</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>variant</spirit:name> |
<spirit:value>vga_char_ctrl</spirit:value> |
</spirit:parameter> |
<spirit:parameter> |
<spirit:name>destination</spirit:name> |
<spirit:value>../verilog/top.xxx</spirit:value> |
</spirit:parameter> |
</spirit:parameters> |
</spirit:componentGenerator> |
|
|
|
|
<spirit:componentGenerator> |
<spirit:name>leaf_maker</spirit:name> |
<spirit:phase>105.0</spirit:phase> |
<spirit:apiType>none</spirit:apiType> |
88,6 → 113,17
<spirit:modelParameter><spirit:value spirit:id="STARTUP">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="FONT">"NONE"</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="CHARACTER_DECODE_DELAY">4</spirit:value></spirit:modelParameter> |
|
<spirit:modelParameter><spirit:value spirit:id="H_ACTIVE">640</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="H_FRONT_PORCH">16</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="H_SYNCH">96</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="H_BACK_PORCH">48</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="H_TOTAL">800</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="V_ACTIVE">480</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="V_FRONT_PORCH">11</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="V_SYNCH">2</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="V_BACK_PORCH">31</spirit:value></spirit:modelParameter> |
<spirit:modelParameter><spirit:value spirit:id="V_TOTAL">524</spirit:value></spirit:modelParameter> |
</spirit:modelParameters> |
|
<spirit:ports> |
183,25 → 219,10
|
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName></spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
|
|
|
<spirit:fileSets> |
<spirit:fileSet> |
<spirit:name>fs-sim</spirit:name> |
208,14 → 229,6
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../variants/vga_char_ctrl/defines.v</spirit:name> |
<spirit:fileType>verilogInclude</spirit:fileType> |
</spirit:file> |
|
|
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top</spirit:name> |
<spirit:fileType>verilogSourceTop</spirit:fileType> |
</spirit:file> |
243,6 → 256,14
<spirit:name>../verilog/video_out</spirit:name> |
<spirit:fileType>verilogSource</spirit:fileType> |
</spirit:file> |
|
<spirit:file> |
<spirit:logicalName></spirit:logicalName> |
<spirit:name>../verilog/top.body</spirit:name> |
<spirit:fileType>verilogFragment</spirit:fileType> |
</spirit:file> |
|
|
</spirit:fileSet> |
|
|
250,4 → 271,20
</spirit:fileSets> |
|
|
<spirit:componentInstances> |
|
<spirit:componentInstance> |
<spirit:instanceName></spirit:instanceName> |
<spirit:componentRef> |
<spirit:vendor>opencores.org</spirit:vendor> |
<spirit:library>cde</spirit:library> |
<spirit:name>cde_sram</spirit:name> |
<spirit:version></spirit:version> |
</spirit:componentRef> |
</spirit:componentInstance> |
|
|
</spirit:componentInstances> |
|
|
</spirit:component> |
/trunk/projects/logic/ip/vga_char_ctrl/rtl/verilog/char_display
1,7 → 1,9
|
module `VARIANT`CHAR_DISPLAY |
#(parameter STARTUP="NONE", |
parameter FONT="NONE") |
parameter FONT="NONE", |
parameter H_ACTIVE=0 |
) |
|
( |
input wire clk, |
28,7 → 30,7
|
always @ (*) |
begin |
char_read_addr = (char_line[6:0] * `H_ACTIVE / 8 ) + char_column[6:0]; |
char_read_addr = (char_line[6:0] * H_ACTIVE / 8 ) + char_column[6:0]; |
end |
|
|
/trunk/projects/logic/ip/vga_char_ctrl/rtl/verilog/svga_timing_generation
2,21 → 2,31
//--------------------------------------------------- |
|
module `VARIANT`SVGA_TIMING_GENERATION |
#(parameter CHARACTER_DECODE_DELAY=4) |
#(parameter CHARACTER_DECODE_DELAY=4, |
parameter H_ACTIVE=640, |
parameter H_FRONT_PORCH=16, |
parameter H_SYNCH=96, |
parameter H_BACK_PORCH=48, |
parameter H_TOTAL=800, |
parameter V_ACTIVE=480, |
parameter V_FRONT_PORCH=11, |
parameter V_SYNCH=2, |
parameter V_BACK_PORCH=31, |
parameter V_TOTAL=524 |
) |
( |
|
input clk, // pixel clock |
input reset, // reset |
output reg h_synch, // horizontal synch for VGA connector |
output reg v_synch, // vertical synch for VGA connector |
output reg blank, // composite blanking |
output reg [10:0] pixel_count, // counts the pixels in a line |
output reg [9:0] line_count, // counts the display lines |
output reg [2:0] subchar_pixel, // pixel position within the character |
output reg [2:0] subchar_line, // identifies the line number within a character block |
output reg [6:0] char_column, // character number on the current line |
output reg [6:0] char_line // line number on the screen |
|
input clk, // pixel clock |
input reset, // reset |
output reg h_synch, // horizontal synch for VGA connector |
output reg v_synch, // vertical synch for VGA connector |
output reg blank, // composite blanking |
output reg [10:0] pixel_count, // counts the pixels in a line |
output reg [9:0] line_count, // counts the display lines |
output reg [2:0] subchar_pixel,// pixel position within the character |
output reg [2:0] subchar_line, // identifies the line number within a character block |
output reg [6:0] char_column, // character number on the current line |
output reg [6:0] char_line // line number on the screen |
); |
|
|
40,7 → 50,7
// on reset set pixel counter to 0 |
pixel_count <= 11'd0; |
|
else if (pixel_count == (`H_TOTAL - 1)) |
else if (pixel_count == (H_TOTAL - 1)) |
// last pixel in the line, so reset pixel counter |
pixel_count <= 11'd0; |
|
54,11 → 64,11
// on reset remove h_synch |
h_synch <= 1'b0; |
|
else if (pixel_count == (`H_ACTIVE + `H_FRONT_PORCH - 1)) |
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)) |
else if (pixel_count == (H_TOTAL - H_BACK_PORCH - 1)) |
// end of h_synch |
h_synch <= 1'b0; |
end |
69,11 → 79,11
// on reset set line counter to 0 |
line_count <= 10'd0; |
|
else if ((line_count == (`V_TOTAL - 1)) & (pixel_count == (`H_TOTAL - 1))) |
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))) |
else if ((pixel_count == (H_TOTAL - 1))) |
// last pixel but not last line, so increment line counter |
line_count <= line_count + 1; |
end |
84,13 → 94,13
// on reset remove v_synch |
v_synch <= 1'b0; |
|
else if ((line_count == (`V_ACTIVE + `V_FRONT_PORCH - 1) & |
(pixel_count == `H_TOTAL - 1))) |
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))) |
else if ((line_count == (V_TOTAL - V_BACK_PORCH - 1)) & |
(pixel_count == (H_TOTAL - 1))) |
// end of v_synch |
v_synch <= 1'b0; |
end |
104,11 → 114,11
// on reset remove the h_blank |
h_blank <= 1'b0; |
|
else if (pixel_count == (`H_ACTIVE -2)) |
else if (pixel_count == (H_ACTIVE -2)) |
// start of HBI |
h_blank <= 1'b1; |
|
else if (pixel_count == (`H_TOTAL -2)) |
else if (pixel_count == (H_TOTAL -2)) |
// end of HBI |
h_blank <= 1'b0; |
end |
122,13 → 132,13
// on reset remove v_blank |
v_blank <= 1'b0; |
|
else if ((line_count == (`V_ACTIVE - 1) & |
(pixel_count == `H_TOTAL - 2))) |
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))) |
else if ((line_count == (V_TOTAL - 1)) & |
(pixel_count == (H_TOTAL - 2))) |
// end of VBI |
v_blank <= 1'b0; |
end |
168,11 → 178,11
// 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)) |
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) |
else if (pixel_count == (H_TOTAL - 1) - CHARACTER_DECODE_DELAY) |
// increment line counter |
subchar_line <= line_count + 1; |
end |
183,7 → 193,7
// 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)) |
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; |
|
226,7 → 236,7
char_line <= 7'd0; |
end |
|
else if (pixel_count == ((`H_TOTAL - 1) - CHARACTER_DECODE_DELAY)) begin |
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]; |
243,11 → 253,11
if (reset) |
reset_char_column <= 1'b0; |
|
else if (pixel_count == ((`H_ACTIVE - 2) - CHARACTER_DECODE_DELAY)) |
else if (pixel_count == ((H_ACTIVE - 2) - CHARACTER_DECODE_DELAY)) |
// start of HBI |
reset_char_column <= 1'b1; |
|
else if (pixel_count == ((`H_TOTAL - 1) - CHARACTER_DECODE_DELAY)) |
else if (pixel_count == ((H_TOTAL - 1) - CHARACTER_DECODE_DELAY)) |
// end of HBI |
reset_char_column <= 1'b0; |
end |
256,13 → 266,13
if (reset) |
reset_char_line <= 1'b0; |
|
else if ((line_count == (`V_ACTIVE - 1)) & |
(pixel_count == ((`H_ACTIVE - 1) - CHARACTER_DECODE_DELAY))) |
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))) |
else if ((line_count == (V_TOTAL - 1)) & |
(pixel_count == ((H_TOTAL - 1) - CHARACTER_DECODE_DELAY))) |
// end of VBI |
reset_char_line <= 1'b0; |
end |
/trunk/projects/logic/ip/vga_char_ctrl/rtl/verilog/top
20,7 → 20,17
module `VARIANT |
#(parameter STARTUP="NONE", |
parameter FONT="NONE", |
parameter CHARACTER_DECODE_DELAY=4 |
parameter CHARACTER_DECODE_DELAY=4, |
parameter H_ACTIVE=640, |
parameter H_FRONT_PORCH=16, |
parameter H_SYNCH=96, |
parameter H_BACK_PORCH=48, |
parameter H_TOTAL=800, |
parameter V_ACTIVE=480, |
parameter V_FRONT_PORCH=11, |
parameter V_SYNCH=2, |
parameter V_BACK_PORCH=31, |
parameter V_TOTAL=524 |
) |
( |
|
59,7 → 69,6
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 |
|
wire pixel_on; |
wire cursor_on; |
|
66,23 → 75,13
|
|
|
|
always@(posedge clk) |
if(reset) address <= 14'b00000000000000; |
else |
if(add_l_load) address[7:0] <= wdata; |
else |
if(add_h_load) address[13:8] <= wdata[5:0]; |
else |
if(ascii_load) address <= address+ 14'b0000000000001; |
else address <= address; |
|
|
|
// instantiate the character generator |
`VARIANT`CHAR_DISPLAY |
#(.STARTUP(STARTUP), |
.FONT(FONT)) |
.FONT(FONT), |
.H_ACTIVE(H_ACTIVE)) |
CHAR_DISPLAY |
( |
.clk ( clk ), |
100,7 → 99,18
|
// instantiate the video timing generator |
`VARIANT`SVGA_TIMING_GENERATION |
#(.CHARACTER_DECODE_DELAY(CHARACTER_DECODE_DELAY)) |
#(.CHARACTER_DECODE_DELAY(CHARACTER_DECODE_DELAY), |
.H_ACTIVE(H_ACTIVE), |
.H_FRONT_PORCH(H_FRONT_PORCH), |
.H_SYNCH(H_SYNCH), |
.H_BACK_PORCH(H_BACK_PORCH), |
.H_TOTAL(H_TOTAL), |
.V_ACTIVE(V_ACTIVE), |
.V_FRONT_PORCH(V_FRONT_PORCH), |
.V_SYNCH(V_SYNCH), |
.V_BACK_PORCH(V_BACK_PORCH), |
.V_TOTAL(V_TOTAL) |
) |
SVGA_TIMING_GENERATION |
( |
.clk ( clk ), |
138,7 → 148,18
); |
|
|
|
|
always@(posedge clk) |
if(reset) address <= 14'b00000000000000; |
else |
if(add_l_load) address[7:0] <= wdata; |
else |
if(add_h_load) address[13:8] <= wdata[5:0]; |
else |
if(ascii_load) address <= address+ 14'b0000000000001; |
else address <= address; |
|
|
|
endmodule // MAIN |
/trunk/projects/logic/ip/vga_char_ctrl/rtl/verilog/top.body
0,0 → 1,124
//---------------------------------------------------------------------------- |
// 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 <http://www.gnu.org/licenses/>. |
// |
//---------------------------------------------------------------------------- |
|
|
// 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 lin |
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 |
wire pixel_on; |
wire cursor_on; |
|
|
|
|
|
|
// instantiate the character generator |
`VARIANT`CHAR_DISPLAY |
#(.STARTUP(STARTUP), |
.FONT(FONT), |
.H_ACTIVE(H_ACTIVE)) |
CHAR_DISPLAY |
( |
.clk ( clk ), |
.reset ( reset ), |
.char_column ( char_column ), |
.char_line ( char_line ), |
.subchar_line ( subchar_line ), |
.subchar_pixel ( subchar_pixel ), |
.pixel_on ( pixel_on ), |
.cursor_on ( cursor_on ), |
.char_write_addr ( address ), |
.char_write_data ( wdata ), |
.char_write_enable ( ascii_load ) |
); |
|
// instantiate the video timing generator |
`VARIANT`SVGA_TIMING_GENERATION |
#(.CHARACTER_DECODE_DELAY(CHARACTER_DECODE_DELAY), |
.H_ACTIVE(H_ACTIVE), |
.H_FRONT_PORCH(H_FRONT_PORCH), |
.H_SYNCH(H_SYNCH), |
.H_BACK_PORCH(H_BACK_PORCH), |
.H_TOTAL(H_TOTAL), |
.V_ACTIVE(V_ACTIVE), |
.V_FRONT_PORCH(V_FRONT_PORCH), |
.V_SYNCH(V_SYNCH), |
.V_BACK_PORCH(V_BACK_PORCH), |
.V_TOTAL(V_TOTAL) |
) |
SVGA_TIMING_GENERATION |
( |
.clk ( clk ), |
.reset ( reset ), |
.h_synch ( h_synch ), |
.v_synch ( v_synch ), |
.blank ( blank ), |
.pixel_count ( pixel_count ), |
.line_count ( line_count ), |
.subchar_pixel ( subchar_pixel), |
.subchar_line ( subchar_line ), |
.char_column ( char_column ), |
.char_line ( char_line ) |
); |
|
// instantiate the video output mux |
`VARIANT`VIDEO_OUT |
VIDEO_OUT |
( |
.clk ( clk ), |
.reset ( reset ), |
.h_synch ( h_synch ), |
.v_synch ( v_synch ), |
.blank ( blank ), |
.char_color ( char_color ), |
.back_color ( back_color ), |
.cursor_color ( cursor_color ), |
.pixel_on ( pixel_on ), |
.cursor_on ( cursor_on ), |
.hsync_n_pad_out ( hsync_n_pad_out ), |
.vsync_n_pad_out ( vsync_n_pad_out ), |
.vga_red_pad_out ( vga_red_pad_out ), |
.vga_green_pad_out ( vga_green_pad_out ), |
.vga_blue_pad_out ( vga_blue_pad_out ) |
); |
|
|
|
|
always@(posedge clk) |
if(reset) address <= 14'b00000000000000; |
else |
if(add_l_load) address[7:0] <= wdata; |
else |
if(add_h_load) address[13:8] <= wdata[5:0]; |
else |
if(ascii_load) address <= address+ 14'b0000000000001; |
else address <= address; |
|
|
|
|
/trunk/projects/logic/ip/vga_char_ctrl/soc/design.soc
27,55 → 27,51
// from http://www.opencores.org/lgpl.shtml // |
// // |
--> |
<designs> |
|
<components> |
<component> |
|
|
<component> |
<name>vga_char_ctrl</name> |
<variant>vga_char_ctrl_600x432</variant> |
<version>600x432</version> |
<variant>vga_char_ctrl</variant> |
<version></version> |
<code_coverage> |
<cover> |
<name>vga_char_ctrl</name> |
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
</component> |
|
</components> |
|
|
|
<sims> |
|
|
<sims> |
<sim> |
<name>default_600x432</name> |
<variant>vga_char_ctrl_600x432</variant> |
<variant>vga_char_ctrl</variant> |
<parameters> |
<parameter><name>TIMEOUT</name><value>2000000</value></parameter> |
<parameter><name>H_ACTIVE</name><value>600</value></parameter> |
<parameter><name>H_FRONT_PORCH</name><value>16</value></parameter> |
<parameter><name>H_SYNCH</name><value>96</value></parameter> |
<parameter><name>H_BACK_PORCH</name><value>48</value></parameter> |
<parameter><name>H_TOTAL</name><value>800</value></parameter> |
<parameter><name>V_ACTIVE</name><value>432</value></parameter> |
<parameter><name>V_FRONT_PORCH</name><value>11</value></parameter> |
<parameter><name>V_SYNCH</name><value>2</value></parameter> |
<parameter><name>V_BACK_PORCH</name><value>31</value></parameter> |
<parameter><name>V_TOTAL</name><value>524</value></parameter> |
</parameters> |
<models> |
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
</sim> |
</sims> |
|
<code_coverage> |
<cover> |
<name>vga_char_ctrl_600x432</name> |
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
|
|
|
|
</component> |
|
<component> |
|
|
<name>vga_char_ctrl</name> |
<variant>vga_char_ctrl</variant> |
<version></version> |
|
|
|
|
<sims> |
<sim> |
<name>default</name> |
<variant>vga_char_ctrl</variant> |
86,19 → 82,10
<model>"../../bench/verilog/models/clock_gen.v"</model> |
</models> |
</sim> |
</sims> |
|
<code_coverage> |
<cover> |
<name>vga_char_ctrl</name> |
<componentInstance>TB.dut</componentInstance> |
</cover> |
</code_coverage> |
|
</sims> |
|
|
|
|
|
</component> |
</components> |
</designs> |
/trunk/projects/logic/ip/vga_char_ctrl/sim/run/default/wave.sav
1,11 → 1,17
[timestart] 0 |
[size] 1613 999 |
[pos] -852 -467 |
*-11.000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 |
[pos] 28 -108 |
*-25.000000 11000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 |
[treeopen] TB. |
[treeopen] TB.dut. |
@28 |
TB.clk |
TB.reset |
TB.vga_red_pad_out[2:0] |
TB.vga_green_pad_out[2:0] |
TB.vga_blue_pad_out[1:0] |
TB.vsync_n_pad_out |
@29 |
TB.reset |
TB.hsync_n_pad_out |
[pattern_trace] 1 |
[pattern_trace] 0 |
/trunk/projects/logic/ip/vga_char_ctrl/sim/run/default_600x432/wave.sav
1,11 → 1,17
[timestart] 0 |
[size] 1613 999 |
[pos] -852 -467 |
*-11.000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 |
[pos] 28 -108 |
*-25.000000 11000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 |
[treeopen] TB. |
[treeopen] TB.dut. |
@28 |
TB.clk |
TB.reset |
TB.vga_red_pad_out[2:0] |
TB.vga_green_pad_out[2:0] |
TB.vga_blue_pad_out[1:0] |
TB.vsync_n_pad_out |
@29 |
TB.reset |
TB.hsync_n_pad_out |
[pattern_trace] 1 |
[pattern_trace] 0 |