Compare commits

..
15 Commits
Author SHA1 Message Date
Matthias Heinrichs f8dc4383d2 Merge branch 'driverupdate2025' into 'master'
Updated Zorro-LAN-IDE Driver to 2.15

See merge request MHeinrichs/Zorro-LAN-IDE!6
2026-09-22 20:19:04 +00:00
Henryk Richter 52ba722800 Updated Zorro-LAN-IDE Driver to 2.15
- Multicast fixes
- new Microchip OUIs added to verification table
2026-03-02 10:41:17 +01:00
MHeinrichs 0f18ce181d Combined Z2/Z3-Firmware
The Z2/Z3-detection works now!
2022-03-14 09:31:55 +01:00
MHeinrichs 7444299170 changed write-data preparation for lan 2022-03-14 00:10:05 +01:00
MHeinrichs 066344f4bf Adopted the fixes for no IDE-ROM and no IDE-Drive from Z2-Firmware 2022-03-13 20:37:49 +01:00
MHeinrichs e2a09186e2 FIxed Bug, when no Boot rom was inserted 2022-03-12 21:52:16 +01:00
MHeinrichs 876b2adb5b fixed hang if no IDE-device was connected 2022-03-08 13:51:53 +01:00
MHeinrichs 65af379ced Converted logic to all registers high during power up AND reset! 2022-03-08 12:39:34 +01:00
MHeinrichs 88cdb9fb52 Fixed reset issue: The initialisation loop must be performed exactly once!
buffered address
2022-03-08 12:25:56 +01:00
MHeinrichs dc65757a8a Fixed Z"-Firmwarebug: fast accelerators fetched the IDE-Information too fast I buffered the databus and hold the datat longer during a read 2022-03-06 00:12:14 +01:00
MHeinrichs 61a36e326f Fiexd Clockport-bug for >68040 2021-07-30 01:13:50 +02:00
MHeinrichs fdde3273e8 Resolved merge mess 2020-10-09 22:02:01 +02:00
MHeinrichs 74dac57258 Merge branch 'master' of https://gitlab.com/MHeinrichs/Zorro-LAN-IDE
# Conflicts:
#	Logic/LAN_IDE_V2/LAN_IDE_CP-Z2v2.vhd
#	Logic/LAN_IDE_V2/LAN_IDE_CP-z2v2.jed
#	Logic/LAN_IDE_V2/LAN_IDE_CP-z3v2.jed
2020-10-09 00:19:11 +02:00
MHeinrichs 8231b54f78 Improved clock startup and IDE-ROM-timing 2020-10-09 00:17:40 +02:00
Matthias Heinrichs 85a06c1701 Merge branch 'driverupdate' into 'master'
Driverupdate

See merge request MHeinrichs/Zorro-LAN-IDE!5
2020-09-13 21:20:39 +00:00
61 changed files with 25487 additions and 30028 deletions
+66
View File
@@ -121,3 +121,69 @@ Logic/LAN_IDE_V2/LAN_IDE_CP_html/tim/
Logic/LAN_IDE/LAN_IDE\.zip Logic/LAN_IDE/LAN_IDE\.zip
/PCB/ZORRO-LAN-IDE-CP-V2F.s## /PCB/ZORRO-LAN-IDE-CP-V2F.s##
/Logic/LAN_IDE_V2/iseconfig/LAN_IDE_CP.xreport
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz2v2.projectmgr
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz3v2.projectmgr
/Logic/LAN_IDE_V2/LAN_IDE_CP.cmd_log
/Logic/LAN_IDE_V2/LAN_IDE_CP.gyd
/Logic/LAN_IDE_V2/LAN_IDE_CP.jed
/Logic/LAN_IDE_V2/LAN_IDE_CP.mfd
/Logic/LAN_IDE_V2/LAN_IDE_CP.nga
/Logic/LAN_IDE_V2/LAN_IDE_CP.ngd
/Logic/LAN_IDE_V2/LAN_IDE_CP.pad
/Logic/LAN_IDE_V2/LAN_IDE_CP.rpt
/Logic/LAN_IDE_V2/LAN_IDE_CP.syr
/Logic/LAN_IDE_V2/LAN_IDE_CP.tspec
/Logic/LAN_IDE/area.xds
/Logic/LAN_IDE_V2/iseconfig/LAN_IDE_CP.xreport
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz2v2.projectmgr
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz3v2.projectmgr
/Logic/LAN_IDE_V2/LAN_IDE_CP.cmd_log
/Logic/LAN_IDE_V2/LAN_IDE_CP.gyd
/Logic/LAN_IDE_V2/LAN_IDE_CP.jed
/Logic/LAN_IDE/area.xds
/Logic/LAN_IDE_V2/iseconfig/LAN_IDE_CP.xreport
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz2v2.projectmgr
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz3v2.projectmgr
/Logic/LAN_IDE_V2/LAN_IDE_CP.cmd_log
/Logic/LAN_IDE_V2/LAN_IDE_CP.gyd
/Logic/LAN_IDE_V2/LAN_IDE_CP.jed
/Bilder/Patch Rapidroad.png
/Driver/rapidroadcpusb.device
/Driver/rapidroadcpusb-.device
/Driver/rapidroadcpusb-orig.device
/Driver/rapidroadxs100usb.device
/Driver/rapidroadxs100usb-orig.device
/Logic/LAN_IDE/area.xds
/Logic/LAN_IDE_V2/iseconfig/LAN_IDE_CP.xreport
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz2v2.projectmgr
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz3v2.projectmgr
/Logic/LAN_IDE_V2/LAN_IDE_CP.cmd_log
/Logic/LAN_IDE_V2/LAN_IDE_CP.gyd
/Logic/LAN_IDE_V2/LAN_IDE_CP.mfd
/Logic/LAN_IDE_V2/LAN_IDE_CP.nga
/Logic/LAN_IDE_V2/LAN_IDE_CP.ngd
/Logic/LAN_IDE_V2/LAN_IDE_CP.pad
/Logic/LAN_IDE_V2/LAN_IDE_CP.rpt
/Logic/LAN_IDE_V2/LAN_IDE_CP.syr
/Logic/LAN_IDE_V2/LAN_IDE_CP.tspec
/Logic/LAN_IDE_V2/LAN_IDE_CP.vm6
/Logic/LAN_IDE_V2/ZORO_LAN_IDE_Z2.ipf
/Logic/LAN_IDE_V2/_impact.cmd
/Logic/LAN_IDE_V2/_impact.log
/Logic/LAN_IDE_V2/iseconfig/LAN_IDE_CP.xreport
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz2v2.projectmgr
/Logic/LAN_IDE_V2/iseconfig/LAN_IDEz3v2.projectmgr
/Logic/LAN_IDE_V2/LAN_IDE_CP.cmd_log
/Logic/LAN_IDE_V2/LAN_IDE_CP.gyd
/Logic/LAN_IDE_V2/LAN_IDE_CP.mfd
/Logic/LAN_IDE_V2/LAN_IDE_CP.nga
/Logic/LAN_IDE_V2/LAN_IDE_CP.ngd
/Logic/LAN_IDE_V2/LAN_IDE_CP.pad
/Logic/LAN_IDE_V2/LAN_IDE_CP.rpt
/Logic/LAN_IDE_V2/LAN_IDE_CP.syr
/Logic/LAN_IDE_V2/LAN_IDE_CP.tspec
/Logic/LAN_IDE_V2/LAN_IDE_CP.vhd.bak
/Logic/LAN_IDE_V2/LAN_IDE_CP.vm6
/Logic/LAN_IDE_V2/LAN_IDEz2v2.gise
/Logic/LAN_IDE_V2/LAN_IDEz3v2.gise
+19 -7
View File
@@ -1,17 +1,29 @@
Short: V2.00, SANA-II network drivers for several adapters Short: V2.15, SANA-II network drivers for several adapters
Author: Henryk Richter Author: Henryk Richter
Uploader: henryk.richter@gmx.net Uploader: henryk.richter@gmx.net
Type: driver/net Type: driver/net
Architecture: m68k-amigaos Architecture: m68k-amigaos
Requires: OS 2.04+ Requires: OS 2.04+
This package contains network drivers for the following hardware: This package contains network drivers and test utilities for the
- ZII LAN IDE CP (matze, scrat and buggs @a1k.org) following hardware:
- ZII LAN IDE CP (matze and buggs @a1k.org)
OSS Zorro-II card with ENC624J600 ethernet controller, autoboot OSS Zorro-II card with ENC624J600 ethernet controller, autoboot
IDE and Clockport IDE and Clockport (see https://gitlab.com/MHeinrichs/Zorro-LAN-IDE)
- Vampire500/600 with ENC28J60 module connected to the SD-card slot - Vampire500/600 with ENC28J60 module connected to the SD-card slot
- Vampire500V2+ with ENC28J60 module connected to the expansion port (sdnet.device)
Full source code is included. Please refer to README.sdnet and - Vampire500V2+ or Vampire1200V2 with ENC28J60 module connected to
README.enc for installation and operation instructions the expansion port (v2expeth.device)
- Vampire500V2+ with Wiznet W5500 module connected to the expansion
port (requires adapter PCB)
- VampireV4 (assumes HW registers didn't change since the time of my
initial implementation, YMMV)
Full source code (GPL V3) is included. Please refer to README.sdnet
and README.enc for installation and operation instructions.
+34 -7
View File
@@ -1,10 +1,9 @@
ENC624J6Net - A SANA-II driver for the Scratze card ENC624J6Net - A SANA-II driver for the Zorro-LAN-IDE card
ENC624J6Net Copyright (C) 2018 Henryk Richter <henryk.richter@gmx.net> ENC624J6Net Copyright (C) 2018 Henryk Richter <henryk.richter@gmx.net>
This driver is supposed to support ENC624J600 based ethernet on the This driver is supposed to support ENC624J600 based ethernet on the
ZII LAN IDE CP card designed by Matze (a1k.org), Buggs (a1k.org) ZII LAN IDE CP card designed by Matze (a1k.org) and Buggs (a1k.org).
and Scrat (a1k.org).
Please see at the end of the file for information about licensing Please see at the end of the file for information about licensing
conditions. conditions.
@@ -23,8 +22,8 @@ the 68000/68010 version to enc624j6net.device before use.
So far, successful tests have been done with the free AmiTCP/IP 3.0b2, So far, successful tests have been done with the free AmiTCP/IP 3.0b2,
AmiTCP4.0-4.2, Genesis, MiamiDX and RoadShow. AmiTCP4.0-4.2, Genesis, MiamiDX and RoadShow.
The Zorro board itself should be visible in early startup with manufacturer The Zorro board itself should be visible in Early Startup and ShowConfig
ID 2588 and card ID 123. with manufacturer ID 2588 and card ID 123.
@@ -34,10 +33,10 @@ Configuration options
No special configuration of the driver is necessary for normal operation. No special configuration of the driver is necessary for normal operation.
The configuration options outlined below are documented for tuning purposes. The configuration options outlined below are documented for tuning purposes.
The config to be placed in ENVARC:sana2/enc624j6net.config and consists The config is to be placed in ENVARC:sana2/enc624j6net.config and consists
of a single line with parameters (much like CLI parameters). of a single line with parameters (much like CLI parameters).
PRIORITY=PRI/K/N,BPS/K/N,MTU/K/N,FULLDUPLEX/S,FLOWCONTROL/S,TIMER/K/N,MULTICAST/S PRIORITY=PRI/K/N,BPS/K/N,MTU/K/N,FULLDUPLEX/S,FLOWCONTROL/S,TIMER/K/N,MULTICAST/S,MAC/K
FULLDUPLEX - change Ethernet module into full duplex mode, FULLDUPLEX - change Ethernet module into full duplex mode,
caution: requires manual configuration of duplex mode caution: requires manual configuration of duplex mode
@@ -60,13 +59,41 @@ PRIORITY=PRI/K/N,BPS/K/N,MTU/K/N,FULLDUPLEX/S,FLOWCONTROL/S,TIMER/K/N,MULTICAST/
FLOWCONTROL - enable automatic flow control that throttles incoming FLOWCONTROL - enable automatic flow control that throttles incoming
data when the hardware buffer gets full data when the hardware buffer gets full
MAC - explicitly set MAC address (default: read from hardware),
use hexadecimal notation like AA:BB:CC:DD:EE:FF
example (useful for DSL via PPPoE with AmiTCP): example (useful for DSL via PPPoE with AmiTCP):
echo "MTU=1492 PRIORITY=6" >ENVARC:sana2/enc624j6net.config echo "MTU=1492 PRIORITY=6" >ENVARC:sana2/enc624j6net.config
Troubleshooting:
----------------
It has been reported that the MMU.library marked the LAN part
of the card as invalid in at least one Zorro-III configuration
such that the respective I/O space got inaccessible to the driver.
Should "muscan" report "I/O space Invalid" for the slot assigned
to the card (compare with "showConfig" or "Scout->Expansions"),then
an additional line in the MMU configuration file might help. Add
the following to the MMU-Configuration:
For 2588 123 SetCacheMode {base} 0x10000 Valid CacheInhibit IOSpace
Changelog: Changelog:
---------- ----------
2.15 - fixed multicast mapping code
- added recent Microchip OUIs to MAC address validation list
(2020 and later)
- disabled automatic MMU configuration as commonly redundant
2.13 - explicit MMU parameters for LAN address space, if mmu.library
is present in the system
2.11 - try to finish up auto neg and duplex setup when going online
- improved startup/shutdown of the server process
2.10 - option to set MAC address for first board explicitly
2.9 - better support for Envoy: automatically select a higher 2.9 - better support for Envoy: automatically select a higher
task priority in presence of Envoy services task priority in presence of Envoy services
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Regular → Executable
View File
+5 -3
View File
@@ -27,8 +27,8 @@ compiler_vcc = 0
# prefix for system includes (ASM) # prefix for system includes (ASM)
# native AmigaOS compilation: set PREFX=GG: or PREFX=ADE:, depending on toolchain # native AmigaOS compilation: set PREFX=GG: or PREFX=ADE:, depending on toolchain
############################################################################### ###############################################################################
#PREFX = /opt/amigaos-68k/ PREFX = /opt/amigaos-68k/
PREFX = gg: #PREFX = gg:
SYSINC = $(PREFX)os-include SYSINC = $(PREFX)os-include
############################################################################### ###############################################################################
@@ -39,8 +39,9 @@ SYSINC = $(PREFX)os-include
ifeq ($(compiler_vcc),1) ifeq ($(compiler_vcc),1)
# VBCC (use explicit vlink line for LINK= if complaints about R_PC happen) # VBCC (use explicit vlink line for LINK= if complaints about R_PC happen)
# -Rshort
CCX = vc CCX = vc
LINK = vlink -bamigahunk -x -s -mrel -Cvbcc -Bstatic -nostdlib #-Rshort LINK = vlink -bamigahunk -x -s -mrel -Cvbcc -Bstatic -nostdlib -Rshort
LINKEXE = vlink -bamigahunk -x -s -mrel -Cvbcc -Bstatic LINKEXE = vlink -bamigahunk -x -s -mrel -Cvbcc -Bstatic
#LINK = $(CCX) -nostdlib #LINK = $(CCX) -nostdlib
CFLAGS = -Os -+ -sc -c99 -cpu=$(CPU) CFLAGS = -Os -+ -sc -c99 -cpu=$(CPU)
@@ -138,6 +139,7 @@ ifeq ($(debug),1)
CFLAGS += -DDEBUG -g CFLAGS += -DDEBUG -g
CFLAGS2 += -DDEBUG -g CFLAGS2 += -DDEBUG -g
#LINKLIBS = -L$(PREFX)/lib -ldebug #LINKLIBS = -L$(PREFX)/lib -ldebug
#ASMOBJECTS += kprintf.o
endif endif
############################################################################### ###############################################################################
+5 -5
View File
@@ -23,7 +23,7 @@
#DEVICEREVISION=95 #DEVICEREVISION=95
#DEVICEDATE=08.09.2018 #DEVICEDATE=08.09.2018
SUBDIR=enc624j6net SUBDIR=enc624j6net
ASMOBJECTS = $(SUBDIR)/enc624j6l.o $(SUBDIR)/intervaltimer.o kprintf.o ASMOBJECTS = $(SUBDIR)/enc624j6l.o $(SUBDIR)/intervaltimer.o kprintf.o #mmustuff.o
############################################################################### ###############################################################################
# Devices to build (1 or 2, keep DEVICEID2 empty if only one build is desired) # Devices to build (1 or 2, keep DEVICEID2 empty if only one build is desired)
@@ -31,13 +31,13 @@ ASMOBJECTS = $(SUBDIR)/enc624j6l.o $(SUBDIR)/intervaltimer.o kprintf.o
############################################################################### ###############################################################################
DEVICEID=enc624j6net.device DEVICEID=enc624j6net.device
DEFINES = -DHW_DMA_TX # -DPROTO_V2EXPNET DEFINES = -DHW_DMA_TX #-DUSEMMU #
ASMDEFS = -DHW_DMA_TX # -DPROTO_V2EXPNET ASMDEFS = -DHW_DMA_TX #
CPU = 68060 CPU = 68060
DEVICEID2=enc624j6net.device_68000 DEVICEID2=enc624j6net.device_68000
DEFINES2 = # -DPROTO_V2EXPNET DEFINES2 = #
ASMDEFS2 = # -DPROTO_V2EXPNET ASMDEFS2 = #
CPU2 = 68000 CPU2 = 68000
SAME_DEVNAME=1 SAME_DEVNAME=1
+50
View File
@@ -0,0 +1,50 @@
###############################################################################
#
# VAMPIREGFX makefile for vbcc
#
# author: Henryk Richter <henryk.richter@gmx.net>
#
# concept:
#
# tools required:
# - vbcc, defaulting to m68k-amigaos
# - vlink
# - vasm
#
# porting:
#
###############################################################################
###############################################################################
# Date, version, extra objects to build
#
###############################################################################
#DEVICEVERSION=1
#DEVICEREVISION=95
#DEVICEDATE=08.09.2018
SUBDIR=v4net
ASMOBJECTS = $(SUBDIR)/vampuuid.o $(SUBDIR)/v4l.o $(SUBDIR)/intervaltimer.o kprintf.o
###############################################################################
# Devices to build (1 or 2, keep DEVICEID2 empty if only one build is desired)
#
###############################################################################
DEVICEID=v4net.device
DEFINES = #-DHW_DMA_TX # -DPROTO_V2EXPNET
ASMDEFS = #-DHW_DMA_TX # -DPROTO_V2EXPNET
CPU = 68060
#DEVICEID2=v4net.device_68000
#DEFINES2 = # -DPROTO_V2EXPNET
#ASMDEFS2 = # -DPROTO_V2EXPNET
#CPU2 = 68000
#SAME_DEVNAME=1
###############################################################################
# import generic ruleset
#
###############################################################################
include Common.mk
+51
View File
@@ -0,0 +1,51 @@
###############################################################################
#
# VWiznet build instructions
#
# author: Henryk Richter <henryk.richter@gmx.net>
#
# concept:
# this makefile is intended mainly for cross compilation,
# although building on AmigaOS works (see Common.mk)
#
# tools required:
# - vbcc or m68k-amigaos-gcc (Default: gcc)
# - vlink or GNU ld
# - vasm (vasmm68k_mot)
# - system headers (default: /opt/amigaos-68k/os-include, see Common.mk)
#
# porting:
# see smakefile for native building using SAS/C
#
###############################################################################
###############################################################################
# Name, version
#
###############################################################################
#DEVICEVERSION=1
#DEVICEREVISION=95
#DEVICEDATE=09.09.2018
#DEVICEEXTRA=Beta
ASMOBJECTS = $(SUBDIR)/vampuuid.o $(SUBDIR)/intervaltimer.o $(SUBDIR)/w5500l.o
SUBDIR=qwiznet
# two flavours of the same code base may be build with this setup
# leave DEVICEID2 empty to disable second build
DEVICEID=vwiznet600sd.device
DEFINES = # -DPROTO_V2EXPNET
ASMDEFS = # -DPROTO_V2EXPNET
CPU = 68060
DEVICEID2=vwiznet500ex.device
DEFINES2 = -DPROTO_V2EXPNET
ASMDEFS2 = -DPROTO_V2EXPNET
CPU2 = 68020
###############################################################################
# import generic ruleset
#
###############################################################################
include Common.mk
+140 -36
View File
@@ -120,6 +120,8 @@ ASM SAVEDS struct Device *DevInit( ASMR(d0) DEVBASEP ASMREG(d0)
db->db_SegList = seglist; db->db_SegList = seglist;
db->db_Flags = 0; db->db_Flags = 0;
InitSemaphore( &db->db_Sem ); /* server start/stop/online/offline */
dbNewList( &db->db_BufferManagement ); dbNewList( &db->db_BufferManagement );
for(i=0 ; i < MAX_UNITS ; i++ ) for(i=0 ; i < MAX_UNITS ; i++ )
@@ -137,9 +139,12 @@ ASM SAVEDS struct Device *DevInit( ASMR(d0) DEVBASEP ASMREG(d0)
} }
ok = 0; ok = 0;
if( (DOSBase = OpenLibrary("dos.library", 36)) ) if( (DOSBase = OpenLibrary( (STRPTR)"dos.library", 36)) )
{ {
if( (UtilityBase = OpenLibrary("utility.library", 37)) ) #ifdef USEMMU
MMUBase = OpenLibrary( (STRPTR)"mmu.library",46 );
#endif
if( (UtilityBase = OpenLibrary( (STRPTR)"utility.library", 37)) )
{ {
/* Search HW */ /* Search HW */
ok = hw_Find_Boards( db ); ok = hw_Find_Boards( db );
@@ -182,10 +187,16 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
D(("DevOpen for %ld\n",unit)); D(("DevOpen for %ld\n",unit));
db->db_Lib.lib_OpenCnt++; /* avoid Expunge, see below for separate "unit" open count */ /* avoid Expunge, see below for separate "unit" open count */
//ObtainSemaphore( &db->db_Sem ); /* probably overkill */
db->db_Lib.lib_OpenCnt++;
//ReleaseSemaphore( &db->db_Sem );
db->db_ID++; /* opener ID (always >0) */ db->db_ID++; /* opener ID (always >0) */
if( unit < db->db_NBoards ) if( (unit < db->db_NBoards) &&
(ioreq->ios2_Req.io_Message.mn_Length >= sizeof( struct IOSana2Req ) )
)
{ {
ObtainSemaphore( &db->db_Units[unit].du_Sem ); /* lock current board */ ObtainSemaphore( &db->db_Units[unit].du_Sem ); /* lock current board */
@@ -222,9 +233,6 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
if( flags & SANA2OPF_PROM ) /* implies _MINE by spec */ if( flags & SANA2OPF_PROM ) /* implies _MINE by spec */
db->db_Units[unit].du_Flags |= DUF_PROMISC; db->db_Units[unit].du_Flags |= DUF_PROMISC;
hw_GetMacAddress( db, unit, &db->db_Units[unit].du_HWAddr[0] );
hw_GetMacAddress( db, unit, &db->db_Units[unit].du_CFGAddr[0] );
ok = 0; ok = 0;
dbm = (struct db_BufferManagement *)AllocMem( sizeof(struct db_BufferManagement),MEMF_ANY|MEMF_CLEAR); dbm = (struct db_BufferManagement *)AllocMem( sizeof(struct db_BufferManagement),MEMF_ANY|MEMF_CLEAR);
if( dbm ) if( dbm )
@@ -246,7 +254,7 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
/* v1.95: disabled CopyToBuffer32 due to problems with MiamiDX */ /* v1.95: disabled CopyToBuffer32 due to problems with MiamiDX */
/* v1.99: try identifying Miami */ /* v1.99: try identifying Miami */
/* MiamiDX requires byte count to be a multiple of 4 */ /* MiamiDX requires byte count to be a multiple of 4 */
if( FindPort("MIAMI.1") ) /* Miami active ? */ if( FindPort( (STRPTR)"MIAMI.1") ) /* Miami active ? */
{ {
dbm->dbm_CopyToBuffer32 = (0); dbm->dbm_CopyToBuffer32 = (0);
dbm->dbm_CopyFromBuffer32 = (0); dbm->dbm_CopyFromBuffer32 = (0);
@@ -269,11 +277,19 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
dbm->dbm_ID = db->db_ID; dbm->dbm_ID = db->db_ID;
ok = 1; ok = 1;
} }
/* the server is started with the Semaphore locked, to avoid
the race condition of getting instantiated twice
*/
if( ok ) if( ok )
{ {
/* start server if necessary */ /* start server if necessary */
ok = dbStartServer( db, unit ); ok = dbStartServer( db, unit );
} }
hw_GetMacAddress( db, unit, &db->db_Units[unit].du_HWAddr[0] );
hw_GetMacAddress( db, unit, &db->db_Units[unit].du_CFGAddr[0] );
if( ok ) if( ok )
{ {
ret = 0; ret = 0;
@@ -352,8 +368,12 @@ ASM SAVEDS BPTR DevClose( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
(db->db_Units[unit].du_Flags & DUF_ONLINE ) (db->db_Units[unit].du_Flags & DUF_ONLINE )
) )
{ {
#if 1
dbSignalServer( db , SIGBREAKF_CTRL_D, 1 ); /* signal server to shut down unit (and lock the semaphore while doing so) */
#else
Signal( (struct Task*)db->db_ServerProc, SIGBREAKF_CTRL_D); Signal( (struct Task*)db->db_ServerProc, SIGBREAKF_CTRL_D);
Delay(1); Delay(1);
#endif
} }
ObtainSemaphore( &db->db_Units[unit].du_Sem ); /* lock current board */ ObtainSemaphore( &db->db_Units[unit].du_Sem ); /* lock current board */
@@ -365,6 +385,30 @@ ASM SAVEDS BPTR DevClose( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
ReleaseSemaphore( &db->db_Units[unit].du_Sem ); ReleaseSemaphore( &db->db_Units[unit].du_Sem );
#if 1
/* now check if the device is no longer in use in any unit (=global OpenCnt)
and shut down server if that is the case
*/
ObtainSemaphore( &db->db_Sem );
if( db->db_Lib.lib_OpenCnt == 0 )
{
ULONG i;
struct SanaReadType *type;
dbStopServer(db,0);
for( i=0 ; i < db->db_NBoards ; i++ )
{
while( (type = GetHead( &db->db_Units[i].du_ReadTypes ) ))
{
dbDeleteType( db, i, type->srt_Type );
}
}
}
ReleaseSemaphore( &db->db_Sem );
#endif
if (db->db_Lib.lib_Flags & LIBF_DELEXP) if (db->db_Lib.lib_Flags & LIBF_DELEXP)
ret = DevExpunge(db); ret = DevExpunge(db);
@@ -375,10 +419,9 @@ ASM SAVEDS BPTR DevClose( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
ASM SAVEDS BPTR DevExpunge( ASMR(a6) DEVBASEP ASMREG(a6) ) ASM SAVEDS BPTR DevExpunge( ASMR(a6) DEVBASEP ASMREG(a6) )
{ {
BPTR seglist = db->db_SegList; BPTR seglist = db->db_SegList;
ULONG i;
struct SanaReadType *type;
if( db->db_Lib.lib_OpenCnt ) /* don't go if the server is still up (for whatever reason) */
if( (db->db_Lib.lib_OpenCnt) || (db->db_ServerProc) )
{ {
db->db_Lib.lib_Flags |= LIBF_DELEXP; db->db_Lib.lib_Flags |= LIBF_DELEXP;
return (0); return (0);
@@ -388,6 +431,8 @@ ASM SAVEDS BPTR DevExpunge( ASMR(a6) DEVBASEP ASMREG(a6)
Remove((struct Node*)db); /* remove device node from system */ Remove((struct Node*)db); /* remove device node from system */
Permit(); Permit();
#if 0
/* moved to CloseDevice() */
dbStopServer(db,0); dbStopServer(db,0);
for( i=0 ; i < db->db_NBoards ; i++ ) for( i=0 ; i < db->db_NBoards ; i++ )
@@ -398,6 +443,7 @@ ASM SAVEDS BPTR DevExpunge( ASMR(a6) DEVBASEP ASMREG(a6)
} }
} }
#endif
/* last steps: libraries */ /* last steps: libraries */
CloseLibrary(DOSBase); CloseLibrary(DOSBase);
@@ -816,9 +862,9 @@ LONG Need_HighPri( DEVBASEP )
return 0; return 0;
} }
if( FindPort("Services Manager") ) if( FindPort( (STRPTR)"Services Manager") )
return 1; return 1;
if( FindPort("Accounts Manager") ) if( FindPort( (STRPTR)"Accounts Manager") )
return 1; return 1;
return 0; return 0;
@@ -833,34 +879,43 @@ static LONG dbStartServer( DEVBASEP, LONG unit )
LONG ret = 0,i,pri; LONG ret = 0,i,pri;
struct TagItem sv_tags[5]; struct TagItem sv_tags[5];
/* server running ? */ ObtainSemaphore( &db->db_Sem );
if( db->db_ServerProc )
do
{ {
/* server running ? */
if( db->db_ServerProc )
{
if( Need_HighPri( db ) ) if( Need_HighPri( db ) )
SetTaskPri((struct Task*)db->db_ServerProc,HIGHPRI); SetTaskPri((struct Task*)db->db_ServerProc,HIGHPRI);
return 1; ret = 1;
} break; /* ReleaseSemaphore */
}
if(!(port = CreateMsgPort() )) if(!(port = CreateMsgPort() ))
return 0; break; /* ReleaseSemaphore */
pri = 0; pri = 0;
if( Need_HighPri( db ) ) if( Need_HighPri( db ) )
pri = HIGHPRI; pri = HIGHPRI;
else else
if( FindPort("AMITCP") ) /* AmiTCP active ? */ {
if( FindPort( (STRPTR)"AMITCP") ) /* AmiTCP active ? */
pri = 6; pri = 6;
if( FindPort( (STRPTR)"BAXTCP") ) /* BaxTCP active ? */
pri = 6;
}
sv_tags[i=0].ti_Tag = NP_Entry; sv_tags[i=0].ti_Tag = NP_Entry;
sv_tags[i++].ti_Data = (ULONG)ServerTask; sv_tags[i++].ti_Data = (ULONG)ServerTask;
sv_tags[i ].ti_Tag = NP_Name; sv_tags[i ].ti_Tag = NP_Name;
sv_tags[i++].ti_Data = (ULONG)db->db_Lib.lib_Node.ln_Name; sv_tags[i++].ti_Data = (ULONG)db->db_Lib.lib_Node.ln_Name;
sv_tags[i ].ti_Tag = NP_Priority; sv_tags[i ].ti_Tag = NP_Priority;
sv_tags[i++].ti_Data = (ULONG)pri; sv_tags[i++].ti_Data = (ULONG)pri;
sv_tags[i ].ti_Tag = TAG_DONE; sv_tags[i ].ti_Tag = TAG_DONE;
if( (db->db_ServerProc = CreateNewProc(sv_tags))) if( (db->db_ServerProc = CreateNewProc(sv_tags)))
{ {
/* server is running, wait for response */ /* server is running, wait for response */
volatile struct ServerMsg msg; volatile struct ServerMsg msg;
@@ -874,11 +929,15 @@ static LONG dbStartServer( DEVBASEP, LONG unit )
WaitPort( port ); WaitPort( port );
ret = msg.sm_result; /* should be 1 */ ret = msg.sm_result; /* should be 1 */
D(("Server answered with %ld\n",ret)); D(("Server answered with %ld\n",ret));
} }
if( !ret ) if( !ret )
db->db_ServerProc = (0); db->db_ServerProc = (0);
DeleteMsgPort( port ); DeleteMsgPort( port );
} while(0);
ReleaseSemaphore( &db->db_Sem );
return ret; return ret;
} }
@@ -886,12 +945,16 @@ static LONG dbStartServer( DEVBASEP, LONG unit )
/* stop Server function */ /* stop Server function */
/* note: server is global right now */ /* note: server is global right now */
/* note: this code assumes to run with locked Semaphore (db_Sem) */
static LONG dbStopServer( DEVBASEP, LONG unit ) static LONG dbStopServer( DEVBASEP, LONG unit )
{ {
ULONG i=1; ULONG i=1;
volatile struct Task *P; volatile struct Task *P;
/* server deletes itself from devbase */ /* server deletes itself from devbase */
dbSignalServer( db, SIGBREAKF_CTRL_C, 0 );
/* failsafe: when the server does not come down, hammer it with CTRL_C */
while( (P=(volatile struct Task*)db->db_ServerProc) ) while( (P=(volatile struct Task*)db->db_ServerProc) )
{ {
Signal( (struct Task*)P, SIGBREAKF_CTRL_C); Signal( (struct Task*)P, SIGBREAKF_CTRL_C);
@@ -902,6 +965,47 @@ static LONG dbStopServer( DEVBASEP, LONG unit )
return 0; return 0;
} }
/* Signal server and wait for response */
/* notes:
- server is global right now
- a Semaphore is used to ensure one signal per call only
- a signal is allocated, if possible
*/
static LONG dbSignalServer( DEVBASEP, ULONG sig, ULONG flags )
{
ULONG mysig = SIGBREAKF_CTRL_D; /* failsafe */
LONG sigbit=-1;
sigbit = AllocSignal(-1);
if( sigbit >= 0 )
mysig = 1<<sigbit;
if( flags & 1 )
ObtainSemaphore( &db->db_Sem ); /* lock access to server state */
if( db->db_ServerProc )
{
/* important: we might land here from various tasks/procs: always update
task pointer, always lock semaphore
*/
db->db_ServerSigMask = mysig;
db->db_Task = FindTask(NULL);
Signal( (struct Task*)db->db_ServerProc, sig );
/* TODO: check "sig" for valid server signals,
currently: SIGBREAKF_CTRL_D,SIGBREAKF_CTRL_F,SIGBREAKF_CTRL_C
and otherwise don't wait */
Wait( mysig );
db->db_Task = NULL; /* no waiting is pending */
}
if( flags & 1 )
ReleaseSemaphore( &db->db_Sem ); /* unlock access to server state */
if( sigbit >= 0 )
FreeSignal(sigbit);
return 0;
}
/* /*
delete all buffers (type references) associated with device opener delete all buffers (type references) associated with device opener
+5
View File
@@ -33,6 +33,7 @@
#define SysBase db->db_SysBase #define SysBase db->db_SysBase
#define DOSBase db->db_DOSBase #define DOSBase db->db_DOSBase
#define UtilityBase db->db_UtilityBase #define UtilityBase db->db_UtilityBase
#define MMUBase db->db_MMUBase
//#define VampireBase db->db_VampireBase //#define VampireBase db->db_VampireBase
/* old sana2.h ? */ /* old sana2.h ? */
@@ -103,6 +104,7 @@ struct devbase {
struct Library *db_SysBase; /* Exec Base */ struct Library *db_SysBase; /* Exec Base */
struct Library *db_DOSBase; struct Library *db_DOSBase;
struct Library *db_UtilityBase; struct Library *db_UtilityBase;
struct Library *db_MMUBase;
ULONG db_NBoards; ULONG db_NBoards;
ULONG db_ID; /* device opener ID enumeration */ ULONG db_ID; /* device opener ID enumeration */
@@ -110,6 +112,8 @@ struct devbase {
than 1 network card of the same type, anyway ? */ than 1 network card of the same type, anyway ? */
/* server process data */ /* server process data */
struct SignalSemaphore db_Sem; /* lock server state communication to one caller */
/* (see per-unit Semaphore for queue stuff) */
volatile struct Process *db_ServerProc; /* process of main queue server */ volatile struct Process *db_ServerProc; /* process of main queue server */
struct Task *db_Task; /* server shutdown task address (non permanently available) */ struct Task *db_Task; /* server shutdown task address (non permanently available) */
ULONG db_ServerSigMask; /* shutdown signal */ ULONG db_ServerSigMask; /* shutdown signal */
@@ -249,6 +253,7 @@ static LONG dbIsInList( struct List *, struct Node * );
static LONG dbStartServer( DEVBASETYPE*, LONG ); static LONG dbStartServer( DEVBASETYPE*, LONG );
static LONG dbStopServer( DEVBASETYPE*, LONG ); static LONG dbStopServer( DEVBASETYPE*, LONG );
static LONG dbSignalServer( DEVBASETYPE*, ULONG, ULONG );
static void dbDeleteBuffers( DEVBASETYPE*, struct IOSana2Req * ); static void dbDeleteBuffers( DEVBASETYPE*, struct IOSana2Req * );
+1
View File
@@ -112,6 +112,7 @@ DUF_PROMISC EQU (1<<DUB_PROMISC)
;than 1 network card of the same type, anyway ? ;than 1 network card of the same type, anyway ?
; server process data ; server process data
STRUCT db_Sem,SS_SIZE ;list locking (global per unit)
APTR db_ServerProc ;process of main queue server APTR db_ServerProc ;process of main queue server
APTR db_Task ;server shutdown task address (non permanently available) APTR db_Task ;server shutdown task address (non permanently available)
ULONG db_ServerSigMask ;shutdown signal ULONG db_ServerSigMask ;shutdown signal
+378 -5
View File
@@ -23,11 +23,13 @@
DEBUG EQU 0 DEBUG EQU 0
GLOBALINT_BOARD EQU 0 ;if 1, then toggle board interrupt, else ENC624 INTIE GLOBALINT_BOARD EQU 0 ;if 1, then toggle board interrupt, else ENC624 INTIE
OPT_AVOID_DEFAULT_RESETS EQU 1 ;if 1, then check valid Microchip MAC OUI and don't reset the whole chip if the MAC address is ok OPT_AVOID_DEFAULT_RESETS EQU 1 ;if 1, then check valid Microchip MAC OUI and don't reset the whole chip if the MAC address is ok
OPT_Z2_WORDREAD EQU 1 ;read words instead of Longs on Z2 (specifically, 68030)
incdir src:baxnet/trunk/source/ incdir src:baxnet/trunk/source/
;Temp:Amiga/src/Zorro-LAN-IDE.git/Driver/enc624j6net/ ;Temp:Amiga/src/Zorro-LAN-IDE.git/Driver/enc624j6net/
include "enc624j6net/registers.i" include "enc624j6net/registers.i"
include "enc624j6net/macros.i" include "enc624j6net/macros.i"
include "hw.i"
ifnd DEBUG ifnd DEBUG
DEBUG EQU 0 DEBUG EQU 0
@@ -129,6 +131,9 @@ ENC_BOARDID EQU 123 ;ZII-IDE-LAN-CP
XDEF _enc624j6l_ReadPHY XDEF _enc624j6l_ReadPHY
XDEF _enc624j6l_WritePHY XDEF _enc624j6l_WritePHY
ifne OPT_Z2_WORDREAD
XDEF _enc624j6l_Z2Mode
endc
; ;
; System includes ; System includes
@@ -457,7 +462,16 @@ a
dc.b $04,$91,$62,0 dc.b $04,$91,$62,0
dc.b $54,$10,$EC,0 dc.b $54,$10,$EC,0
dc.b $80,$1F,$12,0 dc.b $80,$1F,$12,0
dc.b $D8,$80,$39,0 dc.b $D8,$80,$39,0
;new registrations by Microchip
dc.b $e8,$eb,$1b,0 ; 23-Jun-2020
dc.b $80,$34,$28,0 ; 22-Dec-2020
dc.b $60,$8a,$10,0 ; 30-Mar-2021
dc.b $fc,$0f,$e7,0 ; 10-Sep-2021
dc.b $9c,$95,$6e,0 ; 21-Apr-2022
dc.b $44,$b7,$d0,0 ; 02-Aug-2022
dc.b $D8,$47,$8f,0 ; 13-Jan-2023
dc.b $40,$84,$32,0 ; 30-Mar-2023
dc.b 0,0,0,0 dc.b 0,0,0,0
.dorst: .dorst:
@@ -657,7 +671,7 @@ _enc624j6l_Init:
move #RXSTOP_INIT&$fffe,d0 move #RXSTOP_INIT&$fffe,d0
WRITEREG ERXTAIL,a0,d0 ;tail pointer in buffer = rx-2, wraparound WRITEREG ERXTAIL,a0,d0 ;tail pointer in buffer = rx-2, wraparound
; ifne _OPT_FLOWCONTROL ; ifne _OPT_FLOWCONTROL ;this is now a runtime option
moveq #PIO_INIT_FLOW_CONTROL,d0 moveq #PIO_INIT_FLOW_CONTROL,d0
and d1,d0 and d1,d0
beq.s .init_noflow beq.s .init_noflow
@@ -809,7 +823,50 @@ _enc624j6l_SetOnline:
moveq #0,d0 moveq #0,d0
WRITEREG PLinkChange,a0,d0 ;no detected/acknowledged link right now, i.e. LNK and DPX bits = 0 WRITEREG PLinkChange,a0,d0 ;no detected/acknowledged link right now, i.e. LNK and DPX bits = 0
ifne 1
moveq #48,d0 ;was: 12
move.l d0,-(sp)
.an_wait_loop:
moveq #100,d0 ;
lsl.l #5,d0 ;wait 3.2ms (0.1*32)
bsr _enc624j6l_UMinDelay ;
moveq #PHSTAT1,d0 ;AUTONEG DONE, forced speeds/duplex
bsr _enc624j6l_ReadPHY
and.w #PHSTAT1_ANDONE,d0 ;autoneg success?
beq.s .an_not_finished
bsr _enc624j6l_CheckLinkChange ;
bra.s .an_finished
.an_not_finished:
subq.l #1,(sp)
bgt.s .an_wait_loop
.an_finished:
addq.l #4,sp
endc
ifne 0
;---------------- until HW comes upe ----------------------------------
;
;wait 256 us
;
moveq #40,d1 ;
.txwait:
READREG ECON1,a0,d0
and.w #ECON1_TXRTS,d0
beq.s .txrdy
;100 MBit/s frame time is max. 0.12 ms (without inter-frame spacing)
;WRITEDEBUG TXWait_MSG
;wait 5 us via CIA
moveq #5,d0
bsr _enc624j6l_UMinDelay
dbf d1,.txwait ;approx. 1ms max. wait
.txrdy:
endc
;moveq #1,d0 ;already set, see above ;moveq #1,d0 ;already set, see above
.err .err
rts rts
@@ -1073,6 +1130,7 @@ _enc624j6l_IntServer_List:
; In: A0 = board base address ; In: A0 = board base address
; ;
; Out: D0 <0 error ; Out: D0 <0 error
;
; =0 ok, no link change handled ; =0 ok, no link change handled
; >0 ok, link change handled ; >0 ok, link change handled
; ;
@@ -1080,7 +1138,7 @@ _enc624j6l_IntServer_List:
; ;
_enc624j6l_CheckLinkChange: _enc624j6l_CheckLinkChange:
move.l a0,d0 move.l a0,d0
beq.s .rts beq.s .err ;error: we don't have a board
; link change events are captured with Interrupts and stored ; link change events are captured with Interrupts and stored
; in the (custom) PLinkChange location (per board) by init and ; in the (custom) PLinkChange location (per board) by init and
@@ -1145,7 +1203,8 @@ _enc624j6l_CheckLinkChange:
moveq #0,d0 moveq #0,d0
.rts: .rts:
rts rts
.err: moveq #HW_MAC_INVALID,d0 ;-1
rts
;--------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------
; ;
@@ -1272,6 +1331,305 @@ _enc624j6l_HaveRecv:
bra.s .rts bra.s .rts
ifne OPT_Z2_WORDREAD
;---------------------------------------------------------------------------------------
;
; receive single frame from HW into supplied memory buffer (Z2 Only)
;
; input: A0 - APTR mmapped board base address
; A1 - APTR buffer for received frame
; D0 - SHORT maximum size in buffer
;
; output: D0 <0 - error (i.e. frame too large)
; 0 - no pending frames
; >0 - size of received frame in buffer
;
; trash: -
;
; notes:
;
_enc624j6l_RecvFrameZ2:
;WORD READS ONLY
movem.l d2-d7/a1-a3,-(sp)
move.l a0,d1
beq .err
moveq #0,d0
READREG ESTAT,a0,d2 ;number of pending frames
move.b d2,d0 ;clear out count (ESTAT_PKTCNT7...ESTAT_PKTCNT0)
beq .rts ;nothing in buffer, return sheer emptiness
;at least one frame in buffer
ifne DEBUG
READREG ERXHEAD,A0,d4
READREG ERXTAIL,A0,d5
endc
;----------- check next packet pointer and verify expected state -----------
READREG PNextPacket,a0,d7 ;get user read pointer from private space
;lea (a0,d7.w),a2 ;read ptr for next packet address
;READREG 0,a2,d0 ;next packet pointer
READSRAM a0,d7,d0 ;move (a0,d7.w),d0
ifeq _OPT_BUFFER_SWAP
rol.w #8,d0 ;swap pointer to Big Endian
endc
;verify next packet pointer, re-initialize recv if this is invalid
cmp #RXSTOP_INIT,d0 ;bad pointer (<0 or >end of memory)
bhi.w .recv_err
cmp d0,d7
bgt.s .maybewrap
;unwrapped next packet
move d0,d1
bra.s .ptrcheck
.maybewrap:
;wrapped next packet ?
move #RXSTOP_INIT+1-RXSTART_INIT,d1 ;unwrap distance
add.w d0,d1 ;next pkt + unwrap distance
.ptrcheck:
sub.w d7,d1 ;length of pkt
cmp #MAX_FRAMELEN+2+6+2,d1 ;must be smaller than max framelen + ptr + status vector + alignment
bhi .recv_err ;-> reinit recv (am I paranoid ? -> try ENC28J60, then you know why...)
;------------------ check receive status vector -----------------------------
addq.w #2,d7 ;increment pointer
WRAPINDEX d7 ;wrap D7 if beyond buffer
ifne 0
READSRAM a0,d7,d2 ;move (a0,d7.w),d0
ifeq _OPT_BUFFER_SWAP
rol.w #8,d2 ;swap pointer to Big Endian
endc
and.w #$f800,d2 ;verify (should be all zeros in upper 9 bits)
bne .recv_err ;receive buffer is wrong -> re-initialize
endc
addq.w #4,d7 ;increment pointer
WRAPINDEX d7 ;wrap D7 if beyond buffer
WRITEREG PNextPacket,a0,d0 ;write pointer for next packet
ifne 0
;lea (a0,d7.w),a2 ;new read pointer for length
;READREG 0,a2,d0 ;last control word = length (byte count)
READSRAM a0,d7,d2 ;move (a0,d7.w),d0
ifeq _OPT_BUFFER_SWAP
rol.w #8,d2 ;swap pointer to Big Endian
endc ;_OPT_BUFFER_SWAP
endc ;0
;D1 is the distance to the next frame = stored length + recv vevtor
subq #6+2,d1 ;STATUS VECTOR, Pointer
move d1,d0 ;
subq #4,d0 ;subtract CRC length
addq.w #2,d7 ;increment pointer (skip status vector length field)
WRAPINDEX d7 ;wrap D7 if beyond buffer
;d0.w: length (without crc)
;d7.w: read position (beginning of frame, dest MAC)
;a0: board I/O
;a1: dest pointer
move.l a1,a3
ifne _OPT_RECV
move.l d7,d1 ;start
;and.l #$FFFF,d1 ;keep only lower address
add.w d0,d1 ;start+bytes
bvs.s .nooptrecv ;what? beyond 16 Bit ? -> we really should consider this an error, really :-)
cmp.w #RXSTOP_INIT,d1 ;
bgt.s .nooptrecv ;sadly, we cannot use faster routine atm, because we have a wrap around in the SRAM buffer
ifne _OPT_ADR_QUIRK
eor.w #$6000,d7
endc ;_OPT_ADR_QUIRK
lea (a0,d7.w),a2 ;read pointer
ifeq _OPT_BUFFER_SWAP
btst #1,d7 ;do we have a read address that`s not long aligned?
beq.s .no_impair
move.w (a2)+,(a1)+ ;long-align address
subq #2,d0
ble.w .end_read ;should not happen (>14 per valid frame)
moveq #15,d1 ;
move.l d0,d2 ;total bytes
and.l d0,d1 ;remainder: max 15 bytes
lsr.w #4,d2 ;total/16
addq #2,d0
bra.s .impair
.no_impair:
move.l d0,d2 ;total bytes
moveq #15,d1 ;
lsr.w #4,d2 ;total/16
and.l d0,d1 ;remainder: max 15 bytes
.impair:
addq #3,d1 ;remainder, rounded up to +3 bytes
subq #1,d2 ;dbf
blt.s .nopt16_read ;less than 16 bytes -> bail out
bra.s .opt16_read
.opt16_loop:
move.w d3,(a1)+
.opt16_read:
rept 3
move.w (a2)+,(a1)+
move.w (a2)+,(a1)+
endr
move.w (a2)+,(a1)+
move.w (a2)+,d3
dbf d2,.opt16_loop
move.w d3,(a1)+
.nopt16_read:
else ;_OPT_BUFFER_SWAP
moveq #3,d1 ;round bytes up
add d0,d1 ;byte count + 3
endc ;_OPT_BUFFER_SWAP
lsr #2,d1 ;converted to dword count = ceil(bytes/4)
subq #1,d1 ;longwords - 1
blt.s .end_read
.opt_read:
ifne _OPT_BUFFER_SWAP
move.w (a2)+,d2 ;get current word
rol.w #8,d2 ;swap buffer to Big Endian
move.w d2,(a1)+
move.w (a2)+,d2
rol.w #8,d2 ;swap buffer to Big Endian
move.w d2,(a1)+
else ;_OPT_BUFFER_SWAP
move.w (a2)+,(a1)+
move.w (a2)+,(a1)+
endc ;_OPT_BUFFER_SWAP
dbf d1,.opt_read
bra.s .end_read
.nooptrecv:
;DEBUG ONLY
;bra.s .emergency_slow
;DEBUG ONLY
ifeq _OPT_BUFFER_SWAP ;1
;
;wraparound aware loop for big endian buffer
;
move.w #RXSTOP_INIT+1,d1 ;end address $6000
lea (a0,d7.w),a2 ;read pointer
sub.w d7,d1 ;minus start pointer = number of bytes until wrap
cmp.w d0,d1 ;
bhi.s .emergency_slow ;don`t trust anyone: if d1<0 or >total_length, then branch to slow routine
move d1,d2
lsr #2,d2 ;we copy long words
subq #1,d2 ;dbf
blt.s .nowords_beforewrap ;
.loop_beforewrap:
move.w (a2)+,(a1)+
move.w (a2)+,(a1)+
dbf d2,.loop_beforewrap
.nowords_beforewrap: ;
btst #1,d7 ;uneven longword address before wraparound ?
beq.s .copy_afterwrap
move.w (a2)+,(a1)+ ;copy word from uneven address
.copy_afterwrap:
move #RXSTART_INIT,d7 ;wrap
lea (a0,d7.w),a2 ;read pointer
move d0,d2 ;total bytes to read
sub.w d1,d2 ;remaining=total-copied (D1=RXSTOP_INIT+1-D7)
ble.s .end_read ;done, if zero
move d2,d1 ;
lsr #2,d2 ;we copy long words
bra.s .enter_afterwrap
.loop_afterwrap:
move.w (a2)+,(a1)+
move.w (a2)+,(a1)+
.enter_afterwrap:
dbf d2,.loop_afterwrap
and.b #3,d1 ;btst #1,d1 ;1 byte or short remaining ?
beq.s .end_read
move.w (a2)+,(a1)+
bra.s .end_read
.emergency_slow:
endc ;_OPT_BUFFER_SWAP
endc ;_OPT_RECV
;generic loop: check for position overflows with each word
;
;CAUTION: DWORD loop doesn`t apply here since buffer is organized
; in multiples of two bytes, same for frame lengths and
; possible wraparounds
;
moveq #1,d2 ;mask for lower bit
move d0,d1 ;byte count
lsr #1,d1 ;converted to word count
and.l d0,d2 ;if lower bits are set ->
bne.s .generic_read ;read 1 word more if impair byte/word count
subq #1,d1 ;words - 1
.generic_read:
move.w (a0,d7.w),d2 ;get current word
ifne _OPT_BUFFER_SWAP
rol.w #8,d2 ;swap buffer to Big Endian
endc
move.w d2,(a1)+ ; store currend word
addq #2,d7 ;increment position
WRAPINDEX d7 ;wrap D7 if beyond buffer
dbf d1,.generic_read
.end_read:
;frame copied, now advance HW pointer
READREG PNextPacket,a0,d1 ;write pointer for next packet
cmp #RXSTART_INIT,d1
bne.s .tail_nowrap
move #(RXSTOP_INIT&$fffe)+2,d1
.tail_nowrap:
subq #2,d1
WRITEREG ERXTAIL,a0,d1 ;tail pointer in buffer = rx-2, wraparound
move #ECON1_PKTDEC,d1
SETREG ECON1,a0,d1 ;set packet decrement ("frame", actually)
ext.l d0
ifne ADD_4RX
addq.l #4,d0 ;+4 (fake CRC) for Shapeshifter, also see server.c plain copy mode
endc
cmp.w #14,d0
bge.s .rts
moveq #0,d0
.rts:
movem.l (sp)+,d2-d7/a1-a3
rts
.err: moveq #-1,d0 ;receive error
bra.s .rts
.recv_err:
moveq #0,d0
READREG ESTAT,a0,d2 ;number of pending frames
move.b d2,d0 ;clear out count (ESTAT_PKTCNT7...ESTAT_PKTCNT0)
beq.s .rts ;nothing in buffer, return sheer emptiness
;serious problem: we need to re-initialize the recv buffer here
bsr _enc624j6l_RXReset
moveq #ECON1_RXEN,d0 ;re-enable reception
SETREG ECON1,a0,d0
moveq #0,d0
bra.s .rts
endc
;--------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------
; ;
; receive single frame from HW into supplied memory buffer ; receive single frame from HW into supplied memory buffer
@@ -1289,10 +1647,17 @@ _enc624j6l_HaveRecv:
; notes: ; notes:
; ;
_enc624j6l_RecvFrame: ; _enc624j6l_RecvFrame: ;
ifne OPT_Z2_WORDREAD
tst.l Z2Mode
bne.w _enc624j6l_RecvFrameZ2
endc
movem.l d2-d7/a1-a3,-(sp) movem.l d2-d7/a1-a3,-(sp)
move.l a0,d1 move.l a0,d1
beq .err beq .err
moveq #0,d0 moveq #0,d0
READREG ESTAT,a0,d2 ;number of pending frames READREG ESTAT,a0,d2 ;number of pending frames
move.b d2,d0 ;clear out count (ESTAT_PKTCNT7...ESTAT_PKTCNT0) move.b d2,d0 ;clear out count (ESTAT_PKTCNT7...ESTAT_PKTCNT0)
@@ -1899,4 +2264,12 @@ _enc624j6l_UMinDelay:
;recvcount: dc.l 0 ;recvcount: dc.l 0
;recvlist: ds.w 65536 ;recvlist: ds.w 65536
;separate section necessary with SAS/C
section data,data
Z2Mode:
_enc624j6l_Z2Mode:
dc.l 0
END END
@@ -362,5 +362,6 @@ ASM SAVEDS int enc624j6l_WritePHY(
ASMR(d0) unsigned long phyreg ASMREG(d0), ASMR(d0) unsigned long phyreg ASMREG(d0),
ASMR(d1) unsigned short data ASMREG(d1) ); ASMR(d1) unsigned short data ASMREG(d1) );
extern unsigned long enc624j6l_Z2Mode;
#endif /* _INC_ENC624J6L_H */ #endif /* _INC_ENC624J6L_H */
+83 -5
View File
@@ -9,21 +9,26 @@
*/ */
#include <exec/libraries.h> #include <exec/libraries.h>
#include <proto/exec.h> #include <proto/exec.h>
#include <exec/execbase.h>
/*#include <clib/expansion_protos.h> /*#include <clib/expansion_protos.h>
#include <pragmas/expansion_pragmas.h>*/ #include <pragmas/expansion_pragmas.h>*/
#include <proto/expansion.h> #include <proto/expansion.h>
#include <libraries/configvars.h> #include <libraries/configvars.h>
#include <hardware/intbits.h> #include <hardware/intbits.h>
#include "device.h" #include "device.h"
#include "hw.h" #include "hw.h"
#include "enc624j6l.h" #include "enc624j6l.h"
#include "registers.h" #include "registers.h"
#include "mmustuff.h"
extern const BYTE DeviceName[]; extern const BYTE DeviceName[];
#ifndef AFF_68060
#define AFF_68060 (1<<10)
#endif
#define ENC_MANUFACTURER 2588 #define ENC_MANUFACTURER 2588
#define ENC_BOARD 123 #define ENC_BOARD 123
@@ -90,11 +95,12 @@ ASM SAVEDS LONG hw_Find_Boards( ASMR(a0) DEVBASEP ASMREG(a0) )
struct ConfigDev *cfg = (0); struct ConfigDev *cfg = (0);
APTR boardbase; APTR boardbase;
if( (ExpansionBase = OpenLibrary( (BYTE*)exp_name, 37 )) ) if( (ExpansionBase = OpenLibrary( (STRPTR)exp_name, 37 )) )
{ {
/* TODO: actually verify that we have a module here */ /* TODO: actually verify that we have a module here */
/* ret = 1; */ /* ret = 1; */
enc624j6l_Z2Mode = 0;
for( i=0 ; i < MAX_UNITS ; i++ ) for( i=0 ; i < MAX_UNITS ; i++ )
{ {
cfg = FindConfigDev( cfg, ENC_MANUFACTURER, ENC_BOARD ); cfg = FindConfigDev( cfg, ENC_MANUFACTURER, ENC_BOARD );
@@ -103,10 +109,29 @@ ASM SAVEDS LONG hw_Find_Boards( ASMR(a0) DEVBASEP ASMREG(a0) )
boardbase = (APTR)cfg->cd_BoardAddr; boardbase = (APTR)cfg->cd_BoardAddr;
db->db_Units[i].duh_BASE = boardbase; db->db_Units[i].duh_BASE = boardbase;
D(("Board at %lx\n",(ULONG)cfg->cd_BoardAddr )); D(("Board at %lx\n",(ULONG)cfg->cd_BoardAddr ));
/* on Z2 ? */
if( boardbase <= (APTR)0x40000000 )
{
struct ExecBase *EB = (struct ExecBase *)SysBase;
/* 68000-68030 ? */
if( !(EB->AttnFlags & (AFF_68040|AFF_68060) ))
enc624j6l_Z2Mode = 1;
}
#ifdef USEMMU
if( MMUBase )
{
/* sometimes (A3000 with SuperKickstart), the MMU table is just wrong, fix "Invalid" bit, if necessary */
setupMMU( boardbase, 0x10000, 0, db );
}
#endif
/* bring board to sane state (i.e. perform soft reset) */ /* bring board to sane state (i.e. perform soft reset) */
/* if( boardbase < (APTR)0x40000000 ) */ /* debug only */ /* if( boardbase < (APTR)0x40000000 ) */ /* debug only */
enc624j6l_CheckBoard( boardbase ); enc624j6l_CheckBoard( boardbase );
} }
ret = i; ret = i;
D(("%ld boards found\n",ret)); D(("%ld boards found\n",ret));
@@ -300,12 +325,30 @@ ASM SAVEDS void hw_ConfigInit( ASMR(a0) DEVBASEP ASMREG(a0) )
} }
UBYTE hex2char( STRPTR src )
{
UBYTE cur = 0;
cur = *src;
if( cur >= 'a' )
cur &= ~32;
if( (cur < '0') || (cur>'F') )
return 0;
cur = ( cur < 'A' ) ? cur-'0' : cur-'A'+10;
return cur;
}
ASM SAVEDS void hw_ConfigUpdate( ASMR(a0) DEVBASEP ASMREG(a0), ASM SAVEDS void hw_ConfigUpdate( ASMR(a0) DEVBASEP ASMREG(a0),
ASMR(a1) void*argsv ASMREG(a1)) ASMR(a1) void*argsv ASMREG(a1))
{ {
struct HWConfig *args = (struct HWConfig *)argsv; /* see hwprivate.h */ struct HWConfig *args = (struct HWConfig *)argsv; /* see hwprivate.h */
struct HWData *hwd = &db->db_hwdat; struct HWData *hwd = &db->db_hwdat;
D(("hw_ConfigUpdate\n"));
if( args->timervalue ) if( args->timervalue )
hwd->timervalue = *args->timervalue; hwd->timervalue = *args->timervalue;
if( args->fullduplex ) if( args->fullduplex )
@@ -314,6 +357,28 @@ ASM SAVEDS void hw_ConfigUpdate( ASMR(a0) DEVBASEP ASMREG(a0),
hwd->flowcontrol = 1; hwd->flowcontrol = 1;
if( args->multicast ) if( args->multicast )
hwd->multicast = 1; hwd->multicast = 1;
if( args->conf_mac ) /* user-configured MAC address */
{
int i=0,val;
STRPTR src = args->conf_mac;
while( i < 6 )
{
val = hex2char( src++ ) << 4;
val |= hex2char( src++ );
if( (*src++ != ':') && (i<5) )
break;
db->db_Units[0].du_CFGAddr[i] = val;
/* db->db_Units[0].du_HWAddr[i] = val; */
i++;
}
D(("Configured MAC %s (-> %02lx%02lx%02lx%02lx%02lx%02lx\n",\
args->conf_mac, \
db->db_Units[0].du_CFGAddr[0], db->db_Units[0].du_CFGAddr[1],\
db->db_Units[0].du_CFGAddr[2], db->db_Units[0].du_CFGAddr[3],\
db->db_Units[0].du_CFGAddr[4], db->db_Units[0].du_CFGAddr[5] ));
enc624j6l_SetMAC( db->db_Units[0].duh_BASE, db->db_Units[0].du_CFGAddr );
}
} }
/* /*
@@ -408,7 +473,9 @@ ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(
phcon1 = enc624j6l_ReadPHY( boardbase, PHCON1 ); phcon1 = enc624j6l_ReadPHY( boardbase, PHCON1 );
phstat1 = enc624j6l_ReadPHY( boardbase, PHSTAT1 ); /* read again to see whether link is established */ phstat1 = enc624j6l_ReadPHY( boardbase, PHSTAT1 ); /* read again to see whether link is established */
if( ( phstat1 < 0 ) || ( phstat3 < 0 ) ) if( ( phstat1 < 0 ) || ( phstat3 < 0 ) )
{
return HW_MAC_INVALID; /* no valid data found */ return HW_MAC_INVALID; /* no valid data found */
}
/* a) check Link */ /* a) check Link */
ret = 0; ret = 0;
@@ -548,6 +615,17 @@ ASM void INCMAC( ASMR(a0) UBYTE *curmc ASMREG(a0) )
} }
} }
ASM void COPYMAC( ASMR(a0) UBYTE *dest ASMREG(a0),
ASMR(a1) UBYTE *src ASMREG(a1) )
{
dest[0] = src[0];
dest[1] = src[1];
dest[2] = src[2];
dest[3] = src[3];
dest[4] = src[4];
dest[5] = src[5];
}
/* TODO: implement Multicast hashing */ /* TODO: implement Multicast hashing */
ASM SAVEDS LONG hw_change_multicast( ASMR(a0) DEVBASEP ASMREG(a0), ASM SAVEDS LONG hw_change_multicast( ASMR(a0) DEVBASEP ASMREG(a0),
ASMR(d0) ULONG unit ASMREG(d0), ASMR(d0) ULONG unit ASMREG(d0),
@@ -560,7 +638,7 @@ ASM SAVEDS LONG hw_change_multicast( ASMR(a0) DEVBASEP ASMREG(
USHORT mc_hashes[4] = {0,0,0,0}; /* EHT1, EHT2, EHT3, EHT4 */ USHORT mc_hashes[4] = {0,0,0,0}; /* EHT1, EHT2, EHT3, EHT4 */
USHORT *hash_tab; USHORT *hash_tab;
struct MCastEntry *mc; struct MCastEntry *mc;
UBYTE *curmc; UBYTE curmc[6];
flags = PIO_INIT_BROAD_CAST; flags = PIO_INIT_BROAD_CAST;
@@ -581,7 +659,7 @@ ASM SAVEDS LONG hw_change_multicast( ASMR(a0) DEVBASEP ASMREG(
mc->mce_Node.mln_Succ ; mc->mce_Node.mln_Succ ;
mc=(struct MCastEntry*)mc->mce_Node.mln_Succ ) mc=(struct MCastEntry*)mc->mce_Node.mln_Succ )
{ {
curmc = mc->mce_start; COPYMAC( curmc, mc->mce_start );
while( CMPleMAC( curmc, mc->mce_stop ) ) while( CMPleMAC( curmc, mc->mce_stop ) )
{ {
D(("CMPleMAC %ld %02lx%02lx%02lx%02lx%02lx%02lx - %02lx%02lx%02lx%02lx%02lx%02lx\n",\ D(("CMPleMAC %ld %02lx%02lx%02lx%02lx%02lx%02lx - %02lx%02lx%02lx%02lx%02lx%02lx\n",\
@@ -594,7 +672,7 @@ ASM SAVEDS LONG hw_change_multicast( ASMR(a0) DEVBASEP ASMREG(
(ULONG)mc->mce_stop[4],(ULONG)mc->mce_stop[5] \ (ULONG)mc->mce_stop[4],(ULONG)mc->mce_stop[5] \
)); ));
crc = myhw_CRC32( mc->mce_start, 6 ); crc = myhw_CRC32( curmc, 6 );
curhash = (crc & 0x1f800000)>>23; /* 2 bit reg, 4 bit hash pos in reg */ curhash = (crc & 0x1f800000)>>23; /* 2 bit reg, 4 bit hash pos in reg */
mc_hashes[ ((curhash >> 4)&3) ] |= 1<<(curhash&0xf); mc_hashes[ ((curhash >> 4)&3) ] |= 1<<(curhash&0xf);
INCMAC( curmc ); INCMAC( curmc );
+2 -1
View File
@@ -41,7 +41,7 @@ struct HWData {
#define HW_CONFIGFILE "ENV:SANA2/enc624j6net.config" #define HW_CONFIGFILE "ENV:SANA2/enc624j6net.config"
/* appended to COMMON_TEMPLATE */ /* appended to COMMON_TEMPLATE */
#define HW_CONFIGTEMPLATE "TIMER/K/N,FULLDUPLEX/S,MULTICAST/S,FLOWCONTROL/S" #define HW_CONFIGTEMPLATE "TIMER/K/N,FULLDUPLEX/S,MULTICAST/S,FLOWCONTROL/S,MAC/K"
/* referenced by server.c, hw.c */ /* referenced by server.c, hw.c */
struct HWConfig struct HWConfig
@@ -51,6 +51,7 @@ struct HWConfig
ULONG fullduplex; ULONG fullduplex;
ULONG multicast; ULONG multicast;
ULONG flowcontrol; ULONG flowcontrol;
STRPTR conf_mac; /* user config MAC address */
}; };
#endif /* _INC_HWPRIVATE_H */ #endif /* _INC_HWPRIVATE_H */
+2 -2
View File
@@ -8,7 +8,7 @@
_OPT_BUFFER_SWAP EQU 0 ;perform byte swap on buffer ops (1) or assume native endian (0) _OPT_BUFFER_SWAP EQU 0 ;perform byte swap on buffer ops (1) or assume native endian (0)
_OPT_REG_SWAP EQU 0 ;perform byte swap on register ops (1) or assume native endian (0) _OPT_REG_SWAP EQU 0 ;perform byte swap on register ops (1) or assume native endian (0)
_OPT_ADR_QUIRK EQU 0 ;address lines 12/13 are swapped (1) or linear addressing (0) _OPT_ADR_QUIRK EQU 0 ;address lines 12/13 are swapped (1) or linear addressing (0)
_OPT_FLOWCONTROL EQU 0 ;perform flow control on RX (1) or not (0) _OPT_FLOWCONTROL EQU 0 ;perform flow control on RX (1) or not (0), obsolete (runtime option now)
_OPT_RECV EQU 1 ;faster recv (1) or generic (0) _OPT_RECV EQU 1 ;faster recv (1) or generic (0)
_OPT_CHECKLINK_TX EQU 0 ;check for link changes in TX (1) or expect from outside (0) -> see server.c _OPT_CHECKLINK_TX EQU 0 ;check for link changes in TX (1) or expect from outside (0) -> see server.c
@@ -123,4 +123,4 @@ WRAPINDEX macro
ble.s .nowrap\0\@ ble.s .nowrap\0\@
add.w #RXSTART_INIT-RXSTOP_INIT-1,\1 add.w #RXSTART_INIT-RXSTOP_INIT-1,\1
.nowrap\0\@ .nowrap\0\@
endm endm
+11 -11
View File
@@ -1,10 +1,10 @@
incdir include: ;incdir include:
ifnd _LVOSupervisor ;ifnd _LVOSupervisor
include lvo/exec_lib.i ;include lvo/exec_lib.i
;include exec/exec_lib.i ;include exec/exec_lib.i
endc ;endc
include exec/execbase.i ;include exec/execbase.i
include device.i ;include device.i
ifnd _LVORawDoFmt ifnd _LVORawDoFmt
@@ -52,10 +52,10 @@ _KPrintFa0a1:
rts rts
;DEBUG ;DEBUG
dc.l $deadbeef ; dc.l $deadbeef
dc.l sds_SIZEOF ; dc.l sds_SIZEOF
dc.l sv_SIZEOF ; dc.l sv_SIZEOF
dc.l du_SIZEOF ; dc.l du_SIZEOF
dc.l db_SIZEOF ; dc.l db_SIZEOF
+3 -3
View File
@@ -174,7 +174,7 @@ LONG get_device(struct prgdata *prg, BYTE *name, LONG unit )
static BOOL findcmd(struct NSDeviceQueryResult *nsdqr, UWORD cmd) static BOOL findcmd(struct NSDeviceQueryResult *nsdqr, UWORD cmd)
{ {
UWORD *p; UWORD *p;
for (p = nsdqr->SupportedCommands; (*p); ++p) for (p = nsdqr->nsdqr_SupportedCommands; (*p); ++p )
if (*p == cmd) if (*p == cmd)
return TRUE; return TRUE;
return FALSE; return FALSE;
@@ -204,9 +204,9 @@ LONG probe_device( struct prgdata *prg )
return 0; return 0;
} }
if (nsdqr.DeviceType != NSDEVTYPE_SANA2) if ( nsdqr.nsdqr_DeviceType != NSDEVTYPE_SANA2 )
{ {
Printf("Device is not a SANA-II device (type %ld, needed %ld\n).", (LONG)nsdqr.DeviceType, (LONG) NSDEVTYPE_SANA2); Printf("Device is not a SANA-II device (type %ld, needed %ld\n).", (LONG)nsdqr.nsdqr_DeviceType, (LONG) NSDEVTYPE_SANA2 );
return 0; return 0;
} }
+109
View File
@@ -0,0 +1,109 @@
/*
set up MMU for flash access using mmu.library
(C) 2022 Henryk Richter
The F0 area (0xF00000-0xF7ffff) is known to be
reserved by Commodore for diagnostic ROMs (or
BootROMs), as well as additional kickstart modules.
Some configurations of the MMU will mark this
area as ROM such that write attempts are inhibited
by the processor itself.
This code will revert any existing remapping (to
RAM) and set up useable cache flags such that the
Flash can be written to.
*/
#define __NOLIBBASE__
#include <proto/mmu.h>
#include <mmu/context.h>
#include <mmu/mmutags.h>
#include "debug.h"
#include "mmustuff.h"
//extern struct Library *MMUBase;
//extern struct DosLibrary *DOSBase;
#define CACHEFLAGS (MAPP_CACHEINHIBIT|MAPP_COPYBACK|MAPP_NONSERIALIZED|MAPP_IMPRECISE)
#define ROMFLAGS (MAPP_CACHEINHIBIT|MAPP_GLOBAL|MAPP_IO|MAPP_USER0)
#define ROMCFLAGS (MAPP_CACHEINHIBIT|MAPP_COPYBACK|MAPP_NONSERIALIZED|MAPP_IMPRECISE|MAPP_GLOBAL|MAPP_IO|MAPP_WRITEPROTECTED|MAPP_ROM|MAPP_INVALID)
#ifdef __VBCC__
#define BCAST
#else
#define BCAST (ULONG)
#endif
/*
set up MMU as I/O space from "base", "size" bytes,
keep flags==0 for now
the device pointer is used to fetch the MMUbase from it, nothing more
*/
ASM SAVEDS LONG setupMMU( ASMR(a0) void *base ASMREG(a0),
ASMR(d0) LONG size ASMREG(d0),
ASMR(d1) ULONG flags ASMREG(d1),
ASMR(a6) DEVBASEP ASMREG(a6) )
{
struct MMUContext *ctx,*sctx; /* default context, supervisor context */
ULONG props;
struct MinList *ctxl,*sctxl;
struct TagItem tgs[2] = {{TAG_DONE,0},{TAG_DONE,0} };
if( !MMUBase )
return 1; /* cannot setup MMU without MMULib */
ctx=DefaultContext();
sctx=SuperContext(ctx);
props = GetPropertiesA(sctx,BCAST base,tgs);
props |= GetPropertiesA(sctx,BCAST base,tgs);
D(( (STRPTR)"Current MMU props on 0x%lx area: 0x%lx\n",(ULONG)base,props));
LockContextList();
LockMMUContext(ctx);
LockMMUContext(sctx);
if( (props & MAPP_REMAPPED) )
{
D(( (STRPTR)"Memory was remapped elsewhere, reverting to physical location\n" ));
if( (ctxl=GetMapping(ctx)))
{
if( (sctxl=GetMapping(sctx)))
{
if( SetPropertiesA(ctx,0,MAPP_REMAPPED|CACHEFLAGS,BCAST base,size,tgs) )
{
if( SetPropertiesA(sctx,0,MAPP_REMAPPED|CACHEFLAGS,BCAST base,size,tgs) )
{
}
}
ReleaseMapping(sctx,sctxl);
}
ReleaseMapping(ctx,ctxl);
}
}
/* set desired flags */
SetPropertiesA(ctx,ROMFLAGS,ROMCFLAGS, BCAST base,size,tgs);
SetPropertiesA(sctx,ROMFLAGS,ROMCFLAGS,BCAST base,size,tgs);
RebuildTrees(ctx,sctx,NULL);
UnlockMMUContext(sctx);
UnlockMMUContext(ctx);
UnlockContextList();
props = GetPropertiesA(sctx,BCAST base,tgs);
props |= GetPropertiesA(sctx,BCAST base,tgs);
D(( (STRPTR)"New MMU props on 0x%lx area: 0x%lx\n",(ULONG)base,props));
return 0;
}
+30
View File
@@ -0,0 +1,30 @@
/*
set up MMU for flash access using mmu.library
(C) 2022 Henryk Richter
The F0 area (0xF00000-0xF7ffff) is known to be
reserved by Commodore for diagnostic ROMs (or
BootROMs), as well as additional kickstart modules.
Some configurations of the MMU will mark this
area as ROM such that write attempts are inhibited
by the processor itself.
This code will revert any existing remapping (to
RAM) and set up useable cache flags such that the
Flash can be written to.
*/
#ifndef _INC_MMUSTUFF_H
#define _INC_MMUSTUFF_H
#include "compiler.h"
#include "device.h"
ASM SAVEDS LONG setupMMU( ASMR(a0) void *base ASMREG(a0),
ASMR(d0) LONG size ASMREG(d0),
ASMR(d1) ULONG flags ASMREG(d1),
ASMR(a6) DEVBASEP ASMREG(a6) );
#endif
+17 -5
View File
@@ -154,7 +154,7 @@ static LONG server_setOnline( DEVBASEP , ULONG unit, ULONG evt )
struct Library *TimerBase; struct Library *TimerBase;
MemSet( &timereq, 0, sizeof(struct timerequest)); MemSet( &timereq, 0, sizeof(struct timerequest));
OpenDevice("timer.device", 0, (struct IORequest*)&timereq, 0); OpenDevice( (STRPTR)"timer.device", 0, (struct IORequest*)&timereq, 0);
TimerBase = (struct Library *)timereq.tr_node.io_Device; TimerBase = (struct Library *)timereq.tr_node.io_Device;
GetSysTime( &db->db_Units[unit].du_DevStats.LastStart ); GetSysTime( &db->db_Units[unit].du_DevStats.LastStart );
CloseDevice( (struct IORequest*)&timereq); CloseDevice( (struct IORequest*)&timereq);
@@ -293,7 +293,7 @@ static LONG server_Config( DEVBASEP )
hw_ConfigInit( db ); /* hw defaults */ hw_ConfigInit( db ); /* hw defaults */
if((cfgfile = Open(HW_CONFIGFILE, MODE_OLDFILE))) /* see hwprivate.h for CONFIGFILE */ if((cfgfile = Open( (STRPTR)HW_CONFIGFILE, MODE_OLDFILE))) /* see hwprivate.h for CONFIGFILE */
{ {
struct HWConfig args; /* see hwprivate.h */ struct HWConfig args; /* see hwprivate.h */
struct RDArgs *readargs; struct RDArgs *readargs;
@@ -302,7 +302,7 @@ static LONG server_Config( DEVBASEP )
MemSet( &args, 0, sizeof( args ) ); MemSet( &args, 0, sizeof( args ) );
readargs = ReadArgs( (BYTE*)configtemplate, (LONG *)&args, NULL); readargs = ReadArgs( (STRPTR)configtemplate, (LONG *)&args, NULL);
Close( SelectInput( cfgfile ) ); /* restore default input and retrieve cfgfile */ Close( SelectInput( cfgfile ) ); /* restore default input and retrieve cfgfile */
@@ -354,7 +354,7 @@ static LONG server_changeMulticast( DEVBASEP, ULONG unit, struct IOSana2Req *ior
entry = (struct MCastEntry *)db->db_svdat.sv_mclist.lh_Head; entry = (struct MCastEntry *)db->db_svdat.sv_mclist.lh_Head;
while( entry->mce_Node.mln_Succ ) while( entry->mce_Node.mln_Succ )
{ {
if( CMPeqMAC( entry->mce_start, ioreq->ios2_SrcAddr ) ) if( CMPeqMAC( (BYTE*)entry->mce_start, (BYTE*)ioreq->ios2_SrcAddr ) )
break; break;
entry = (struct MCastEntry *)entry->mce_Node.mln_Succ; entry = (struct MCastEntry *)entry->mce_Node.mln_Succ;
} }
@@ -1143,11 +1143,17 @@ VOID SAVEDS ServerTask(void)
server_HandleS2Commands( db ); server_HandleS2Commands( db );
gotmask &= ~portsigmask; gotmask &= ~portsigmask;
} }
/* Important: first check CTRL_D to go offline cleanly
before acting on CTRL_C
*/
if( gotmask & SIGBREAKF_CTRL_D ) if( gotmask & SIGBREAKF_CTRL_D )
{ {
D(("Got CTRL-D in Server. Checking Online status\n")); D(("Got CTRL-D in Server. Checking Online status\n"));
gotmask &= ~SIGBREAKF_CTRL_D; gotmask &= ~SIGBREAKF_CTRL_D;
server_CloseDevice_offline( db ); server_CloseDevice_offline( db );
/* acknowledge command (unless CTRL_C was also set) */
if( (db->db_Task) && (!(gotmask & SIGBREAKF_CTRL_C)) )
Signal( db->db_Task, db->db_ServerSigMask );
} }
if( gotmask & SIGBREAKF_CTRL_C ) if( gotmask & SIGBREAKF_CTRL_C )
{ {
@@ -1161,10 +1167,16 @@ VOID SAVEDS ServerTask(void)
QuitServer: QuitServer:
if( db ) if( db )
db->db_ServerProc = (0); {
db->db_ServerProc = (0);
/* acknowledge command */
if( db->db_Task )
Signal( db->db_Task, db->db_ServerSigMask );
}
{ /* revert to "real" execbase, in case that we never got the startup msg */ { /* revert to "real" execbase, in case that we never got the startup msg */
struct { struct Library *db_SysBase; } *db = (void*)0x4; struct { struct Library *db_SysBase; } *db = (void*)0x4;
D(("Server exiting")); D(("Server exiting"));
Forbid(); Forbid();
} }
+2 -1
View File
@@ -30,7 +30,8 @@ ASMOBJECTS = $(SUBDIR)/enc624j6l.o$(TYPE) $(SUBDIR)/intervaltimer.o$(TYPE)
# more than one flavour of the same code base may be build with this setup # more than one flavour of the same code base may be build with this setup
# arguments passed down recursively (example): # arguments passed down recursively (example):
#DEVICEID=v2expeth.device #DEVICEID=v2expeth.device
DEFINES1 = DEFINE HW_DMA_TX=1 DEFINES1 = DEFINE HW_DMA_TX=1
#DEFINES1 = $(DEFINES1) DEFINE USEMMU=1
ASMDEFS1 = -DHW_DMA_TX=1 ASMDEFS1 = -DHW_DMA_TX=1
#CPU = 68020 #CPU = 68020
+165
View File
@@ -0,0 +1,165 @@
###############################################################################
#
# SAS/C Makefile for V4 ETH
#
# author: Henryk Richter <henryk.richter@gmx.net>
#
# tools required:
# working SAS/C installation (sc:, sc:include and sc:netinclude assigned,
# "sc", "smake" and "slink in path)
# vasm in path (vasmm68k_mot)
#
###############################################################################
###############################################################################
# Name, version
#
###############################################################################
#DEVICEVERSION=1
#DEVICEREVISION=95
#DEVICEDATE=08.09.2018
#DEVICEEXTRA=Beta
SUBDIR=v4net
ASMOBJECTS = $(SUBDIR)/vampuuid.o$(TYPE) $(SUBDIR)/intervaltimer.o$(TYPE) \
$(SUBDIR)/v4l.o$(TYPE) kprintf.o$(TYPE)
#
# more than one flavour of the same code base may be build with this setup
#
# some arguments are passed down recursively (example):
#DEVICEID=v4net.device
#DEFINES1 = DEFINE HW_DMA_TX=1
#ASMDEFS1 = -DHW_DMA_TX
#CPU = 68020
###############################################################################
#
# common.smk (SAS/C variant of common.mk)
#
# author: Henryk Richter <henryk.richter@gmx.net>
#
# note: when switching between different hardware targets, don`t forget
# "make clean" in between
###############################################################################
# debug = 1 will include string debugging for terminal/sushi/sashimi
# not enabled yet in SAS/C makefile
debug = 0
###############################################################################
# prefix for system includes (ASM)
#
###############################################################################
PREFX = sc:
SYSINC = $(PREFX)include
###############################################################################
#
# compiler executables and support calls
#
###############################################################################
RM = delete force quiet
CC = sc
LD = slink
MAKE = smake
CFLAGS = NOVER NOICONS nostackcheck math=standard strmerge strsect=code parameters=regs data=near opt optsize
LDFLAGS = NOICONS SC SD ND
VASM = vasmm68k_mot
VASMFORMAT = -m$(CPU) -Fhunk -nowarn=2064 -quiet -I$(SYSINC)
###############################################################################
#
# paths to the local includes
#
###############################################################################
IPATH =
###############################################################################
#
# compile-level feature definitions
#
###############################################################################
# see all: target for defaults in $(DEFINES)
DEFINES = $(DEFINES1) CPU=$(CPU)
DEFINES = $(DEFINES) DEFINE ALLREADREQS=1
#DEFINES = $(DEFINES) DEFINE DEVICEVERSION=$(DEVICEVERSION)
#DEFINES = $(DEFINES) DEFINE DEVICEREVISION=$(DEVICEREVISION)
#DEFINES = $(DEFINES) DEFINE DEVICEDATE=$(DEVICEDATE)
#DEFINES = $(DEFINES) DEFINE DEVICEEXTRA=$(DEVICEEXTRA)
DEFINES = $(DEFINES) DEFINE NEWSTYLE=1
DEFINES = $(DEFINES) DEFINE HAVE_VERSION_H=1
DEFINES = $(DEFINES) DEFINE DEVICENAME=$(DEVICEID)
ASMDEFS = $(ASMDEFS1)
#-DDEVICEVERSION=$(DEVICEVERSION) -DDEVICEREVISION=$(DEVICEREVISION)
###############################################################################
#
# debug
#
###############################################################################
#ifeq ($(debug),1)
#CFLAGS += -DDEBUG -g
#CFLAGS2 += -DDEBUG -g
#LINKLIBS = -L$(PREFX)/lib -ldebug
#endif
###############################################################################
#
# compiler flags and optimization levels
#
###############################################################################
CFLAGS = $(CFLAGS) INCLUDEDIR="" INCLUDEDIR=$(SUBDIR) $(DEFINES)
###############################################################################
#
# objects to build
#
###############################################################################
# ASM based alternative to deviceheader.o would be romtag.o
OBJECTS = deviceheader.o$(TYPE) deviceinit.o$(TYPE) device.o$(TYPE) \
server.o$(TYPE) $(SUBDIR)/hw.o$(TYPE)
OBJECTS = $(OBJECTS) $(ASMOBJECTS)
BUILDDEPS = device.h server.h hw.h macros.h compiler.h
###############################################################################
#
# rules and commands
#
###############################################################################
.asm.o$(TYPE): $(BUILDDEPS) $*.asm
$(VASM) $(VASMFORMAT) $(ASMDEFS) -o $@ $*.asm
.c.o$(TYPE): $(BUILDDEPS) $*.c
$(CC) $(CFLAGS) OBJECTNAME $@ $*.c
all:
$(MAKE) -f smakefile.v4 TYPE=4 v4net.device DEVICEID=v4net.device CPU=68020
v4net.device: $(OBJECTS)
-$(LD) $(OBJECTS) LIB sc:lib/sc.lib $(LDFLAGS) TO $(DEVICEID)
clean:
-$(RM) v4net.device \#?.o4 $(SUBDIR)/\#?.o4
install:
copy v4net.device DEVS:Networks
# dependencies
device.o$(TYPE): device.c device.h server.h hw.h macros.h compiler.h
server.o$(TYPE): server.c device.h server.h hw.h macros.h compiler.h
deviceinit.o$(TYPE): deviceinit.c device.h server.h hw.h macros.h compiler.h
deviceheader.o$(TYPE): deviceheader.c device.h server.h hw.h macros.h compiler.h
+169
View File
@@ -0,0 +1,169 @@
###############################################################################
#
# SAS/C Makefile for VWizNet
#
# author: Henryk Richter <henryk.richter@gmx.net>
#
# tools required:
# working SAS/C installation (sc:, sc:include and sc:netinclude assigned,
# "sc", "smake" and "slink in path)
# vasm in path (vasmm68k_mot)
#
###############################################################################
###############################################################################
# Name, version
#
###############################################################################
#DEVICEVERSION=1
#DEVICEREVISION=95
#DEVICEDATE=08.09.2018
#DEVICEEXTRA=Beta
SUBDIR=qwiznet
ASMOBJECTS = $(SUBDIR)/vampuuid.o$(TYPE) $(SUBDIR)/intervaltimer.o$(TYPE) \
$(SUBDIR)/w5500l.o$(TYPE)
#
# more than one flavour of the same code base may be build with this setup
#
# some arguments are passed down recursively (example):
#DEVICEID=vwiznet500ex.device
#DEFINES1 = -DPROTO_V2EXPNET
#ASMDEFS = -DPROTO_V2EXPNET
#CPU = 68020
###############################################################################
#
# common.smk (SAS/C variant of common.mk)
#
# author: Henryk Richter <henryk.richter@gmx.net>
#
# note: when switching between different hardware targets, don`t forget
# "make clean" in between
###############################################################################
# debug = 1 will include string debugging for terminal/sushi/sashimi
# not enabled yet in SAS/C makefile
debug = 0
###############################################################################
# prefix for system includes (ASM)
#
###############################################################################
PREFX = sc:
SYSINC = $(PREFX)include
###############################################################################
#
# compiler executables and support calls
#
###############################################################################
RM = delete force quiet
CC = sc
LD = slink
MAKE = smake
CFLAGS = NOVER NOICONS nostackcheck math=standard strmerge strsect=code parameters=regs data=near opt optsize
LDFLAGS = NOICONS SC SD ND
VASM = vasmm68k_mot
VASMFORMAT = -m$(CPU) -Fhunk -nowarn=2064 -quiet -I$(SYSINC)
###############################################################################
#
# paths to the local includes
#
###############################################################################
IPATH =
###############################################################################
#
# compile-level feature definitions
#
###############################################################################
# see all: target for defaults in $(DEFINES)
DEFINES = $(DEFINES1) CPU=$(CPU)
#DEFINES = $(DEFINES) DEFINE DEVICEVERSION=$(DEVICEVERSION)
#DEFINES = $(DEFINES) DEFINE DEVICEREVISION=$(DEVICEREVISION)
#DEFINES = $(DEFINES) DEFINE DEVICEDATE=$(DEVICEDATE)
DEFINES = $(DEFINES) DEFINE NEWSTYLE=1
DEFINES = $(DEFINES) DEFINE HAVE_VERSION_H=1
DEFINES = $(DEFINES) DEFINE DEVICENAME=$(DEVICEID)
#DEFINES = $(DEFINES) DEFINE DEVICEEXTRA=$(DEVICEEXTRA)
ASMDEFS = $(ASMDEFS1)
#-DDEVICEVERSION=$(DEVICEVERSION) -DDEVICEREVISION=$(DEVICEREVISION)
###############################################################################
#
# debug
#
###############################################################################
#ifeq ($(debug),1)
#CFLAGS += -DDEBUG -g
#CFLAGS2 += -DDEBUG -g
#LINKLIBS = -L$(PREFX)/lib -ldebug
#endif
###############################################################################
#
# compiler flags and optimization levels
#
###############################################################################
CFLAGS = $(CFLAGS) INCLUDEDIR="" INCLUDEDIR=$(SUBDIR) $(DEFINES)
###############################################################################
#
# objects to build
#
###############################################################################
# ASM based alternative to deviceheader.o would be romtag.o
OBJECTS = deviceheader.o$(TYPE) deviceinit.o$(TYPE) device.o$(TYPE) \
server.o$(TYPE) $(SUBDIR)/hw.o$(TYPE)
OBJECTS = $(OBJECTS) $(ASMOBJECTS)
BUILDDEPS = device.h server.h hw.h macros.h compiler.h
###############################################################################
#
# rules and commands
#
###############################################################################
.asm.o$(TYPE): $(BUILDDEPS) $*.asm
$(VASM) $(VASMFORMAT) $(ASMDEFS) -o $@ $*.asm
.c.o$(TYPE): $(BUILDDEPS) $*.c
$(CC) $(CFLAGS) OBJECTNAME $@ $*.c
all:
$(MAKE) -f smakefile.vwiz TYPE=sd vwiznet600sd.device DEVICEID=vwiznet600sd.device CPU=68020
$(MAKE) -f smakefile.vwiz TYPE=ex vwiznet500ex.device DEVICEID=vwiznet500ex.device CPU=68020 \
"DEFINES1=DEFINE PROTO_V2EXPNET" ASMDEFS1=-DPROTO_V2EXPNET
vwiznet600sd.device: $(OBJECTS)
-$(LD) $(OBJECTS) LIB sc:lib/sc.lib $(LDFLAGS) TO $(DEVICEID)
vwiznet500ex.device: $(OBJECTS)
-$(LD) $(OBJECTS) LIB sc:lib/sc.lib $(LDFLAGS) TO $(DEVICEID)
clean:
-$(RM) vwiznet600sd.device vwiznet500ex.device \#?.oex \#?.osd $(SUBDIR)/\#?.oex $(SUBDIR)/\#?.osd
install:
copy vwiznet600sd.device vwiznet500ex.device DEVS:Networks
# dependencies
device.o$(TYPE): device.c device.h server.h hw.h macros.h compiler.h
server.o$(TYPE): server.c device.h server.h hw.h macros.h compiler.h
deviceinit.o$(TYPE): deviceinit.c device.h server.h hw.h macros.h compiler.h
deviceheader.o$(TYPE): deviceheader.c device.h server.h hw.h macros.h compiler.h
+2 -2
View File
@@ -9,9 +9,9 @@
#define _INC_VERSION_H #define _INC_VERSION_H
#define DEVICEVERSION 2 #define DEVICEVERSION 2
#define DEVICEREVISION 9 #define DEVICEREVISION 15
#define DEVICEEXTRA #define DEVICEEXTRA
/* #define DEVICEEXTRA Beta */ /* #define DEVICEEXTRA Beta */
#define DEVICEDATE 23.08.20 #define DEVICEDATE 1.3.26
#endif #endif
-16
View File
@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<DesignStrategy goal="Balanced" strategy="area" version="12.1">
<Description>The Default strategy provides a balanced optimization of performance results vs. runtime. The default property values correspond to the default values of each of the underlying implementation tools. This strategy keeps all properties in an unlocked state so that you can modify the values as you wish.</Description>
<DeviceList devices="xc9500xl"/>
<Properties>
<property name="Synthesize - XST:Optimization Goal" value="Speed"/>
<property name="Synthesize - XST:Optimization Effort" value="High"/>
<property name="Synthesize - XST:FSM Encoding Algorithm" value="Gray"/>
<property name="Synthesize - XST:Safe Implementation" value="No"/>
<property name="Synthesize - XST:Case Implementation Style" value="None"/>
</Properties>
</DesignStrategy>
File diff suppressed because it is too large Load Diff
+279 -192
View File
@@ -60,7 +60,7 @@ entity LAN_IDE_CP is
RESET : in STD_LOGIC; RESET : in STD_LOGIC;
INT2_OUT : out STD_LOGIC; INT2_OUT : out STD_LOGIC;
INT6_OUT : out STD_LOGIC; INT6_OUT : out STD_LOGIC;
AUTOBOOT_OFF : in STD_LOGIC; IDE_OFF : in STD_LOGIC;
ROM_B : out STD_LOGIC_VECTOR (1 downto 0); ROM_B : out STD_LOGIC_VECTOR (1 downto 0);
ROM_OE : out STD_LOGIC; ROM_OE : out STD_LOGIC;
IDE_WAIT : in STD_LOGIC; IDE_WAIT : in STD_LOGIC;
@@ -94,7 +94,6 @@ architecture Behavioral of LAN_IDE_CP is
); );
SIGNAL LAN_RST_SM: lan_reset :=nop; SIGNAL LAN_RST_SM: lan_reset :=nop;
SIGNAL lancp: STD_LOGIC; -- LAN or ClockPort
SIGNAL ide: STD_LOGIC; SIGNAL ide: STD_LOGIC;
SIGNAL autoconfig: STD_LOGIC; SIGNAL autoconfig: STD_LOGIC;
SIGNAL lan_adr: STD_LOGIC; SIGNAL lan_adr: STD_LOGIC;
@@ -103,12 +102,17 @@ architecture Behavioral of LAN_IDE_CP is
signal Dout1:STD_LOGIC_VECTOR(3 downto 0); signal Dout1:STD_LOGIC_VECTOR(3 downto 0);
signal AUTO_CONFIG_DONE:STD_LOGIC_VECTOR(1 downto 0); signal AUTO_CONFIG_DONE:STD_LOGIC_VECTOR(1 downto 0);
signal AUTO_CONFIG_DONE_CYCLE:STD_LOGIC_VECTOR(1 downto 0); signal AUTO_CONFIG_DONE_CYCLE:STD_LOGIC_VECTOR(1 downto 0);
signal D_IN:STD_LOGIC_VECTOR(15 downto 0);
signal D_OUT:STD_LOGIC_VECTOR(15 downto 0);
signal A_LAN_OUT:STD_LOGIC_VECTOR(13 downto 0);
signal SHUT_UP:STD_LOGIC_VECTOR(2 downto 0); signal SHUT_UP:STD_LOGIC_VECTOR(2 downto 0);
signal IDE_BASEADR:STD_LOGIC_VECTOR(7 downto 0); signal IDE_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
signal LAN_BASEADR:STD_LOGIC_VECTOR(7 downto 0); signal LAN_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
signal CP_BASEADR:STD_LOGIC_VECTOR(7 downto 0); signal CP_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
signal IDE_ENABLE:STD_LOGIC; signal IDE_ENABLE:STD_LOGIC;
signal ROM_OE_S:STD_LOGIC; signal ROM_OE_S:STD_LOGIC;
signal ROM_OE_D0:STD_LOGIC;
signal IDE_TERM:STD_LOGIC;
signal IDE_R_S:STD_LOGIC; signal IDE_R_S:STD_LOGIC;
signal IDE_W_S:STD_LOGIC; signal IDE_W_S:STD_LOGIC;
signal DTACK_S:STD_LOGIC; signal DTACK_S:STD_LOGIC;
@@ -117,7 +121,8 @@ architecture Behavioral of LAN_IDE_CP is
signal DECODE_RESET: std_logic; signal DECODE_RESET: std_logic;
signal LAN_INT_D0: std_logic; signal LAN_INT_D0: std_logic;
signal DS: std_logic; signal DS: std_logic;
signal DS_D: std_logic; signal DS_D: std_logic;
signal AS_D: std_logic;
signal LAN_RD_S: std_logic; signal LAN_RD_S: std_logic;
signal LAN_WRH_S: std_logic; signal LAN_WRH_S: std_logic;
signal LAN_WRL_S: std_logic; signal LAN_WRL_S: std_logic;
@@ -126,6 +131,8 @@ architecture Behavioral of LAN_IDE_CP is
signal CP_RD_S: std_logic; signal CP_RD_S: std_logic;
signal CP_WE_S: std_logic; signal CP_WE_S: std_logic;
signal CP_WE_QUIRK: std_logic; signal CP_WE_QUIRK: std_logic;
signal SET_FREQUENCY: std_logic :='1';
signal CLEAR_REGISTER: std_logic :='1';
signal LAN_CS_RST: std_logic; signal LAN_CS_RST: std_logic;
signal LAN_WR_RST: std_logic; signal LAN_WR_RST: std_logic;
@@ -147,85 +154,96 @@ begin
DECODE_RESET <= BERR and reset; DECODE_RESET <= BERR and reset;
DS <= UDS and LDS; DS <= UDS and LDS;
clock_init: process(CLK_EXT) AS_DELAY: process(CLK_EXT,reset)
begin begin
if(rising_edge(CLK_EXT))then
if(reset = '0')then if(rising_edge(AMIGA_CLK))then
--init the clock! if(reset = '0' )then
case LAN_RST_SM is AS_D <= '1';
when nop=>
LAN_CS_RST<='0';
LAN_WR_RST<='0';
LAN_RST_SM<=wait0;
when wait0=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=clr;
when clr=>
LAN_CS_RST<='1';
LAN_WR_RST<='1';
LAN_RST_SM<=clr_commit;
when clr_commit=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=wait1;
when wait1=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=set;
when set=>
LAN_CS_RST<='1';
LAN_WR_RST<='1';
LAN_RST_SM<=set_commit;
when set_commit=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=done;
when done=>
LAN_CS_RST<='0';
LAN_WR_RST<='0';
LAN_RST_SM<=done;
end case;
else else
LAN_CS_RST<='0'; AS_D <= AS;
LAN_WR_RST<='0';
LAN_RST_SM<=nop;
end if; end if;
end if; end if;
end process;
clock_init: process(CLK_EXT,reset,SET_FREQUENCY)
begin
if(reset = '0' and SET_FREQUENCY ='1')then
LAN_RST_SM <= nop;
LAN_CS_RST<='1';
LAN_WR_RST<='1';
elsif(rising_edge(CLK_EXT))then
--init the clock afer reset finished!
case LAN_RST_SM is
when nop=>
LAN_CS_RST<='1';
LAN_WR_RST<='1';
LAN_RST_SM<=wait0;
when wait0=>
LAN_CS_RST<='0';
LAN_WR_RST<='1';
LAN_RST_SM<=clr;
when clr=>
LAN_CS_RST<='0';
LAN_WR_RST<='0';
LAN_RST_SM<=clr_commit;
when clr_commit=>
CLEAR_REGISTER <='0';
LAN_CS_RST<='0';
LAN_WR_RST<='1';
LAN_RST_SM<=wait1;
when wait1=>
LAN_CS_RST<='0';
LAN_WR_RST<='1';
LAN_RST_SM<=set;
when set=>
LAN_CS_RST<='0';
LAN_WR_RST<='0';
LAN_RST_SM<=set_commit;
when set_commit=>
LAN_CS_RST<='0';
LAN_WR_RST<='1';
LAN_RST_SM<=done;
when done=> --stay here
SET_FREQUENCY <='0';
LAN_CS_RST<='1';
LAN_WR_RST<='1';
LAN_RST_SM<=done;
end case;
end if;
end process clock_init; end process clock_init;
ADDRESS_DECODE: process(DECODE_RESET,AS) ADDRESS_DECODE: process(reset,AMIGA_CLK)
begin begin
if(DECODE_RESET ='0')then if(reset ='0')then
autoconfig <= '0'; autoconfig <= '1';
ide <= '0'; ide <= '1';
lan_adr <= '0'; lan_adr <= '1';
lan_adr_sw <= '0'; lan_adr_sw <= '1';
cp <= '0'; cp <= '1';
lancp <= '0'; elsif(rising_edge(AMIGA_CLK))then
elsif(falling_edge(AS))then
--default values --default values
autoconfig <= '0'; autoconfig <= '1';
ide <= '0'; ide <= '1';
lan_adr <= '0'; lan_adr <= '1';
lan_adr_sw <= '0'; lan_adr_sw <= '1';
cp <= '0'; cp <= '1';
lancp <= '0'; if(A(23 downto 16) = x"E8" and AUTO_CONFIG_DONE > "00" and CFIN='0')then
if(A(23 downto 16) = x"E8" and AUTO_CONFIG_DONE < "11" and CFIN='0')then autoconfig <= '0';
autoconfig <= '1'; end if;
elsif(A(23 downto 16) = LAN_BASEADR and SHUT_UP(0)='0' )then if(A(23 downto 16) = LAN_BASEADR and SHUT_UP(0)='0' )then
if(A(14 downto 13)<"11")then if(A(14 downto 13)<"11")then
lan_adr_sw <= '1'; lan_adr_sw <= '0';
end if; end if;
lan_adr <= '1'; lan_adr <= '0';
lancp <= '1'; end if;
elsif(A(23 downto 16) = CP_BASEADR and SHUT_UP(1)='0')then if(A(23 downto 16) = CP_BASEADR and SHUT_UP(1)='0')then
cp <= '1'; cp <= '0';
lancp <= '1'; end if;
elsif(A(23 downto 16) = IDE_BASEADR and SHUT_UP(2)='0')then if(A(23 downto 16) = IDE_BASEADR and SHUT_UP(2)='0')then
ide <= '1'; ide <= '0';
lancp <= '1';
end if; end if;
end if; end if;
end process ADDRESS_DECODE; end process ADDRESS_DECODE;
@@ -234,80 +252,120 @@ begin
lan_int_proc: process (AMIGA_CLK,reset) lan_int_proc: process (AMIGA_CLK,reset)
begin begin
if(reset ='0') then if(reset ='0') then
LAN_INT_ENABLE <='0'; LAN_INT_ENABLE <='1';
LAN_IRQ_D0 <='1'; LAN_IRQ_D0 <='1';
LAN_IRQ_OUT <='1'; LAN_IRQ_OUT <='1';
elsif falling_edge(AMIGA_CLK) then elsif falling_edge(AMIGA_CLK) then
LAN_IRQ_D0 <= LAN_INT; LAN_IRQ_D0 <= LAN_INT;
if(LAN_INT ='0' and LAN_IRQ_D0 ='1') then if(LAN_INT ='0' and LAN_IRQ_D0 ='1') then
LAN_IRQ_OUT <='0'; LAN_IRQ_OUT <='0';
elsif(LAN_INT ='1' or LAN_INT_ENABLE = '0')then elsif(LAN_INT ='1' or LAN_INT_ENABLE = '1')then
LAN_IRQ_OUT <='1'; LAN_IRQ_OUT <='1';
elsif(lan_adr = '1' and DS ='0' and RW='0' and A(15)='1') then elsif(lan_adr = '0' and DS ='0' and RW='0' and A(15)='1') then
LAN_IRQ_OUT <= D(14); --controll lan irq LAN_IRQ_OUT <= D(14); --controll lan irq
end if; end if;
if(lan_adr = '1' and DS ='0' and RW='0' and A(15)='1') then --enable if a write to A15 occured if(lan_adr = '0' and DS ='0' and RW='0' and A(15)='1') then --enable if a write to A15 occured
LAN_INT_ENABLE <= D(15); LAN_INT_ENABLE <= not(D(15));
end if; end if;
end if; end if;
end process lan_int_proc; end process lan_int_proc;
--lan signal generation: all Signals are HIGH active! --lan signal generation: all Signals are HIGH active!
lan_rw_gen: process (AMIGA_CLK) lan_rw_gen: process (AMIGA_CLK,reset)
begin begin
if falling_edge(AMIGA_CLK) then if(reset ='0') then
LAN_RD_S <= '1';
LAN_WRH_S <= '1';
LAN_WRL_S <= '1';
elsif falling_edge(AMIGA_CLK) then
--default values --default values
LAN_RD_S <= '0'; LAN_RD_S <= '1';
LAN_WRH_S <= '0'; LAN_WRH_S <= '1';
LAN_WRL_S <= '0'; LAN_WRL_S <= '1';
if(lan_adr='1' and DS='0' and A(15)='0')then if(lan_adr='0' and DS='0' and A(15)='0')then
LAN_RD_S <= RW; LAN_RD_S <= not(RW);
-- swapped LDS/UDS here: ENC624 is little endian -- swapped LDS/UDS here: ENC624 is little endian
LAN_WRH_S <= not LDS and not RW; LAN_WRH_S <= not(not LDS and not RW);
LAN_WRL_S <= not UDS and not RW; LAN_WRL_S <= not(not UDS and not RW);
end if; end if;
end if; end if;
end process lan_rw_gen; end process lan_rw_gen;
--cp signal generation --cp signal generation
cp_rw_gen: process (AMIGA_CLK) cp_rw_gen: process (AMIGA_CLK,reset)
begin begin
if falling_edge(AMIGA_CLK) then if (reset = '0') then
--default values CP_WE_QUIRK <= '1';
CP_RD_S <= '1';
CP_WE_S <= '1'; CP_WE_S <= '1';
if(cp = '1' and DS='0')then --datastrobe instead of AS! CP_RD_S <= '1';
CP_RD_S <= not RW; elsif falling_edge(AMIGA_CLK) then
CP_WE_S <= RW; if(cp = '0' and AS='0' and RW ='1')then
end if; CP_RD_S <= '0';
else
CP_RD_S <= '1';
end if;
if(cp = '0' and DS='0' and RW ='0')then --datastrobe instead of AS!!!
CP_WE_S <= '0';
else
CP_WE_S <= '1';
end if;
-- quirk to ensure the WE-Strobe is just one cycle!
CP_WE_QUIRK <= CP_WE_S; CP_WE_QUIRK <= CP_WE_S;
end if; end if;
end process cp_rw_gen; end process cp_rw_gen;
--ide signal generation --ide signal generation
ide_rw_gen: process (reset,AMIGA_CLK) ide_enable_gen: process (reset,AMIGA_CLK)
begin begin
if (reset = '0') then if (reset = '0') then
IDE_ENABLE <= '1'; IDE_ENABLE <= '1';
elsif falling_edge(AMIGA_CLK) then
if(ide='0' and AS='0' and RW='0')then
IDE_ENABLE <= '0'; -- enable IDE on first write
end if;
end if;
end process ide_enable_gen;
ide_rw_gen: process (AMIGA_CLK,reset)
begin
if (reset ='0') then
IDE_R_S <= '1'; IDE_R_S <= '1';
IDE_W_S <= '1'; IDE_W_S <= '1';
ROM_OE_S <= '1'; ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= '1';
elsif falling_edge(AMIGA_CLK) then elsif falling_edge(AMIGA_CLK) then
--default values
IDE_R_S <= '1'; if(ide='0' and DS ='0')then
IDE_W_S <= '1';
ROM_OE_S <= '1';
if(ide='1' and AS='0')then
if(RW='0')then if(RW='0')then
--the write goes to the hdd! --the write goes to the hdd!
IDE_ENABLE <= '0'; -- enable IDE on first read
IDE_W_S <= '0'; IDE_W_S <= '0';
IDE_R_S <= '1';
ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= not IDE_WAIT or IDE_W_S;
elsif(IDE_ENABLE ='1')then
IDE_W_S <= '1';
IDE_R_S <= '1';
ROM_OE_S <= '0'; --read from ROM instead from IDE
ROM_OE_D0 <= ROM_OE_S;
IDE_TERM <= '0';
else else
IDE_R_S <= IDE_ENABLE; --read from IDE instead from ROM IDE_W_S <= '1';
ROM_OE_S <= not IDE_ENABLE; IDE_R_S <= '0'; --read from IDE instead from ROM
ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= not IDE_WAIT or IDE_R_S;
end if; end if;
else
--default values
IDE_R_S <= '1';
IDE_W_S <= '1';
ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= '1';
end if; end if;
end if; end if;
end process ide_rw_gen; end process ide_rw_gen;
@@ -318,56 +376,56 @@ begin
begin begin
if reset = '0' then if reset = '0' then
-- reset active ... -- reset active ...
AUTO_CONFIG_DONE_CYCLE <="00"; AUTO_CONFIG_DONE_CYCLE <="11";
Dout1<="1111"; Dout1<="1111";
--Dout2<="1111"; --Dout2<="1111";
SHUT_UP <="111"; SHUT_UP <="111";
IDE_BASEADR<=x"FF"; IDE_BASEADR<=x"FF";
LAN_BASEADR<=x"FF"; LAN_BASEADR<=x"FF";
CP_BASEADR<=x"FF"; CP_BASEADR<=x"FF";
AUTO_CONFIG_DONE <="00"; AUTO_CONFIG_DONE <="11";
elsif falling_edge(AMIGA_CLK) then -- no reset, so wait for rising edge of the clock elsif falling_edge(AMIGA_CLK) then -- no reset, so wait for rising edge of the clock
DS_D <= DS; DS_D <= DS;
if(AS='1')then if(AS='1')then
AUTO_CONFIG_DONE <= AUTO_CONFIG_DONE_CYCLE; AUTO_CONFIG_DONE <= AUTO_CONFIG_DONE_CYCLE;
elsif(autoconfig= '1' and DS='0') then elsif(autoconfig= '0' and DS='0') then
case A(6 downto 1) is case A(6 downto 1) is
when "000000" => when "000000" =>
if(AUTO_CONFIG_DONE < 2)then if(AUTO_CONFIG_DONE > 1)then
Dout1 <= "1100" ; --ZII, No-System-Memory, no ROM Dout1 <= "1100" ; --ZII, No-System-Memory, no ROM
else else
Dout1 <= "1101" ; --ZII, no System-Memory, (perhaps)ROM Dout1 <= "1101" ; --ZII, no System-Memory, ROM
end if; end if;
when "000001" => Dout1 <= "0001" ; --one Card, 64KB =001 when "000001" => Dout1 <= "0001" ; --one Card, 64KB =001
when "000010" => when "000010" =>
if(AUTO_CONFIG_DONE < 2)then if(AUTO_CONFIG_DONE > 1)then
Dout1 <= "1000" ; --ProductID high nibble : 7->1000 Dout1 <= "1000" ; --ProductID high nibble : 7->1000
else else
Dout1 <= "1111" ; --ProductID high nibble : 0->1111 Dout1 <= "1111" ; --ProductID high nibble : 0->1111
end if; end if;
when "000011" => when "000011" =>
if(AUTO_CONFIG_DONE = 0)then if(AUTO_CONFIG_DONE = 3)then
Dout1 <= "0100" ; --ProductID low nibble: B->0100 Dout1 <= "0100" ; --ProductID low nibble: B->0100
elsif(AUTO_CONFIG_DONE = 1)then elsif(AUTO_CONFIG_DONE = 2)then
Dout1 <= "0011" ; --ProductID low nibble: C->0011 Dout1 <= "0011" ; --ProductID low nibble: C->0011
else else
Dout1 <= "1001" ; --ProductID low nibble: 6->1001 Dout1 <= "1001" ; --ProductID low nibble: 6->1001
end if; end if;
when "001000" => Dout1 <= "1111" ; --Ventor ID 0 --when "001000" => Dout1 <= "1111" ; --Ventor ID 0
when "001001" => when "001001" =>
if(AUTO_CONFIG_DONE < 2)then if(AUTO_CONFIG_DONE > 1)then
Dout1 <= "0101" ; --Ventor ID 1 Dout1 <= "0101" ; --Ventor ID 1
else else
Dout1 <= "0111" ; --Ventor ID 1 Dout1 <= "0111" ; --Ventor ID 1
end if; end if;
when "001010" => when "001010" =>
if(AUTO_CONFIG_DONE < 2)then if(AUTO_CONFIG_DONE > 1)then
Dout1 <= "1110" ; --Ventor ID 2 Dout1 <= "1110" ; --Ventor ID 2
else else
Dout1 <= "1101" ; --Ventor ID 2 Dout1 <= "1101" ; --Ventor ID 2
end if; end if;
when "001011" => when "001011" =>
if(AUTO_CONFIG_DONE < 2)then if(AUTO_CONFIG_DONE > 1)then
Dout1 <= "0011" ; --Ventor ID 3 : $0A1C: A1K.org Dout1 <= "0011" ; --Ventor ID 3 : $0A1C: A1K.org
else else
Dout1 <= "0011" ; --Ventor ID 3 : $082C: BSC Dout1 <= "0011" ; --Ventor ID 3 : $082C: BSC
@@ -376,127 +434,156 @@ begin
when "001101" => Dout1 <= "1110" ; --Serial byte 0 (msb) low nibble when "001101" => Dout1 <= "1110" ; --Serial byte 0 (msb) low nibble
when "001110" => Dout1 <= "1001" ; --Serial byte 1 high nibble when "001110" => Dout1 <= "1001" ; --Serial byte 1 high nibble
when "001111" => Dout1 <= "0100" ; --Serial byte 1 low nibble when "001111" => Dout1 <= "0100" ; --Serial byte 1 low nibble
when "010000" => Dout1 <= "1111" ; --Serial byte 2 high nibble --when "010000" => Dout1 <= "1111" ; --Serial byte 2 high nibble
when "010001" => Dout1 <= "1111" ; --Serial byte 2 low nibble --when "010001" => Dout1 <= "1111" ; --Serial byte 2 low nibble
when "010010" => Dout1 <= "0100" ; --Serial byte 3 (lsb) high nibble when "010010" => Dout1 <= "0100" ; --Serial byte 3 (lsb) high nibble
when "010011" => Dout1 <= "1010" ; --Serial byte 3 (lsb) low nibble: B16B00B5 when "010011" => Dout1 <= "1010" ; --Serial byte 3 (lsb) low nibble: B16B00B5
--when "010100" => Dout1 <= "1111" ; --Rom vector high byte high nibble --when "010100" => Dout1 <= "1111" ; --Rom vector high byte high nibble
--when "010101" => Dout1 <= "1111" ; --Rom vector high byte low nibble --when "010101" => Dout1 <= "1111" ; --Rom vector high byte low nibble
--when "010110" => Dout1 <= "1111" ; --Rom vector low byte high nibble --when "010110" => Dout1 <= "1111" ; --Rom vector low byte high nibble
when "010111" => when "010111" => Dout1 <= "1110" ; --Rom vector low byte low nibble ;
if(AUTO_CONFIG_DONE = 2)then
Dout1 <= "1110" ; --Rom vector low byte low nibble
else
Dout1 <= "1111" ; --Rom vector low byte low nibble
end if;
when "100000" => Dout1 <= "0000" ; --Interrupt config: all zero when "100000" => Dout1 <= "0000" ; --Interrupt config: all zero
when "100001" => Dout1 <= "0000" ; --Interrupt config: all zero when "100001" => Dout1 <= "0000" ; --Interrupt config: all zero
when "100100" => when "100100" =>
Dout1 <= "1111" ; Dout1 <= "1111" ;
if(RW='0' and DS_D='1')then if(RW='0')then
if(AUTO_CONFIG_DONE = 0)then if(AUTO_CONFIG_DONE = 3)then
LAN_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress LAN_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(0) <='0'; --enable board SHUT_UP(0) <='0'; --enable board
AUTO_CONFIG_DONE_CYCLE <= "01"; --done here AUTO_CONFIG_DONE_CYCLE <= "10"; --done here
elsif(AUTO_CONFIG_DONE = 1)then elsif(AUTO_CONFIG_DONE = 2)then
CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(1) <= '0'; --enable board SHUT_UP(1) <= '0'; --enable board
AUTO_CONFIG_DONE_CYCLE <= '1' & not AUTOBOOT_OFF; --done here, if Autoboot = 1 skip ide part! AUTO_CONFIG_DONE_CYCLE <= ('0' & IDE_OFF); --done here, if Autoboot_off = 0 skip ide part!
elsif(AUTO_CONFIG_DONE = 2)then elsif(AUTO_CONFIG_DONE = 1)then
IDE_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress IDE_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(2) <= '0'; --enable board SHUT_UP(2) <= '0'; --enable board
AUTO_CONFIG_DONE_CYCLE <= "11"; --done here AUTO_CONFIG_DONE_CYCLE <= "00"; --done here
end if; end if;
end if; end if;
when "100110" => when "100110" =>
Dout1 <= "1111" ; Dout1 <= "1111" ;
if(RW='0' and DS_D='1')then if(RW='0')then
AUTO_CONFIG_DONE_CYCLE <= AUTO_CONFIG_DONE_CYCLE+1; --done here if(AUTO_CONFIG_DONE = 3)then
AUTO_CONFIG_DONE_CYCLE <= "10"; --done here
elsif(AUTO_CONFIG_DONE = 2)then
AUTO_CONFIG_DONE_CYCLE <= ('0' & IDE_OFF); --done here, if Autoboot_off = 0 skip ide part!
elsif(AUTO_CONFIG_DONE = 1)then
AUTO_CONFIG_DONE_CYCLE <= "00"; --done here
end if;
end if; end if;
when others => Dout1 <= "1111" ; when others => Dout1 <= "1111" ;
end case; end case;
end if; end if;
end if; end if;
end process autoconfig_proc; --- that's all end process autoconfig_proc; --- that's all
LAN_CS <= lan_adr when reset='1' else LAN_CS_RST;
LAN_WRL <= LAN_WRL_S when AS='0' and reset = '1' else LAN_WR_RST;
LAN_WRH <= LAN_WRH_S when AS='0' and reset = '1' else LAN_WR_RST;
LAN_RD <= LAN_RD_S when AS='0' and reset = '1' else '0';
CP_WE <= CP_WE_S when AS='0' and CP_WE_QUIRK ='1' else '1'; ADDRESS_SAMPLE: process(CLK_EXT)
CP_RD <= CP_RD_S when AS='0' else '1'; begin
CP_CS <= not cp; if(falling_edge(CLK_EXT))then
--clear and set-register adresses during initialization phase
--the lanport is shifted by one adress line but I forgot to adopt the clockport address! if(SET_FREQUENCY = '1')then
A_LAN(13 downto 6)<= LAN_A_CLRREG(13 downto 6) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else if(CLEAR_REGISTER ='1')then
LAN_A_SETREG(13 downto 6) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else A_LAN_OUT <= LAN_A_CLRREG(13 downto 0);
--(A(14)&A(12)&A(13)&A(11 downto 7)); --swap A12/13 for the enj-Chip else
A(14 downto 7); A_LAN_OUT <= LAN_A_SETREG(13 downto 0);
A_LAN(5 downto 2) <= LAN_A_CLRREG(5 downto 2) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else end if;
LAN_A_SETREG(5 downto 2) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else end if;
-- A(5 downto 2) when cp='1' else A(6 downto 3); --mux the clock-port adresses!
A(4 downto 1) when cp='1' else A(6 downto 3); --mux the clock-port adresses! (shifted 1 down due to V2 bug) if(lan_adr ='0')then --the lanport is shifted by one adress line but I forgot to adopt the clockport address!
A_LAN_OUT <= A(14 downto 1);
A_LAN(1 downto 0)<= LAN_A_CLRREG(1 downto 0) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else end if;
LAN_A_SETREG(1 downto 0) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
A(2 downto 1); if(cp = '0')then
A_LAN_OUT <= A(12 downto 1) &"00";
end if;
end if;
end process;
DATA_SAMPLE: process(CLK_EXT)
begin
if(falling_edge(CLK_EXT))then
if(SET_FREQUENCY = '1' and CLEAR_REGISTER ='1')then
D_IN <= LAN_D_CLR;
elsif(SET_FREQUENCY = '1' and CLEAR_REGISTER ='0') then
D_IN <= LAN_D_SET;
elsif(lan_adr ='0' and lan_adr_sw ='0') then
D_IN <= D( 7 downto 0) & D(15 downto 8);
elsif(cp ='0') then
D_IN <= D(15 downto 8) & D(15 downto 8);
elsif((lan_adr ='0' and lan_adr_sw ='1') or ide ='0') then
D_IN <= D( 15 downto 0);
else
D_IN <= x"FFFF";
end if;
if(DS='0')then
--out sample
if((lan_adr ='0' and lan_adr_sw ='1') or ide = '0') then
D_OUT <= DQ( 15 downto 0);
end if;
if(lan_adr ='0' and lan_adr_sw ='0') then
D_OUT <= DQ(7 downto 0)&DQ(15 downto 8);
end if;
if(cp = '0') then
D_OUT <= DQ(7 downto 0)&DQ(7 downto 0);
end if;
if(autoconfig ='0') then
D_OUT <= Dout1 & x"FFF";
end if;
end if;
end if;
end process;
LAN_CS <= not(lan_adr) when SET_FREQUENCY ='0' else not(LAN_CS_RST);
LAN_WRL <= not(LAN_WRL_S) when AS ='0' and SET_FREQUENCY ='0' else not(LAN_WR_RST);
LAN_WRH <= not(LAN_WRH_S) when AS ='0' and SET_FREQUENCY ='0' else not(LAN_WR_RST);
LAN_RD <= not(LAN_RD_S ) when (AS_D ='0' or AS ='0') and SET_FREQUENCY ='0' else '0';
CP_WE <= CP_WE_S when AS ='0' and CP_WE_QUIRK ='1' else '1';
CP_RD <= CP_RD_S when (AS_D ='0' or AS ='0') else '1';
CP_CS <= cp;
A_LAN(13 downto 0)<= A_LAN_OUT;
--signal assignment --signal assignment
D <= --RAM_D when RW='1' and TRANSFER_IN_PROGRES ='1' else D <= D_OUT when RW='1' and (AS_D ='0' or AS ='0') and (lan_adr ='0' or ide = '0' or cp = '0' or autoconfig ='0') else
DQ when RW='1' and lan_adr ='1' and lan_adr_sw ='0' and AS='0' else
DQ(7 downto 0)&DQ(15 downto 8) when RW='1' and lan_adr ='1' and lan_adr_sw ='1' and AS='0' else
DQ(7 downto 0)&DQ(7 downto 0) when RW='1' and cp = '1' and AS='0' else
DQ when RW='1' and ide = '1' and AS='0' else
Dout1 & x"FFF" when RW='1' and autoconfig ='1' and AS='0' else
(others => 'Z'); (others => 'Z');
--defined lancp signal that matches both LAN and CP addresses (and IDE for Rev2 boards)
DQ <= LAN_D_CLR when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else DQ <= D_IN when (RW='0' and AS='0' and (lan_adr ='0' or cp ='0' or ide ='0')) or SET_FREQUENCY ='1'
LAN_D_SET when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else else (others => '0') when (RW='1' and AS='1' and ide ='0') -- The bus must be cleared to avoid a hang, if no IDE drive is attached
D( 7 downto 0) & D( 7 downto 0) when RW='0' and AS='0' and lancp = '1' and LDS='0' and UDS='1' else
D(15 downto 8) & D(15 downto 8) when RW='0' and AS='0' and lancp = '1' and LDS='1' and UDS='0' else
D( 7 downto 0) & D(15 downto 8) when RW='0' and AS='0' and lan_adr ='1' and lan_adr_sw ='1' else
D when RW='0' and AS='0' and lancp ='1'
else (others => 'Z'); else (others => 'Z');
IDE_W <= IDE_W_S when AS='0' else '1'; IDE_W <= IDE_W_S when AS = '0' else '1';
IDE_R <= IDE_R_S when AS='0' else '1'; IDE_R <= IDE_R_S when AS = '0' else '1';
IDE_CS(0)<= not(A(12)); IDE_CS(0)<= not(A(12));
IDE_CS(1)<= not(A(13)); IDE_CS(1)<= not(A(13));
IDE_A(2 downto 0) <= A(11 downto 9); IDE_A(2 downto 0) <= A(11 downto 9);
ROM_B <= "00"; ROM_B <= "00";
-- ROM_OE <= ROM_OE_S when AS='0' and AUTOBOOT_OFF = '0' else '1'; ROM_OE <= ROM_OE_S when (AS_D ='0' or AS ='0') else '1';
ROM_OE <= ROM_OE_S when AS='0' else '1';
-- INT_OUT <= 'Z'; INT2_OUT <= '0' when (LAN_IRQ_OUT = '0' and LAN_INT_ENABLE = '0')
INT2_OUT <= '0' when
(LAN_IRQ_OUT = '0' and LAN_INT_ENABLE = '1')
else 'Z'; else 'Z';
INT6_OUT <= '0' when INT6_OUT <= '0' when CP_IRQ = '0'
CP_IRQ = '0'
else 'Z'; else 'Z';
OWN <= 'Z';--'0' when AS='0' and (autoconfig = '1' or ide = '1' or lan_adr = '1' or cp = '1') else 'Z'; OWN <= 'Z';--'0' when AS='0' and (autoconfig = '0' or ide = '0' or lan_adr = '0' or cp = '0') else 'Z';
SLAVE <= '0' when AS='0' and (autoconfig = '1' or ide = '1' or lan_adr = '1' or cp = '1') else '1'; SLAVE <= '0' when (AS_D ='0' or AS ='0') and (autoconfig = '0' or ide = '0' or lan_adr = '0' or cp = '0') else '1';
CFOUT <= '0' when AUTO_CONFIG_DONE=3 else '1'; CFOUT <= '0' when AUTO_CONFIG_DONE = "00" else '1';
-- OVR <= 'Z'; OVR <= 'Z';
OVR <= '0' when ide='1' and AS='0' else 'Z'; --OVR <= '0' when ide='0' and (AS_D ='0' or AS ='0') else 'Z';
-- DTACK <= DTACK_S when --TRANSFER_IN_PROGRES ='1' or --DTACK <= IDE_TERM when ide='0' and (AS_D ='0' or AS ='0') else 'Z';
-- AUTOCONFIG_IN_PROGRES ='1' DTACK <= 'Z';
-- else 'Z';
DTACK <= '0' when ide='1' and AS='0' and IDE_WAIT='1' else 'Z';
-- DTACK <= 'Z';
A <= (others => 'Z'); A <= (others => 'Z');
MTACK <= 'Z'; MTACK <= 'Z';
end Behavioral; end Behavioral;
+551
View File
@@ -0,0 +1,551 @@
----------------------------------------------------------------------------------
-- Company: a1k.org
-- Engineer: M. Heinrichs, H. Richter
--
-- Create Date: 14:45:29 07/15/2020
-- Design Name:
-- Module Name: LAN_IDE_CP-Z2v2 - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- directory cleanup hint:
-- svn status|grep ^M|sed "s/^M [\t ]*//"|xargs rm
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity LAN_IDE_CP is
Port ( A : inout STD_LOGIC_VECTOR (23 downto 1);
D : inout STD_LOGIC_VECTOR (15 downto 0);
DQ : inout STD_LOGIC_VECTOR (15 downto 0);
A_LAN : out STD_LOGIC_VECTOR (13 downto 0);
OWN : out STD_LOGIC;
SLAVE : out STD_LOGIC;
CFOUT : out STD_LOGIC;
CFIN : in STD_LOGIC;
C1 : in STD_LOGIC;
C3 : in STD_LOGIC;
MTCR : in STD_LOGIC;
OVR : out STD_LOGIC;
BERR : in STD_LOGIC;
MTACK : out STD_LOGIC;
DS0 : in STD_LOGIC;
DTACK : out STD_LOGIC;
UDS : in STD_LOGIC;
LDS : in STD_LOGIC;
AS : in STD_LOGIC;
RW : in STD_LOGIC;
Z3 : in STD_LOGIC;
DS1 : in STD_LOGIC;
FCS : in STD_LOGIC;
RESET : in STD_LOGIC;
INT2_OUT : out STD_LOGIC;
INT6_OUT : out STD_LOGIC;
AUTOBOOT_OFF : in STD_LOGIC;
ROM_B : out STD_LOGIC_VECTOR (1 downto 0);
ROM_OE : out STD_LOGIC;
IDE_WAIT : in STD_LOGIC;
CLK_EXT : in STD_LOGIC;
IDE_W : out STD_LOGIC;
IDE_R : out STD_LOGIC;
IDE_A : out STD_LOGIC_VECTOR (2 downto 0);
IDE_CS : out STD_LOGIC_VECTOR (1 downto 0);
LAN_RD : out STD_LOGIC;
LAN_CS : out STD_LOGIC;
LAN_WRH : out STD_LOGIC;
LAN_WRL : out STD_LOGIC;
LAN_INT : in STD_LOGIC;
CP_RD : out STD_LOGIC;
CP_WE : out STD_LOGIC;
CP_CS : out STD_LOGIC;
CP_IRQ : in STD_LOGIC);
end LAN_IDE_CP;
architecture Behavioral of LAN_IDE_CP is
TYPE lan_reset IS (
nop,
wait0,
clr,
clr_commit,
wait1,
set,
set_commit,
done
);
SIGNAL LAN_RST_SM: lan_reset :=nop;
SIGNAL lancp: STD_LOGIC; -- LAN or ClockPort
SIGNAL ide: STD_LOGIC;
SIGNAL autoconfig: STD_LOGIC;
SIGNAL lan_adr: STD_LOGIC;
SIGNAL lan_adr_sw: STD_LOGIC;
SIGNAL cp: STD_LOGIC;
signal Dout1:STD_LOGIC_VECTOR(3 downto 0);
signal AUTO_CONFIG_DONE:STD_LOGIC_VECTOR(1 downto 0);
signal AUTO_CONFIG_DONE_CYCLE:STD_LOGIC_VECTOR(1 downto 0);
signal SHUT_UP:STD_LOGIC_VECTOR(2 downto 0);
signal IDE_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
signal LAN_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
signal CP_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
signal IDE_ENABLE:STD_LOGIC;
signal ROM_OE_S:STD_LOGIC;
signal ROM_OE_D0:STD_LOGIC;
signal IDE_TERM:STD_LOGIC;
signal IDE_R_S:STD_LOGIC;
signal IDE_W_S:STD_LOGIC;
signal DTACK_S:STD_LOGIC;
signal AMIGA_CLK: std_logic;
signal LAN_INT_ENABLE: std_logic;
signal DECODE_RESET: std_logic;
signal LAN_INT_D0: std_logic;
signal DS: std_logic;
signal DS_D: std_logic;
signal LAN_RD_S: std_logic;
signal LAN_WRH_S: std_logic;
signal LAN_WRL_S: std_logic;
signal LAN_IRQ_D0: std_logic;
signal LAN_IRQ_OUT: std_logic;
signal CP_RD_S: std_logic;
signal CP_WE_S: std_logic;
signal CP_WE_QUIRK: std_logic;
signal LAN_CS_RST: std_logic;
signal LAN_WR_RST: std_logic;
constant LAN_A_CLRREG:STD_LOGIC_VECTOR(13 downto 0) :="11"&x"FF7";
constant LAN_A_SETREG:STD_LOGIC_VECTOR(13 downto 0) :="11"&x"FB7";
constant LAN_D_SET:STD_LOGIC_VECTOR(15 downto 0) := "0000000100010000";
constant LAN_D_CLR:STD_LOGIC_VECTOR(15 downto 0) := "0000111000000000";
Function to_std_logic(X: in Boolean) return Std_Logic is
variable ret : std_logic;
begin
if x then ret := '1'; else ret := '0'; end if;
return ret;
end to_std_logic;
begin
AMIGA_CLK <= not (C1 xor C3);
DECODE_RESET <= BERR and reset;
DS <= UDS and LDS;
clock_init: process(CLK_EXT)
begin
if(rising_edge(CLK_EXT))then
if(reset = '0' )then
LAN_RST_SM <= nop;
LAN_CS_RST<='0';
LAN_WR_RST<='0';
else
--init the clock afer reset finished!
case LAN_RST_SM is
when nop=>
LAN_CS_RST<='0';
LAN_WR_RST<='0';
LAN_RST_SM<=wait0;
when wait0=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=clr;
when clr=>
LAN_CS_RST<='1';
LAN_WR_RST<='1';
LAN_RST_SM<=clr_commit;
when clr_commit=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=wait1;
when wait1=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=set;
when set=>
LAN_CS_RST<='1';
LAN_WR_RST<='1';
LAN_RST_SM<=set_commit;
when set_commit=>
LAN_CS_RST<='1';
LAN_WR_RST<='0';
LAN_RST_SM<=done;
when done=> --stay here
LAN_CS_RST<='0';
LAN_WR_RST<='0';
LAN_RST_SM<=done;
end case;
end if;
end if;
end process clock_init;
ADDRESS_DECODE: process(reset,AMIGA_CLK)
begin
if(reset ='0')then
autoconfig <= '0';
ide <= '0';
lan_adr <= '0';
lan_adr_sw <= '0';
cp <= '0';
lancp <= '0';
elsif(rising_edge(AMIGA_CLK))then
--default values
autoconfig <= '0';
ide <= '0';
lan_adr <= '0';
lan_adr_sw <= '0';
cp <= '0';
lancp <= '0';
if(A(23 downto 16) = x"E8" and AUTO_CONFIG_DONE < "11" and CFIN='0')then
autoconfig <= '1';
elsif(A(23 downto 16) = LAN_BASEADR and SHUT_UP(0)='0' )then
if(A(14 downto 13)<"11")then
lan_adr_sw <= '1';
end if;
lan_adr <= '1';
lancp <= '1';
elsif(A(23 downto 16) = CP_BASEADR and SHUT_UP(1)='0')then
cp <= '1';
lancp <= '1';
elsif(A(23 downto 16) = IDE_BASEADR and SHUT_UP(2)='0')then
ide <= '1';
lancp <= '1';
end if;
end if;
end process ADDRESS_DECODE;
--LAN interrupt enable
lan_int_proc: process (AMIGA_CLK,reset)
begin
if(reset ='0') then
LAN_INT_ENABLE <='0';
LAN_IRQ_D0 <='1';
LAN_IRQ_OUT <='1';
elsif falling_edge(AMIGA_CLK) then
LAN_IRQ_D0 <= LAN_INT;
if(LAN_INT ='0' and LAN_IRQ_D0 ='1') then
LAN_IRQ_OUT <='0';
elsif(LAN_INT ='1' or LAN_INT_ENABLE = '0')then
LAN_IRQ_OUT <='1';
elsif(lan_adr = '1' and DS ='0' and RW='0' and A(15)='1') then
LAN_IRQ_OUT <= D(14); --controll lan irq
end if;
if(lan_adr = '1' and DS ='0' and RW='0' and A(15)='1') then --enable if a write to A15 occured
LAN_INT_ENABLE <= D(15);
end if;
end if;
end process lan_int_proc;
--lan signal generation: all Signals are HIGH active!
lan_rw_gen: process (AMIGA_CLK,AS)
begin
if(AS ='1') then
LAN_RD_S <= '0';
LAN_WRH_S <= '0';
LAN_WRL_S <= '0';
elsif falling_edge(AMIGA_CLK) then
--default values
LAN_RD_S <= '0';
LAN_WRH_S <= '0';
LAN_WRL_S <= '0';
if(lan_adr='1' and DS='0' and A(15)='0')then
LAN_RD_S <= RW;
-- swapped LDS/UDS here: ENC624 is little endian
LAN_WRH_S <= not LDS and not RW;
LAN_WRL_S <= not UDS and not RW;
end if;
end if;
end process lan_rw_gen;
--cp signal generation
cp_rw_gen: process (AMIGA_CLK,AS)
begin
if (AS = '1') then
CP_WE_QUIRK <= '1';
CP_WE_S <= '1';
CP_RD_S <= '1';
elsif falling_edge(AMIGA_CLK) then
--default values
CP_RD_S <= '1';
CP_WE_S <= '1';
if(cp = '1' and DS='0')then --datastrobe instead of AS!
CP_RD_S <= not RW;
CP_WE_S <= RW;
end if;
CP_WE_QUIRK <= CP_WE_S;
end if;
end process cp_rw_gen;
--ide signal generation
ide_enable_gen: process (reset,AMIGA_CLK)
begin
if (reset = '0') then
IDE_ENABLE <= '1';
elsif falling_edge(AMIGA_CLK) then
if(ide='1' and AS='0' and RW='0')then
IDE_ENABLE <= '0'; -- enable IDE on first write
end if;
end if;
end process ide_enable_gen;
ide_rw_gen: process (AS,AMIGA_CLK)
begin
if (AS = '1') then
IDE_R_S <= '1';
IDE_W_S <= '1';
ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= '1';
elsif falling_edge(AMIGA_CLK) then
if(ide='1')then
if(RW='0')then
--the write goes to the hdd!
IDE_W_S <= '0';
IDE_R_S <= '1';
ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= not IDE_WAIT or IDE_W_S;
elsif(IDE_ENABLE ='1')then
IDE_W_S <= '1';
IDE_R_S <= '1';
ROM_OE_S <= '0'; --read from ROM instead from IDE
ROM_OE_D0 <= ROM_OE_S;
IDE_TERM <= '0';
else
IDE_W_S <= '1';
IDE_R_S <= '0'; --read from IDE instead from ROM
ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= not IDE_WAIT or IDE_R_S;
end if;
else
--default values
IDE_R_S <= '1';
IDE_W_S <= '1';
ROM_OE_S <= '1';
ROM_OE_D0 <= '1';
IDE_TERM <= '1';
end if;
end if;
end process ide_rw_gen;
--autoconfig
autoconfig_proc: process (reset, AMIGA_CLK)
begin
if reset = '0' then
-- reset active ...
AUTO_CONFIG_DONE_CYCLE <="00";
Dout1<="1111";
--Dout2<="1111";
SHUT_UP <="111";
IDE_BASEADR<=x"FF";
LAN_BASEADR<=x"FF";
CP_BASEADR<=x"FF";
AUTO_CONFIG_DONE <="00";
elsif falling_edge(AMIGA_CLK) then -- no reset, so wait for rising edge of the clock
DS_D <= DS;
if(AS='1')then
AUTO_CONFIG_DONE <= AUTO_CONFIG_DONE_CYCLE;
elsif(autoconfig= '1' and DS='0') then
case A(6 downto 1) is
when "000000" =>
if(AUTO_CONFIG_DONE < 2)then
Dout1 <= "1100" ; --ZII, No-System-Memory, no ROM
else
Dout1 <= "1101" ; --ZII, no System-Memory, ROM
end if;
when "000001" => Dout1 <= "0001" ; --one Card, 64KB =001
when "000010" =>
if(AUTO_CONFIG_DONE < 2)then
Dout1 <= "1000" ; --ProductID high nibble : 7->1000
else
Dout1 <= "1111" ; --ProductID high nibble : 0->1111
end if;
when "000011" =>
if(AUTO_CONFIG_DONE = 0)then
Dout1 <= "0100" ; --ProductID low nibble: B->0100
elsif(AUTO_CONFIG_DONE = 1)then
Dout1 <= "0011" ; --ProductID low nibble: C->0011
else
Dout1 <= "1001" ; --ProductID low nibble: 6->1001
end if;
when "001000" => Dout1 <= "1111" ; --Ventor ID 0
when "001001" =>
if(AUTO_CONFIG_DONE < 2)then
Dout1 <= "0101" ; --Ventor ID 1
else
Dout1 <= "0111" ; --Ventor ID 1
end if;
when "001010" =>
if(AUTO_CONFIG_DONE < 2)then
Dout1 <= "1110" ; --Ventor ID 2
else
Dout1 <= "1101" ; --Ventor ID 2
end if;
when "001011" =>
if(AUTO_CONFIG_DONE < 2)then
Dout1 <= "0011" ; --Ventor ID 3 : $0A1C: A1K.org
else
Dout1 <= "0011" ; --Ventor ID 3 : $082C: BSC
end if;
when "001100" => Dout1 <= "0100" ; --Serial byte 0 (msb) high nibble
when "001101" => Dout1 <= "1110" ; --Serial byte 0 (msb) low nibble
when "001110" => Dout1 <= "1001" ; --Serial byte 1 high nibble
when "001111" => Dout1 <= "0100" ; --Serial byte 1 low nibble
when "010000" => Dout1 <= "1111" ; --Serial byte 2 high nibble
when "010001" => Dout1 <= "1111" ; --Serial byte 2 low nibble
when "010010" => Dout1 <= "0100" ; --Serial byte 3 (lsb) high nibble
when "010011" => Dout1 <= "1010" ; --Serial byte 3 (lsb) low nibble: B16B00B5
--when "010100" => Dout1 <= "1111" ; --Rom vector high byte high nibble
--when "010101" => Dout1 <= "1111" ; --Rom vector high byte low nibble
--when "010110" => Dout1 <= "1111" ; --Rom vector low byte high nibble
when "010111" =>
if(AUTO_CONFIG_DONE = 2)then
Dout1 <= "1110" ; --Rom vector low byte low nibble
else
Dout1 <= "1111" ; --Rom vector low byte low nibble
end if;
when "100000" => Dout1 <= "0000" ; --Interrupt config: all zero
when "100001" => Dout1 <= "0000" ; --Interrupt config: all zero
when "100100" =>
Dout1 <= "1111" ;
if(RW='0' and DS_D='1')then
if(AUTO_CONFIG_DONE = 0)then
LAN_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(0) <='0'; --enable board
AUTO_CONFIG_DONE_CYCLE <= "01"; --done here
elsif(AUTO_CONFIG_DONE = 1)then
CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(1) <= '0'; --enable board
<<<<<<< HEAD
AUTO_CONFIG_DONE_CYCLE <= ('1' & not(AUTOBOOT_OFF)); --done here, if Autoboot = 1 skip ide part!
=======
AUTO_CONFIG_DONE_CYCLE <= '1' & not AUTOBOOT_OFF; --done here, if Autoboot = 1 skip ide part!
>>>>>>> 85a06c170160536d7bbf493fc16ea4577085778e
elsif(AUTO_CONFIG_DONE = 2)then
IDE_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(2) <= '0'; --enable board
AUTO_CONFIG_DONE_CYCLE <= "11"; --done here
end if;
end if;
when "100110" =>
Dout1 <= "1111" ;
if(RW='0' and DS_D='1')then
AUTO_CONFIG_DONE_CYCLE <= AUTO_CONFIG_DONE_CYCLE+1; --done here
end if;
when others => Dout1 <= "1111" ;
end case;
end if;
end if;
end process autoconfig_proc; --- that's all
LAN_CS <= lan_adr when reset='1' else LAN_CS_RST;
LAN_WRL <= LAN_WRL_S when AS='0' and reset = '1' else LAN_WR_RST;
LAN_WRH <= LAN_WRH_S when AS='0' and reset = '1' else LAN_WR_RST;
LAN_RD <= LAN_RD_S when AS='0' and reset = '1' else '0';
CP_WE <= CP_WE_S when AS='0' and CP_WE_QUIRK ='1' else '1';
CP_RD <= CP_RD_S when AS='0' else '1';
CP_CS <= not cp;
--the lanport is shifted by one adress line but I forgot to adopt the clockport address!
<<<<<<< HEAD
A_LAN(13 downto 0)<= LAN_A_CLRREG(13 downto 0) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else
LAN_A_SETREG(13 downto 0) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
A(14 downto 1) when lan_adr ='1' else
A(12 downto 1) &"00";
=======
A_LAN(13 downto 6)<= LAN_A_CLRREG(13 downto 6) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else
LAN_A_SETREG(13 downto 6) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
--(A(14)&A(12)&A(13)&A(11 downto 7)); --swap A12/13 for the enj-Chip
A(14 downto 7);
A_LAN(5 downto 2) <= LAN_A_CLRREG(5 downto 2) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else
LAN_A_SETREG(5 downto 2) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
-- A(5 downto 2) when cp='1' else A(6 downto 3); --mux the clock-port adresses!
A(4 downto 1) when cp='1' else A(6 downto 3); --mux the clock-port adresses! (shifted 1 down due to V2 bug)
A_LAN(1 downto 0)<= LAN_A_CLRREG(1 downto 0) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else
LAN_A_SETREG(1 downto 0) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
A(2 downto 1);
>>>>>>> 85a06c170160536d7bbf493fc16ea4577085778e
--signal assignment
D <= --RAM_D when RW='1' and TRANSFER_IN_PROGRES ='1' else
DQ when RW='1' and lan_adr ='1' and lan_adr_sw ='0' and AS='0' else
DQ(7 downto 0)&DQ(15 downto 8) when RW='1' and lan_adr ='1' and lan_adr_sw ='1' and AS='0' else
DQ(7 downto 0)&DQ(7 downto 0) when RW='1' and (cp = '1' or ROM_OE_S ='0') and AS='0' else
DQ when RW='1' and ide = '1' and ROM_OE_S ='1' and AS='0' else
Dout1 & x"FFF" when RW='1' and autoconfig ='1' and AS='0' else
(others => 'Z');
--defined lancp signal that matches both LAN and CP addresses (and IDE for Rev2 boards)
DQ <= LAN_D_CLR when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else
LAN_D_SET when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
--D( 7 downto 0) & D( 7 downto 0) when RW='0' and AS='0' and lancp = '1' and LDS='0' and UDS='1' else
--D(15 downto 8) & D(15 downto 8) when RW='0' and AS='0' and lancp = '1' and LDS='1' and UDS='0' else
D( 7 downto 0) & D(15 downto 8) when RW='0' and AS='0' and lan_adr ='1' and lan_adr_sw ='1' else
D when RW='0' and AS='0' and lancp ='1'
else (others => 'Z');
IDE_W <= IDE_W_S when AS='0' else '1';
IDE_R <= IDE_R_S when AS='0' else '1';
IDE_CS(0)<= not(A(12));
IDE_CS(1)<= not(A(13));
IDE_A(2 downto 0) <= A(11 downto 9);
ROM_B <= "00";
<<<<<<< HEAD
ROM_OE <= ROM_OE_S when AS='0' else '1';
=======
-- ROM_OE <= ROM_OE_S when AS='0' and AUTOBOOT_OFF = '0' else '1';
ROM_OE <= ROM_OE_S when AS='0' else '1';
>>>>>>> 85a06c170160536d7bbf493fc16ea4577085778e
-- INT_OUT <= 'Z';
INT2_OUT <= '0' when
(LAN_IRQ_OUT = '0' and LAN_INT_ENABLE = '1')
else 'Z';
INT6_OUT <= '0' when
CP_IRQ = '0'
else 'Z';
OWN <= 'Z';--'0' when AS='0' and (autoconfig = '1' or ide = '1' or lan_adr = '1' or cp = '1') else 'Z';
SLAVE <= '0' when AS='0' and (autoconfig = '1' or ide = '1' or lan_adr = '1' or cp = '1') else '1';
CFOUT <= '0' when AUTO_CONFIG_DONE=3 else '1';
--OVR <= 'Z';
OVR <= '0' when ide='1' and AS='0' else 'Z';
DTACK <= IDE_TERM when ide='1' and AS='0' else 'Z';
--DTACK <= 'Z';
A <= (others => 'Z');
MTACK <= 'Z';
end Behavioral;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+859
View File
@@ -96,3 +96,862 @@ cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt
XSLTProcess LAN_IDE_CP_build.xml XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init low -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 25 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 50 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.syr"
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
cpldfit -intstyle ise -p xc95288xl-10-TQ144 -ofmt vhdl -optimize density -htmlrpt -loc on -slew fast -init high -exhaust -inputs 54 -pterms 90 -unused float -power std -terminate keeper LAN_IDE_CP.ngd
XSLTProcess LAN_IDE_CP_build.xml
tsim -intstyle ise LAN_IDE_CP LAN_IDE_CP.nga
hprep6 -s IEEE1149 -n LAN_IDE_CP -i LAN_IDE_CP
+110 -113
View File
@@ -2,34 +2,41 @@ Pin Freeze File: version P.20131013
95288XL144 XC95288XL-10-TQ144 95288XL144 XC95288XL-10-TQ144
AS S:PIN80 AS S:PIN80
AUTOBOOT_OFF S:PIN75 A<12> S:PIN61
A<13> S:PIN64
A<14> S:PIN66
A<15> S:PIN74
A<16> S:PIN97
A<17> S:PIN95
A<18> S:PIN94
A<19> S:PIN92
A<1> S:PIN57 A<1> S:PIN57
A<20> S:PIN91
A<21> S:PIN88
A<22> S:PIN87
A<23> S:PIN86
A<2> S:PIN54 A<2> S:PIN54
A<3> S:PIN52 A<3> S:PIN52
A<4> S:PIN50 A<4> S:PIN50
A<5> S:PIN49 A<5> S:PIN49
A<6> S:PIN51 A<6> S:PIN51
A<7> S:PIN53 A<7> S:PIN53
A<8> S:PIN56
C1 S:PIN103 C1 S:PIN103
C3 S:PIN102 C3 S:PIN102
CFIN S:PIN104 CFIN S:PIN104
CLK_EXT S:PIN30 CLK_EXT S:PIN30
CP_IRQ S:PIN31 CP_IRQ S:PIN31
DS0 S:PIN93 A<9> S:PIN58
DS1 S:PIN78 A<10> S:PIN59
FCS S:PIN77 A<11> S:PIN60
IDE_OFF S:PIN75
LAN_INT S:PIN111 LAN_INT S:PIN111
LDS S:PIN82 LDS S:PIN82
MTCR S:PIN101
RESET S:PIN143 RESET S:PIN143
RW S:PIN83 RW S:PIN83
UDS S:PIN81 UDS S:PIN81
Z3 S:PIN79
A_LAN<0> S:PIN4 A_LAN<0> S:PIN4
A_LAN<10> S:PIN138
A_LAN<11> S:PIN139
A_LAN<12> S:PIN136
A_LAN<13> S:PIN137
A_LAN<1> S:PIN3 A_LAN<1> S:PIN3
A_LAN<2> S:PIN6 A_LAN<2> S:PIN6
A_LAN<3> S:PIN5 A_LAN<3> S:PIN5
@@ -39,8 +46,11 @@ A_LAN<6> S:PIN11
A_LAN<7> S:PIN10 A_LAN<7> S:PIN10
A_LAN<8> S:PIN140 A_LAN<8> S:PIN140
A_LAN<9> S:PIN142 A_LAN<9> S:PIN142
A_LAN<10> S:PIN138
A_LAN<11> S:PIN139
A_LAN<12> S:PIN136
A_LAN<13> S:PIN137
CFOUT S:PIN105 CFOUT S:PIN105
CP_CS S:PIN34
CP_RD S:PIN71 CP_RD S:PIN71
CP_WE S:PIN70 CP_WE S:PIN70
DQ<0> S:PIN118 DQ<0> S:PIN118
@@ -53,17 +63,13 @@ DQ<15> S:PIN112
DQ<1> S:PIN117 DQ<1> S:PIN117
DQ<2> S:PIN120 DQ<2> S:PIN120
DQ<3> S:PIN119 DQ<3> S:PIN119
DQ<4> S:PIN124
DQ<5> S:PIN121 DQ<5> S:PIN121
DQ<6> S:PIN126 DQ<6> S:PIN126
DQ<7> S:PIN125 DQ<7> S:PIN125
DQ<8> S:PIN128
DQ<9> S:PIN116 DQ<9> S:PIN116
D<0> S:PIN2 D<0> S:PIN2
D<10> S:PIN41
D<11> S:PIN43
D<12> S:PIN44
D<13> S:PIN45
D<14> S:PIN46
D<15> S:PIN48
D<1> S:PIN17 D<1> S:PIN17
D<2> S:PIN39 D<2> S:PIN39
D<3> S:PIN15 D<3> S:PIN15
@@ -73,6 +79,12 @@ D<6> S:PIN14
D<7> S:PIN16 D<7> S:PIN16
D<8> S:PIN19 D<8> S:PIN19
D<9> S:PIN40 D<9> S:PIN40
D<10> S:PIN41
D<11> S:PIN43
D<12> S:PIN44
D<13> S:PIN45
D<14> S:PIN46
D<15> S:PIN48
IDE_A<0> S:PIN24 IDE_A<0> S:PIN24
IDE_A<1> S:PIN26 IDE_A<1> S:PIN26
IDE_A<2> S:PIN25 IDE_A<2> S:PIN25
@@ -94,105 +106,90 @@ INT2_OUT S:PIN32
DTACK S:PIN85 DTACK S:PIN85
ROM_OE S:PIN35 ROM_OE S:PIN35
SLAVE S:PIN106 SLAVE S:PIN106
A<8> S:PIN56 CP_CS S:PIN34
A<9> S:PIN58
A<10> S:PIN59
A<11> S:PIN60
A<12> S:PIN61
A<13> S:PIN64
A<14> S:PIN66
A<15> S:PIN74
A<16> S:PIN97
A<17> S:PIN95
A<18> S:PIN94
A<19> S:PIN92
A<20> S:PIN91
A<21> S:PIN88
A<22> S:PIN87
A<23> S:PIN86
DQ<8> S:PIN128
DQ<4> S:PIN124
;The remaining section of the .gyd file is for documentation purposes only. ;The remaining section of the .gyd file is for documentation purposes only.
;It shows where your internal equations were placed in the last successful fit. ;It shows where your internal equations were placed in the last successful fit.
PARTITION FB1_4 SHUT_UP_Z2<1> D_5_IOBUFE D_4_IOBUFE AUTO_CONFIG_Z2_DONE_CYCLE<2> PARTITION FB1_3 AUTO_CONFIG_DONE_CYCLE_0_N2/AUTO_CONFIG_DONE_CYCLE_0_N2_D2 $OpTx$FX_DC$34 D_OUT<5> D_OUT<4>
IDE_CS_0_OBUF AUTO_CONFIG_Z2_DONE<1> IDE_CS_1_OBUF LAN_BASEADR<9> AS_D IDE_CS_0_OBUF ROM_OE_S IDE_CS_1_OBUF
IDE_A_0_OBUF$BUF0 LAN_BASEADR<8> IDE_A_2_OBUF$BUF0 IDE_A_1_OBUF$BUF0 LAN_RD_S IDE_A_0_OBUF$BUF0 IDE_W_S IDE_A_2_OBUF$BUF0
LAN_BASEADR<15> IDE_R_OBUF LAN_BASEADR<13> IDE_A_1_OBUF$BUF0 IDE_R_S IDE_R_OBUF IDE_ENABLE
PARTITION FB2_1 D_Z2_OUT<1> A_LAN_4_OBUF A_LAN_7_OBUF IDE_BASEADR<4>
A_LAN_6_OBUF IDE_BASEADR<3> IDE_BASEADR<2> IDE_BASEADR<1> PARTITION FB2_2 A_LAN_OUT<4> A_LAN_OUT<7>
EXP24_ D_6_IOBUFE IDE_BASEADR<0> D_3_IOBUFE PARTITION FB2_5 A_LAN_OUT<6>
EXP25_ D_7_IOBUFE D_1_IOBUFE EXP26_ PARTITION FB2_10 D_OUT<6>
D_8_IOBUFE EXP27_ PARTITION FB2_12 D_OUT<3>
PARTITION FB3_2 IDE_W_OBUF PARTITION FB2_14 D_OUT<7> D_OUT<1>
PARTITION FB3_13 LAN_D_INIT<8> ROM_B_0_OBUF$BUF5 LAN_D_INIT<1> LAN_A_INIT<6> PARTITION FB2_17 D_OUT<8>
CP_WE_S/CP_WE_S_CLKF CP_WE_QUIRK
PARTITION FB4_1 SHUT_UP_Z2<2> D_0_IOBUFE LAN_BASEADR<14> LAN_BASEADR<12> PARTITION FB3_1 EXP22_ IDE_W_OBUF
A_LAN_1_OBUF A_LAN_0_OBUF LAN_BASEADR<11> A_LAN_3_OBUF PARTITION FB3_9 SHUT_UP<1> LAN_IRQ_D0 IDE_BASEADR<6> IDE_BASEADR<1>
LAN_BASEADR<10> IDE_BASEADR<7> CP_BASEADR<7> A_LAN_2_OBUF IDE_BASEADR<0> ROM_B_0_OBUF$BUF5 CP_BASEADR<6> CP_BASEADR<1>
CP_BASEADR<6> A_LAN_5_OBUF CP_BASEADR<4> CP_BASEADR<3> CP_BASEADR<0> LAN_IRQ_OUT
CP_BASEADR<2> CP_BASEADR<1> PARTITION FB4_2 D_OUT<0>
PARTITION FB5_1 LAN_A_INIT<3> CP_CS_OBUF EXP28_ EXP29_ PARTITION FB4_5 A_LAN_OUT<1> A_LAN_OUT<0>
ROM_OE_OBUF IDE_W_S IDE_ENABLE AS_D1 PARTITION FB4_8 A_LAN_OUT<3>
AS_D0 D_2_IOBUFE D_8_IOBUFE/D_8_IOBUFE_TRST D_9_IOBUFE PARTITION FB4_12 A_LAN_OUT<2>
AUTOCONFIG_Z2_ACCESS D_10_IOBUFE D_11_IOBUFE EXP30_ PARTITION FB4_14 A_LAN_OUT<5>
D_12_IOBUFE EXP31_ PARTITION FB4_18 CP_BASEADR_not0001/CP_BASEADR_not0001_D2
PARTITION FB6_1 EXP32_ ROM_B_0_OBUF$BUF4 A_LAN_12_OBUF PARTITION FB5_1 EXP23_ cp EXP24_ EXP25_
PARTITION FB6_5 A_LAN_13_OBUF A_LAN_10_OBUF ROM_OE_OBUF
PARTITION FB6_8 A_LAN_11_OBUF PARTITION FB5_10 D_OUT<2>
PARTITION FB6_10 A_LAN_8_OBUF EXP33_ EXP34_ DQ_DATA<3> PARTITION FB5_12 D_OUT<9>
A_LAN_9_OBUF EXP35_ DQ_DATA<11> EXP36_ PARTITION FB5_14 D_OUT<10> D_OUT<11>
IDE_ACCESS PARTITION FB5_17 D_OUT<12>
PARTITION FB7_1 EXP37_ EXP38_ D_13_IOBUFE EXP39_
D_14_IOBUFE DQ_9_IOBUFE/DQ_9_IOBUFE_TRST CP_BASEADR<0> CP_BASEADR<5> PARTITION FB6_2 ROM_B_0_OBUF$BUF4 A_LAN_OUT<12>
IDE_BASEADR<5> IDE_BASEADR<6> EXP40_ D_15_IOBUFE PARTITION FB6_5 A_LAN_OUT<13> A_LAN_OUT<10>
LAN_SM_RST EXP41_ D_Z2_OUT<2> EXP42_ PARTITION FB6_8 A_LAN_OUT<11>
EXP43_ DQ<8>_BUFR.MC PARTITION FB6_10 A_LAN_OUT<8> $OpTx$FX_SC$321 $OpTx$FX_DC$30 $OpTx$FX_DC$3
PARTITION FB8_1 DQ_DATA<12> DQ_12_IOBUFE DQ_14_IOBUFE EXP44_ A_LAN_OUT<9> $OpTx$FX_DC$1 $OpTx$FX_SC$52 D_IN<0>
LAN_WRH_OBUF EXP45_ LAN_SM_FSM_FFd4 LAN_CS_OBUF DQ_or0001/DQ_or0001_D2
DQ_DATA<6> LAN_RD_OBUF LAN_WRH_S DQ_DATA<14> PARTITION FB7_3 D_OUT<13>
EXP46_ DQ_DATA<4> EXP47_ EXP48_ PARTITION FB7_5 D_OUT<14>
EXP49_ EXP50_ PARTITION FB7_12 D_OUT<15>
PARTITION FB9_1 AUTO_CONFIG_Z2_DONE<0> EXP51_ D_Z2_OUT<3> AUTO_CONFIG_Z2_DONE_CYCLE<0> PARTITION FB7_15 LAN_RST_SM_FSM_FFd8 D_IN<13> D_IN<5> BUF_D_IN<13>
INT_VECTOR_CYCLE Z3_ADR<10> Z3_ADR<13> Z3_ADR<2>
Z3_ADR<3> Z3_ADR<4> Z3_DATA<0> Z3_ADR<5> PARTITION FB8_2 DQ_12_IOBUFE DQ_14_IOBUFE
Z3_ADR<6> Z3_DATA<1> Z3_ADR<7> Z3_ADR_0 PARTITION FB8_5 LAN_WRH_OBUF
Z3_DATA<2> Z3_ADR_1 PARTITION FB8_8 LAN_CS_OBUF
PARTITION FB10_1 DQ<4>_BUFR.MC DQ_1_IOBUFE DQ_0_IOBUFE EXP52_ PARTITION FB8_10 LAN_RD_OBUF
DQ_3_IOBUFE DQ_2_IOBUFE EXP53_ DQ_5_IOBUFE PARTITION FB8_12 D_IN<9> D_IN<8> D_IN<3> D_IN<2>
EXP54_ _19_ DQ_7_IOBUFE DQ_6_IOBUFE D_IN<1> D_IN<11> D_IN<10>
EXP55_ _18_ EXP56_ EXP57_ PARTITION FB9_1 EXP26_
DQ_10_IOBUFE EXP58_ PARTITION FB9_11 LAN_BASEADR_not0001/LAN_BASEADR_not0001_D2 $OpTx$FX_DC$31 LAN_BASEADR<4> LAN_BASEADR<3>
PARTITION FB11_1 Z3_DATA<30> Z3_DATA<29> Z3_DATA<3> Z3_DATA<28> LAN_BASEADR<2> LAN_BASEADR<1> LAN_BASEADR<0> Dout1<3>
Z3_DATA<4> Z3_DATA<27> Z3_DATA<22> Z3_DATA<21>
Z3_DATA<20> Z3_DATA<5> Z3_DATA<6> ROM_B_0_OBUF$BUF0 PARTITION FB10_2 DQ_1_IOBUFE DQ_0_IOBUFE $OpTx$FX_DC$19 DQ_3_IOBUFE
Z3_DATA<19> ROM_B_0_OBUF EXP59_ DQ_DATA<8> DQ_2_IOBUFE DQ_9_IOBUFE/DQ_9_IOBUFE_TRST DQ_5_IOBUFE LAN_WRL_S
CP_WE_OBUF DQ_DATA<0> DQ_4_IOBUFE DQ_7_IOBUFE DQ_6_IOBUFE LAN_WRH_S
PARTITION FB12_1 EXP60_ EXP61_ LAN_ACCESS EXP62_ DQ_8_IOBUFE CP_WE_S CP_RD_S DQ_10_IOBUFE
DQ_15_IOBUFE EXP63_ Z3_ADR<11> DQ_13_IOBUFE LAN_INT_ENABLE
Z3_ADR<12> DQ_11_IOBUFE EXP64_ DQ_9_IOBUFE PARTITION FB11_1 EXP27_ EXP28_
EXP65_ EXP66_ EXP67_ DQ_SWAP PARTITION FB11_12 ROM_B_0_OBUF$BUF0 autoconfig ROM_B_0_OBUF SHUT_UP<0>
EXP68_ EXP69_ CP_WE_QUIRK CP_WE_OBUF ide
PARTITION FB13_1 EXP70_ CP_RD_OBUF Z3_DATA<31> Z3_DATA<23> PARTITION FB12_1 SET_FREQUENCY D_IN<15> D_IN<14> D_IN<12>
LAN_INT_ENABLE EXP71_ DQ_DATA<7> Z3_DATA<7> DQ_15_IOBUFE LAN_RST_SM_FSM_FFd7 LAN_RST_SM_FSM_FFd4 DQ_13_IOBUFE
EXP72_ EXP73_ DQ_DATA<5> DQ_DATA<1> LAN_CS_RST DQ_11_IOBUFE CLEAR_REGISTER DQ_9_IOBUFE
EXP74_ LAN_WRL_OBUF EXP75_ DQ_DATA<13> D_IN<7> D_IN<6> BUF_D_IN<15> BUF_D_IN<14>
LAN_WRL_S DQ_DATA<15> BUF_D_IN<12> D_IN<4>
PARTITION FB14_1 ROM_OE_S LAN_WR_RST ROM_B_0_OBUF$BUF2 LAN_RST_SM_FSM_FFd1 PARTITION FB13_2 CP_RD_OBUF
LAN_IRQ_D0 LAN_CS_RST IDE_R_S Z3_ADR<9> PARTITION FB13_7 SHUT_UP<2> IDE_BASEADR<7> IDE_BASEADR<5> IDE_BASEADR<4>
Z3_ADR<8> LAN_RST_SM_FSM_FFd3 CFOUT_OBUF LAN_RST_SM_FSM_FFd2 IDE_BASEADR<3> IDE_BASEADR<2> CP_BASEADR<7> LAN_WRL_OBUF
LAN_IRQ_OUT SLAVE_OBUF ROM_B_0_OBUF$BUF1 CP_WE_S CP_BASEADR<5> CP_BASEADR<4> CP_BASEADR<3> CP_BASEADR<2>
CP_RD_S AUTO_CONFIG_Z2_DONE<2>
PARTITION FB15_1 EXP76_ EXP77_ SHUT_UP_Z2<0> AUTO_CONFIG_Z2_DONE_CYCLE<1> PARTITION FB14_1 Dout1<0> EXP29_ ROM_B_0_OBUF$BUF2 Dout1<2>
LAN_SM_FSM_FFd1 LAN_RD_S LAN_SM_FSM_FFd3 EXP78_ D_OUT_or0002/D_OUT_or0002_D2 AUTO_CONFIG_DONE_CYCLE<0> AUTO_CONFIG_DONE_CYCLE<1> AUTO_CONFIG_DONE<0>
LAN_READY DQ_DATA<9> EXP79_ ROM_B_0_OBUF$BUF6 AUTO_CONFIG_DONE<1> IDE_BASEADR_not0001/IDE_BASEADR_not0001_D2 CFOUT_OBUF
Z3_A_LOW Z3_DATA<15> Z3_DATA<14> LAN_SM_FSM_FFd2 PARTITION FB14_14 SLAVE_OBUF ROM_B_0_OBUF$BUF1 Dout1<1> EXP30_
Z3_DATA<13> D_Z2_OUT<0> EXP31_
PARTITION FB16_1 EXP80_ Z3_DATA<12> Z3_DATA<11> PARTITION FB15_9 LAN_WR_RST LAN_RST_SM_FSM_FFd5 LAN_RST_SM_FSM_FFd2 ROM_B_0_OBUF$BUF6
PARTITION FB16_5 Z3_DATA<26> Z3_DATA<10> Z3_DATA<25> Z3_DATA<9> LAN_RST_SM_FSM_FFd1 lan_adr lan_adr_sw LAN_BASEADR<7>
Z3_DATA<24> ROM_B_0_OBUF$BUF3 Z3_DATA<8> Z3_DATA<18> LAN_BASEADR<6> LAN_BASEADR<5>
Z3_DATA<17> Z3_DATA<16> EXP81_ DQ_DATA<10> PARTITION FB16_6 D_OUT_and0001/D_OUT_and0001_D2 lan_adr_sw/lan_adr_sw_CLKF LAN_RST_SM_FSM_FFd6 LAN_RST_SM_FSM_FFd3
DQ_DATA<2> EXP82_ ROM_B_0_OBUF$BUF3 $OpTx$FX_DC$45 $OpTx$FX_DC$44 $OpTx$FX_DC$43
$OpTx$FX_DC$42 $OpTx$FX_DC$41 $OpTx$FX_DC$40 $OpTx$FX_DC$39
$OpTx$FX_DC$38
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+23 -23
View File
@@ -1,7 +1,7 @@
Release 8.1i - Fit P.20131013 Release 8.1i - Fit P.20131013
Copyright(c) 1995-2003 Xilinx Inc. All rights reserved Copyright(c) 1995-2003 Xilinx Inc. All rights reserved
11-15-2019 0:25AM 3- 8-2022 1:48PM
NOTE: This file is designed to be imported into a spreadsheet program NOTE: This file is designed to be imported into a spreadsheet program
such as Microsoft Excel for viewing, printing and sorting. The pipe '|' such as Microsoft Excel for viewing, printing and sorting. The pipe '|'
@@ -73,17 +73,17 @@ P52|A<3>|I|I/O|INPUT|||||||||
P53|A<7>|I|I/O|INPUT||||||||| P53|A<7>|I|I/O|INPUT|||||||||
P54|A<2>|I|I/O|INPUT||||||||| P54|A<2>|I|I/O|INPUT|||||||||
P55|VCC||VCCIO|||||||||| P55|VCC||VCCIO||||||||||
P56|A<8>|I/O|I/O|BIDIR||||||||| P56|A<8>|I|I/O|INPUT|||||||||
P57|A<1>|I|I/O|INPUT||||||||| P57|A<1>|I|I/O|INPUT|||||||||
P58|A<9>|I/O|I/O|BIDIR||||||||| P58|A<9>|I|I/O|INPUT|||||||||
P59|A<10>|I/O|I/O|BIDIR||||||||| P59|A<10>|I|I/O|INPUT|||||||||
P60|A<11>|I/O|I/O|BIDIR||||||||| P60|A<11>|I|I/O|INPUT|||||||||
P61|A<12>|I/O|I/O|BIDIR||||||||| P61|A<12>|I|I/O|INPUT|||||||||
P62|GND||GND|||||||||| P62|GND||GND||||||||||
P63|TDI||TDI|||||||||| P63|TDI||TDI||||||||||
P64|A<13>|I/O|I/O|BIDIR||||||||| P64|A<13>|I|I/O|INPUT|||||||||
P65|TMS||TMS|||||||||| P65|TMS||TMS||||||||||
P66|A<14>|I/O|I/O|BIDIR||||||||| P66|A<14>|I|I/O|INPUT|||||||||
P67|TCK||TCK|||||||||| P67|TCK||TCK||||||||||
P68|ROM_B<0>|O|I/O|OUTPUT||||||||| P68|ROM_B<0>|O|I/O|OUTPUT|||||||||
P69|ROM_B<1>|O|I/O|OUTPUT||||||||| P69|ROM_B<1>|O|I/O|OUTPUT|||||||||
@@ -91,34 +91,34 @@ P70|CP_WE|O|I/O|OUTPUT|||||||||
P71|CP_RD|O|I/O|OUTPUT||||||||| P71|CP_RD|O|I/O|OUTPUT|||||||||
P72|GND||GND|||||||||| P72|GND||GND||||||||||
P73|VCC||VCCIO|||||||||| P73|VCC||VCCIO||||||||||
P74|A<15>|I/O|I/O|BIDIR||||||||| P74|A<15>|I|I/O|INPUT|||||||||
P75|AUTOBOOT_OFF|I|I/O|INPUT||||||||| P75|IDE_OFF|I|I/O|INPUT|||||||||
P76|LAN_WRL|O|I/O|OUTPUT||||||||| P76|LAN_WRL|O|I/O|OUTPUT|||||||||
P77|FCS|I|I/O|INPUT||||||||| P77|TIE||I/O||||||||||
P78|DS1|I|I/O|INPUT||||||||| P78|TIE||I/O||||||||||
P79|Z3|I|I/O|INPUT||||||||| P79|TIE||I/O||||||||||
P80|AS|I|I/O|INPUT||||||||| P80|AS|I|I/O|INPUT|||||||||
P81|UDS|I|I/O|INPUT||||||||| P81|UDS|I|I/O|INPUT|||||||||
P82|LDS|I|I/O|INPUT||||||||| P82|LDS|I|I/O|INPUT|||||||||
P83|RW|I|I/O|INPUT||||||||| P83|RW|I|I/O|INPUT|||||||||
P84|VCC||VCCINT|||||||||| P84|VCC||VCCINT||||||||||
P85|DTACK|O|I/O|OUTPUT||||||||| P85|DTACK|O|I/O|OUTPUT|||||||||
P86|A<23>|I/O|I/O|BIDIR||||||||| P86|A<23>|I|I/O|INPUT|||||||||
P87|A<22>|I/O|I/O|BIDIR||||||||| P87|A<22>|I|I/O|INPUT|||||||||
P88|A<21>|I/O|I/O|BIDIR||||||||| P88|A<21>|I|I/O|INPUT|||||||||
P89|GND||GND|||||||||| P89|GND||GND||||||||||
P90|GND||GND|||||||||| P90|GND||GND||||||||||
P91|A<20>|I/O|I/O|BIDIR||||||||| P91|A<20>|I|I/O|INPUT|||||||||
P92|A<19>|I/O|I/O|BIDIR||||||||| P92|A<19>|I|I/O|INPUT|||||||||
P93|DS0|I|I/O|INPUT||||||||| P93|TIE||I/O||||||||||
P94|A<18>|I/O|I/O|BIDIR||||||||| P94|A<18>|I|I/O|INPUT|||||||||
P95|A<17>|I/O|I/O|BIDIR||||||||| P95|A<17>|I|I/O|INPUT|||||||||
P96|MTACK|O|I/O|OUTPUT||||||||| P96|MTACK|O|I/O|OUTPUT|||||||||
P97|A<16>|I/O|I/O|BIDIR||||||||| P97|A<16>|I|I/O|INPUT|||||||||
P98|TIE||I/O|||||||||| P98|TIE||I/O||||||||||
P99|GND||GND|||||||||| P99|GND||GND||||||||||
P100|OVR|O|I/O|OUTPUT||||||||| P100|OVR|O|I/O|OUTPUT|||||||||
P101|MTCR|I|I/O|INPUT||||||||| P101|TIE||I/O||||||||||
P102|C3|I|I/O|INPUT||||||||| P102|C3|I|I/O|INPUT|||||||||
P103|C1|I|I/O|INPUT||||||||| P103|C1|I|I/O|INPUT|||||||||
P104|CFIN|I|I/O|INPUT||||||||| P104|CFIN|I|I/O|INPUT|||||||||
File diff suppressed because it is too large Load Diff
+119 -233
View File
@@ -3,14 +3,14 @@ Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
--> Parameter TMPDIR set to xst/projnav.tmp --> Parameter TMPDIR set to xst/projnav.tmp
Total REAL time to Xst completion: 1.00 secs Total REAL time to Xst completion: 0.00 secs
Total CPU time to Xst completion: 0.12 secs Total CPU time to Xst completion: 0.08 secs
--> Parameter xsthdpdir set to xst --> Parameter xsthdpdir set to xst
Total REAL time to Xst completion: 1.00 secs Total REAL time to Xst completion: 0.00 secs
Total CPU time to Xst completion: 0.12 secs Total CPU time to Xst completion: 0.09 secs
--> Reading design: LAN_IDE_CP.prj --> Reading design: LAN_IDE_CP.prj
@@ -43,7 +43,7 @@ Target Device : XC9500XL CPLDs
---- Source Options ---- Source Options
Top Module Name : LAN_IDE_CP Top Module Name : LAN_IDE_CP
Automatic FSM Extraction : YES Automatic FSM Extraction : YES
FSM Encoding Algorithm : Gray FSM Encoding Algorithm : Auto
Safe Implementation : No Safe Implementation : No
Mux Extraction : Yes Mux Extraction : Yes
Resource Sharing : YES Resource Sharing : YES
@@ -56,7 +56,7 @@ Equivalent register Removal : YES
---- General Options ---- General Options
Optimization Goal : Speed Optimization Goal : Speed
Optimization Effort : 2 Optimization Effort : 1
Keep Hierarchy : Yes Keep Hierarchy : Yes
Netlist Hierarchy : As_Optimized Netlist Hierarchy : As_Optimized
RTL Output : Yes RTL Output : Yes
@@ -71,13 +71,11 @@ wysiwyg : NO
========================================================================= =========================================================================
Setting FSM Encoding Algorithm to : Gray
========================================================================= =========================================================================
* HDL Compilation * * HDL Compilation *
========================================================================= =========================================================================
Compiling vhdl file "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.vhd" in Library work. Compiling vhdl file "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP-Z2v2.vhd" in Library work.
Entity <lan_ide_cp> compiled. Entity <lan_ide_cp> compiled.
Entity <lan_ide_cp> (Architecture <behavioral>) compiled. Entity <lan_ide_cp> (Architecture <behavioral>) compiled.
@@ -91,12 +89,8 @@ Analyzing hierarchy for entity <LAN_IDE_CP> in library <work> (architecture <beh
* HDL Analysis * * HDL Analysis *
========================================================================= =========================================================================
Analyzing Entity <LAN_IDE_CP> in library <work> (Architecture <behavioral>). Analyzing Entity <LAN_IDE_CP> in library <work> (Architecture <behavioral>).
WARNING:Xst:819 - "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.vhd" line 271: One or more signals are missing in the process sensitivity list. To enable synthesis of FPGA/CPLD hardware, XST will assume that all necessary signals are present in the sensitivity list. Please note that the result of the synthesis may differ from the initial design specification. The missing signals are: WARNING:Xst:819 - "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP-Z2v2.vhd" line 161: One or more signals are missing in the process sensitivity list. To enable synthesis of FPGA/CPLD hardware, XST will assume that all necessary signals are present in the sensitivity list. Please note that the result of the synthesis may differ from the initial design specification. The missing signals are:
<CLK_EXT> <AMIGA_CLK>
WARNING:Xst:819 - "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.vhd" line 517: One or more signals are missing in the process sensitivity list. To enable synthesis of FPGA/CPLD hardware, XST will assume that all necessary signals are present in the sensitivity list. Please note that the result of the synthesis may differ from the initial design specification. The missing signals are:
<CLK_EXT>
WARNING:Xst:819 - "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.vhd" line 683: One or more signals are missing in the process sensitivity list. To enable synthesis of FPGA/CPLD hardware, XST will assume that all necessary signals are present in the sensitivity list. Please note that the result of the synthesis may differ from the initial design specification. The missing signals are:
<CLK_EXT>
Entity <LAN_IDE_CP> analyzed. Unit <LAN_IDE_CP> generated. Entity <LAN_IDE_CP> analyzed. Unit <LAN_IDE_CP> generated.
@@ -106,46 +100,32 @@ Entity <LAN_IDE_CP> analyzed. Unit <LAN_IDE_CP> generated.
Performing bidirectional port resolution... Performing bidirectional port resolution...
INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed. INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed.
INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed.
INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed.
INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed.
INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed.
INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed.
INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP> is removed.
Synthesizing Unit <LAN_IDE_CP>. Synthesizing Unit <LAN_IDE_CP>.
Related source file is "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP.vhd". Related source file is "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/LAN_IDE_CP-Z2v2.vhd".
WARNING:Xst:647 - Input <IDE_WAIT> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved. WARNING:Xst:647 - Input <DS0> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
WARNING:Xst:647 - Input <BERR> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved. WARNING:Xst:647 - Input <DS1> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
WARNING:Xst:646 - Signal <LAN_BASEADR<7:0>> is assigned but never used. This unconnected signal will be trimmed during the optimization process. WARNING:Xst:647 - Input <FCS> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
WARNING:Xst:1780 - Signal <CONFIG_READY> is never used or assigned. This unconnected signal will be trimmed during the optimization process. WARNING:Xst:647 - Input <Z3> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>. WARNING:Xst:647 - Input <MTCR> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
Found finite state machine <FSM_0> for signal <LAN_SM>. WARNING:Xst:646 - Signal <ROM_OE_D0> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
----------------------------------------------------------------------- WARNING:Xst:1780 - Signal <LAN_INT_D0> is never used or assigned. This unconnected signal will be trimmed during the optimization process.
| States | 13 | WARNING:Xst:646 - Signal <IDE_TERM> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
| Transitions | 19 | WARNING:Xst:1780 - Signal <DTACK_S> is never used or assigned. This unconnected signal will be trimmed during the optimization process.
| Inputs | 4 | WARNING:Xst:646 - Signal <DS_D> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
| Outputs | 14 | WARNING:Xst:646 - Signal <DECODE_RESET> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
| Clock | CLK_EXT (rising_edge) | Found finite state machine <FSM_0> for signal <LAN_RST_SM>.
| Reset | LAN_SM_RST (positive) |
| Reset type | asynchronous |
| Reset State | nop |
| Power Up State | nop |
| Encoding | gray |
| Implementation | automatic |
-----------------------------------------------------------------------
Found finite state machine <FSM_1> for signal <LAN_RST_SM>.
----------------------------------------------------------------------- -----------------------------------------------------------------------
| States | 8 | | States | 8 |
| Transitions | 8 | | Transitions | 8 |
| Inputs | 0 | | Inputs | 0 |
| Outputs | 30 | | Outputs | 4 |
| Clock | CLK_EXT (rising_edge) | | Clock | CLK_EXT (rising_edge) |
| Reset | RESET (positive) | | Reset | LAN_RST_SM$and0000 (positive) |
| Reset type | asynchronous | | Reset type | asynchronous |
| Reset State | nop | | Reset State | nop |
| Power Up State | nop | | Power Up State | nop |
| Encoding | gray | | Encoding | automatic |
| Implementation | automatic | | Implementation | automatic |
----------------------------------------------------------------------- -----------------------------------------------------------------------
Found 16-bit tristate buffer for signal <D>. Found 16-bit tristate buffer for signal <D>.
@@ -156,73 +136,54 @@ INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>.
Found 1-bit tristate buffer for signal <DTACK>. Found 1-bit tristate buffer for signal <DTACK>.
Found 1-bit tristate buffer for signal <INT2_OUT>. Found 1-bit tristate buffer for signal <INT2_OUT>.
Found 1-bit tristate buffer for signal <INT6_OUT>. Found 1-bit tristate buffer for signal <INT6_OUT>.
Found 1-bit tristate buffer for signal <A<23>>. Found 14-bit register for signal <A_LAN_OUT>.
Found 1-bit tristate buffer for signal <A<22>>. Found 1-bit xor2 for signal <AMIGA_CLK$xor0000> created at line 153.
Found 1-bit tristate buffer for signal <A<21>>. Found 1-bit register for signal <AS_D>.
Found 1-bit tristate buffer for signal <A<20>>. Found 2-bit register for signal <AUTO_CONFIG_DONE>.
Found 1-bit tristate buffer for signal <A<19>>. Found 2-bit register for signal <AUTO_CONFIG_DONE_CYCLE>.
Found 1-bit tristate buffer for signal <A<18>>. Found 2-bit subtractor for signal <AUTO_CONFIG_DONE_CYCLE$addsub0000> created at line 467.
Found 1-bit tristate buffer for signal <A<17>>. Found 1-bit register for signal <autoconfig>.
Found 1-bit tristate buffer for signal <A<16>>. Found 2-bit comparator greater for signal <autoconfig$cmp_gt0000> created at line 233.
Found 1-bit tristate buffer for signal <A<15>>. Found 1-bit register for signal <CLEAR_REGISTER>.
Found 1-bit tristate buffer for signal <A<14>>. Found 1-bit register for signal <cp>.
Found 1-bit tristate buffer for signal <A<13>>. Found 8-bit comparator equal for signal <cp$cmp_eq0000> created at line 242.
Found 1-bit tristate buffer for signal <A<12>>.
Found 1-bit tristate buffer for signal <A<11>>.
Found 1-bit tristate buffer for signal <A<10>>.
Found 1-bit tristate buffer for signal <A<9>>.
Found 1-bit tristate buffer for signal <A<8>>.
Found 1-bit xor2 for signal <AMIGA_CLK$xor0000> created at line 184.
Found 1-bit register for signal <AS_D0>.
Found 1-bit register for signal <AS_D1>.
Found 3-bit register for signal <AUTO_CONFIG_Z2_DONE>.
Found 3-bit register for signal <AUTO_CONFIG_Z2_DONE_CYCLE>.
Found 1-bit register for signal <AUTOCONFIG_Z2_ACCESS>.
Found 1-bit register for signal <CP_ACCESS>.
Found 8-bit comparator equal for signal <CP_ACCESS$cmp_eq0000> created at line 309.
Found 8-bit register for signal <CP_BASEADR>. Found 8-bit register for signal <CP_BASEADR>.
Found 1-bit register for signal <CP_RD_S>. Found 1-bit register for signal <CP_RD_S>.
Found 1-bit register for signal <CP_WE_QUIRK>. Found 1-bit register for signal <CP_WE_QUIRK>.
Found 1-bit register for signal <CP_WE_S>. Found 1-bit register for signal <CP_WE_S>.
Found 4-bit register for signal <D_Z2_OUT>. Found 16-bit register for signal <D_IN>.
Found 4-bit comparator less for signal <DQ$cmp_lt0000> created at line 649. Found 16-bit register for signal <D_OUT>.
Found 16-bit register for signal <DQ_DATA>. Found 4-bit register for signal <Dout1>.
Found 1-bit register for signal <DQ_SWAP>. Found 3-bit comparator greater for signal <Dout1$cmp_gt0000> created at line 394.
Found 2-bit comparator less for signal <DQ_SWAP$cmp_lt0000> created at line 284. Found 1-bit register for signal <ide>.
Found 1-bit register for signal <IDE_ACCESS>. Found 8-bit comparator equal for signal <ide$cmp_eq0000> created at line 245.
Found 8-bit comparator equal for signal <IDE_ACCESS$cmp_eq0000> created at line 316.
Found 8-bit register for signal <IDE_BASEADR>. Found 8-bit register for signal <IDE_BASEADR>.
Found 1-bit register for signal <IDE_ENABLE>. Found 1-bit register for signal <IDE_ENABLE>.
Found 1-bit register for signal <IDE_R_S>. Found 1-bit register for signal <IDE_R_S>.
Found 1-bit register for signal <IDE_W_S>. Found 1-bit register for signal <IDE_W_S>.
Found 1-bit register for signal <INT_VECTOR_CYCLE>. Found 1-bit register for signal <lan_adr>.
Found 14-bit register for signal <LAN_A_INIT>. Found 1-bit register for signal <lan_adr_sw>.
Found 1-bit register for signal <LAN_ACCESS>. Found 8-bit comparator equal for signal <lan_adr_sw$cmp_eq0000> created at line 236.
Found 8-bit comparator equal for signal <LAN_ACCESS$cmp_eq0000> created at line 283. Found 2-bit comparator less for signal <lan_adr_sw$cmp_lt0000> created at line 237.
Found 16-bit register for signal <LAN_BASEADR>. Found 8-bit register for signal <LAN_BASEADR>.
Found 1-bit register for signal <LAN_CS_RST>. Found 1-bit register for signal <LAN_CS_RST>.
Found 16-bit register for signal <LAN_D_INIT>.
Found 1-bit register for signal <LAN_INT_ENABLE>. Found 1-bit register for signal <LAN_INT_ENABLE>.
Found 1-bit register for signal <LAN_IRQ_D0>. Found 1-bit register for signal <LAN_IRQ_D0>.
Found 1-bit register for signal <LAN_IRQ_OUT>. Found 1-bit register for signal <LAN_IRQ_OUT>.
Found 1-bit register for signal <LAN_RD_S>. Found 1-bit register for signal <LAN_RD_S>.
Found 1-bit register for signal <LAN_READY>.
Found 2-bit comparator less for signal <LAN_SM$cmp_lt0000> created at line 406.
Found 1-bit register for signal <LAN_SM_RST>.
Found 1-bit register for signal <LAN_WR_RST>. Found 1-bit register for signal <LAN_WR_RST>.
Found 1-bit register for signal <LAN_WRH_S>. Found 1-bit register for signal <LAN_WRH_S>.
Found 1-bit register for signal <LAN_WRL_S>. Found 1-bit register for signal <LAN_WRL_S>.
Found 1-bit register for signal <ROM_OE_S>. Found 1-bit register for signal <ROM_OE_S>.
Found 3-bit register for signal <SHUT_UP_Z2>. Found 1-bit register for signal <SET_FREQUENCY>.
Found 1-bit register for signal <Z3_A_LOW>. Found 3-bit register for signal <SHUT_UP>.
Found 14-bit register for signal <Z3_ADR>.
Found 32-bit register for signal <Z3_DATA>.
Summary: Summary:
inferred 2 Finite State Machine(s). inferred 1 Finite State Machine(s).
inferred 61 D-type flip-flop(s). inferred 25 D-type flip-flop(s).
inferred 1 Adder/Subtractor(s).
inferred 6 Comparator(s). inferred 6 Comparator(s).
inferred 1 Xor(s). inferred 1 Xor(s).
inferred 54 Tristate(s). inferred 38 Tristate(s).
Unit <LAN_IDE_CP> synthesized. Unit <LAN_IDE_CP> synthesized.
@@ -230,19 +191,22 @@ Unit <LAN_IDE_CP> synthesized.
HDL Synthesis Report HDL Synthesis Report
Macro Statistics Macro Statistics
# Registers : 73 # Adders/Subtractors : 1
1-bit register : 64 2-bit subtractor : 1
14-bit register : 2 # Registers : 35
16-bit register : 3 1-bit register : 26
3-bit register : 1 14-bit register : 1
16-bit register : 2
2-bit register : 2
4-bit register : 1 4-bit register : 1
8-bit register : 2 8-bit register : 3
# Comparators : 6 # Comparators : 6
2-bit comparator less : 2 2-bit comparator greater : 1
4-bit comparator less : 1 2-bit comparator less : 1
3-bit comparator greater : 1
8-bit comparator equal : 3 8-bit comparator equal : 3
# Tristates : 24 # Tristates : 8
1-bit tristate buffer : 22 1-bit tristate buffer : 6
16-bit tristate buffer : 2 16-bit tristate buffer : 2
# Xors : 1 # Xors : 1
1-bit xor2 : 1 1-bit xor2 : 1
@@ -253,68 +217,34 @@ Macro Statistics
* Advanced HDL Synthesis * * Advanced HDL Synthesis *
========================================================================= =========================================================================
Optimizing FSM <LAN_RST_SM/FSM> on signal <LAN_RST_SM[1:3]> with gray encoding. Analyzing FSM <FSM_0> for best encoding.
Optimizing FSM <LAN_RST_SM/FSM> on signal <LAN_RST_SM[1:8]> with one-hot encoding.
------------------------ ------------------------
State | Encoding State | Encoding
------------------------ ------------------------
nop | 000 nop | 00000001
wait0 | 001 wait0 | 00000010
clr | 011 clr | 00000100
clr_commit | 010 clr_commit | 00001000
wait1 | 110 wait1 | 00010000
set | 111 set | 00100000
set_commit | 101 set_commit | 01000000
done | 100 done | 10000000
------------------------ ------------------------
Optimizing FSM <LAN_SM/FSM> on signal <LAN_SM[1:4]> with gray encoding. WARNING:Xst:1426 - The value init of the FF/Latch 0 hinder the constant cleaning in the block SET_FREQUENCY.
------------------------------- You should achieve better results by setting this init to 0.
State | Encoding WARNING:Xst:1426 - The value init of the FF/Latch 0 hinder the constant cleaning in the block CLEAR_REGISTER.
------------------------------- You should achieve better results by setting this init to 0.
nop | 0000
start_read_upper | unreached
wait_read_upper | 0011
end_read_upper | 0101
start_read_lower | 0100
wait_read_lower | 0010
end_read_lower | 1100
start_write_upper | 0110
wait_write_upper | 1101
end_write_upper | 1111
start_write_lower | 0111
wait_write_lower | 1110
end_write_lower | 1010
config_rw | 0001
-------------------------------
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <13>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <12>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <11>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <10>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <9>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <8>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <7>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <5>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <4>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <2>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <1>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 1 in block <0>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <15>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <14>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <13>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <12>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <7>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <6>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <5>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <3>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <2>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <0> has a constant value of 0 in block <0>. This FF/Latch will be trimmed during the optimization process.
========================================================================= =========================================================================
Advanced HDL Synthesis Report Advanced HDL Synthesis Report
Macro Statistics Macro Statistics
# FSMs : 2 # FSMs : 1
# Registers : 61 # Adders/Subtractors : 1
Flip-Flops : 61 2-bit subtractor : 1
# Registers : 25
Flip-Flops : 25
# Comparators : 3 # Comparators : 3
8-bit comparator equal : 3 8-bit comparator equal : 3
@@ -323,65 +253,22 @@ Macro Statistics
========================================================================= =========================================================================
* Low Level Synthesis * * Low Level Synthesis *
========================================================================= =========================================================================
WARNING:Xst:1293 - FF/Latch <LAN_D_INIT_15> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process. WARNING:Xst:1426 - The value init of the FF/Latch SET_FREQUENCY hinder the constant cleaning in the block LAN_IDE_CP.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_14> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process. You should achieve better results by setting this init to 0.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_13> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process. WARNING:Xst:1426 - The value init of the FF/Latch CLEAR_REGISTER hinder the constant cleaning in the block LAN_IDE_CP.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_12> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process. You should achieve better results by setting this init to 0.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_7> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_6> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_5> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_3> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_2> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_D_INIT_0> has a constant value of 0 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_13> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_12> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_11> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_10> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_9> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_8> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_7> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_5> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_4> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_2> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_1> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_0> has a constant value of 1 in block <LAN_IDE_CP>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:2677 - Node <LAN_BASEADR_7> of sequential type is unconnected in block <LAN_IDE_CP>.
WARNING:Xst:2677 - Node <LAN_BASEADR_6> of sequential type is unconnected in block <LAN_IDE_CP>.
WARNING:Xst:2677 - Node <LAN_BASEADR_5> of sequential type is unconnected in block <LAN_IDE_CP>.
WARNING:Xst:2677 - Node <LAN_BASEADR_4> of sequential type is unconnected in block <LAN_IDE_CP>.
WARNING:Xst:2677 - Node <LAN_BASEADR_3> of sequential type is unconnected in block <LAN_IDE_CP>.
WARNING:Xst:2677 - Node <LAN_BASEADR_2> of sequential type is unconnected in block <LAN_IDE_CP>.
WARNING:Xst:2677 - Node <LAN_BASEADR_1> of sequential type is unconnected in block <LAN_IDE_CP>.
WARNING:Xst:2677 - Node <LAN_BASEADR_0> of sequential type is unconnected in block <LAN_IDE_CP>.
INFO:Xst:2261 - The FF/Latch <LAN_D_INIT_8> in Unit <LAN_IDE_CP> is equivalent to the following 2 FFs/Latches, which will be removed : <LAN_D_INIT_10> <LAN_D_INIT_11>
INFO:Xst:2261 - The FF/Latch <LAN_D_INIT_1> in Unit <LAN_IDE_CP> is equivalent to the following 2 FFs/Latches, which will be removed : <LAN_D_INIT_4> <LAN_D_INIT_9>
Optimizing unit <LAN_IDE_CP> ... Optimizing unit <LAN_IDE_CP> ...
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_0 implementation constraint: INIT=s : CLEAR_REGISTER
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_1 implementation constraint: INIT=s : SET_FREQUENCY
implementation constraint: INIT=s : SHUT_UP_Z2_0
implementation constraint: INIT=r : LAN_INT_ENABLE
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_2
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_1
implementation constraint: INIT=s : D_Z2_OUT_0
implementation constraint: INIT=s : D_Z2_OUT_2
implementation constraint: INIT=s : LAN_A_INIT_3
implementation constraint: INIT=s : LAN_A_INIT_6
implementation constraint: INIT=s : D_Z2_OUT_3
implementation constraint: INIT=s : D_Z2_OUT_1
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_2
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_0
implementation constraint: INIT=r : LAN_D_INIT_1
implementation constraint: INIT=r : LAN_D_INIT_8
implementation constraint: INIT=s : SHUT_UP_Z2_1
implementation constraint: INIT=s : SHUT_UP_Z2_2
implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd1 implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd1
implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd2 implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd2
implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd3 implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd3
implementation constraint: INIT=r : LAN_SM_FSM_FFd1 implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd4
implementation constraint: INIT=r : LAN_SM_FSM_FFd2 implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd5
implementation constraint: INIT=r : LAN_SM_FSM_FFd3 implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd6
implementation constraint: INIT=r : LAN_SM_FSM_FFd4 implementation constraint: INIT=r : LAN_RST_SM_FSM_FFd7
implementation constraint: INIT=s : LAN_RST_SM_FSM_FFd8
========================================================================= =========================================================================
* Partition Report * * Partition Report *
@@ -413,40 +300,39 @@ Design Statistics
# IOs : 113 # IOs : 113
Cell Usage : Cell Usage :
# BELS : 1475 # BELS : 822
# AND2 : 486 # AND2 : 197
# AND3 : 67 # AND3 : 52
# AND4 : 26 # AND4 : 13
# AND5 : 1
# AND8 : 3 # AND8 : 3
# GND : 1 # GND : 1
# INV : 558 # INV : 346
# OR2 : 246 # OR2 : 164
# OR3 : 58 # OR3 : 19
# OR4 : 4 # OR4 : 1
# XOR2 : 25 # XOR2 : 26
# FlipFlops/Latches : 136 # FlipFlops/Latches : 112
# FD : 4 # FD : 17
# FDC : 19 # FDC : 7
# FDCE : 10 # FDCE : 32
# FDP : 27 # FDP : 18
# FDPE : 76 # FDPE : 38
# IO Buffers : 111 # IO Buffers : 106
# IBUF : 24 # IBUF : 35
# IOBUFE : 48 # IOBUFE : 32
# OBUF : 33 # OBUF : 33
# OBUFE : 6 # OBUFE : 6
========================================================================= =========================================================================
Total REAL time to Xst completion: 9.00 secs Total REAL time to Xst completion: 3.00 secs
Total CPU time to Xst completion: 8.50 secs Total CPU time to Xst completion: 2.81 secs
--> -->
Total memory usage is 4521784 kilobytes Total memory usage is 4514408 kilobytes
Number of errors : 0 ( 0 filtered) Number of errors : 0 ( 0 filtered)
Number of warnings : 59 ( 0 filtered) Number of warnings : 16 ( 0 filtered)
Number of infos : 10 ( 0 filtered) Number of infos : 1 ( 0 filtered)
File diff suppressed because it is too large Load Diff
+180 -92
View File
@@ -57,13 +57,13 @@ entity LAN_IDE_CP is
LDS : in STD_LOGIC; LDS : in STD_LOGIC;
AS : in STD_LOGIC; AS : in STD_LOGIC;
RW : in STD_LOGIC; RW : in STD_LOGIC;
Z3 : in STD_LOGIC; Z3 : inout STD_LOGIC;
DS1 : in STD_LOGIC; DS1 : in STD_LOGIC;
FCS : in STD_LOGIC; FCS : in STD_LOGIC;
RESET : in STD_LOGIC; RESET : in STD_LOGIC;
INT2_OUT : out STD_LOGIC; INT2_OUT : out STD_LOGIC;
INT6_OUT : out STD_LOGIC; INT6_OUT : out STD_LOGIC;
AUTOBOOT_OFF : in STD_LOGIC; IDE_OFF : in STD_LOGIC;
ROM_B : out STD_LOGIC_VECTOR (1 downto 0); ROM_B : out STD_LOGIC_VECTOR (1 downto 0);
ROM_OE : out STD_LOGIC; ROM_OE : out STD_LOGIC;
IDE_WAIT : in STD_LOGIC; IDE_WAIT : in STD_LOGIC;
@@ -132,11 +132,19 @@ architecture Behavioral of LAN_IDE_CP is
signal AUTO_CONFIG_Z2_DONE:STD_LOGIC_VECTOR(2 downto 0):="000"; signal AUTO_CONFIG_Z2_DONE:STD_LOGIC_VECTOR(2 downto 0):="000";
signal AUTO_CONFIG_Z2_DONE_CYCLE:STD_LOGIC_VECTOR(2 downto 0):="000"; signal AUTO_CONFIG_Z2_DONE_CYCLE:STD_LOGIC_VECTOR(2 downto 0):="000";
signal SHUT_UP_Z2:STD_LOGIC_VECTOR(2 downto 0):="111"; signal SHUT_UP_Z2:STD_LOGIC_VECTOR(2 downto 0):="111";
signal LAN_BASEADR:STD_LOGIC_VECTOR(15 downto 0); signal LAN_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
signal LAN_INT_ENABLE: std_logic :='0'; signal LAN_INT_ENABLE: std_logic :='0';
signal LAN_RD_S: std_logic; signal LAN_RD_S: std_logic;
signal LAN_WRH_S: std_logic; signal LAN_WRH_S: std_logic;
signal LAN_WRL_S: std_logic; signal LAN_WRL_S: std_logic;
signal LAN_ACCESS_Z2: STD_LOGIC;
signal DQ_SWAP_Z2: STD_LOGIC;
signal LAN_INT_ENABLE_Z2: STD_LOGIC;
signal LAN_RD_S_Z2: STD_LOGIC;
signal LAN_WRH_S_Z2: STD_LOGIC;
signal LAN_WRL_S_Z2: STD_LOGIC;
signal LAN_READY: std_logic; signal LAN_READY: std_logic;
signal CONFIG_READY: std_logic; signal CONFIG_READY: std_logic;
signal LAN_IRQ_D0: std_logic; signal LAN_IRQ_D0: std_logic;
@@ -155,9 +163,11 @@ architecture Behavioral of LAN_IDE_CP is
signal AMIGA_CLK:STD_LOGIC; signal AMIGA_CLK:STD_LOGIC;
signal DS:STD_LOGIC; signal DS:STD_LOGIC;
signal AS_D:STD_LOGIC;
signal LAN_CS_RST: std_logic; signal LAN_CS_RST: std_logic;
signal LAN_WR_RST: std_logic; signal LAN_WR_RST: std_logic;
signal LAN_INIT_FINISHED: std_logic;
signal INT_VECTOR_CYCLE: std_logic; signal INT_VECTOR_CYCLE: std_logic;
signal LAN_A_INIT:STD_LOGIC_VECTOR(13 downto 0) :="11"&x"FFF"; signal LAN_A_INIT:STD_LOGIC_VECTOR(13 downto 0) :="11"&x"FFF";
@@ -181,17 +191,27 @@ begin
Z3_DS <= UDS & LDS & DS1 & DS0; Z3_DS <= UDS & LDS & DS1 & DS0;
AMIGA_CLK <= not (C1 xor C3); AMIGA_CLK <= not (C1 xor C3);
DS <= UDS and LDS; DS <= UDS and LDS;
clock_init: process(reset,CLK_EXT) AS_DELAY: process(CLK_EXT,reset)
begin begin
if(reset='1')then if(reset = '0' )then
AS_D <= '1';
elsif(rising_edge(AMIGA_CLK))then
AS_D <= AS;
end if;
end process;
clock_init: process(reset,AMIGA_CLK)
begin
if(reset='0')then
--default values --default values
LAN_CS_RST<='0'; LAN_CS_RST<='0';
LAN_WR_RST<='0'; LAN_WR_RST<='0';
LAN_RST_SM<=nop; LAN_RST_SM<=nop;
LAN_A_INIT<="11"&x"FFF"; LAN_A_INIT<="11"&x"FFF";
LAN_D_INIT<= x"0000"; LAN_D_INIT<= x"0000";
elsif(rising_edge(CLK_EXT))then --reset is low! LAN_INIT_FINISHED <= '0';
elsif(rising_edge(AMIGA_CLK))then --reset is high!
case LAN_RST_SM is case LAN_RST_SM is
when nop=> when nop=>
LAN_CS_RST<='0'; LAN_CS_RST<='0';
@@ -237,7 +257,8 @@ begin
LAN_D_INIT <= LAN_D_SET; LAN_D_INIT <= LAN_D_SET;
when done=> when done=>
LAN_CS_RST<='0'; LAN_CS_RST<='0';
LAN_WR_RST<='0'; LAN_WR_RST<='0';
LAN_INIT_FINISHED <='1';
LAN_RST_SM<=done; LAN_RST_SM<=done;
LAN_A_INIT <= LAN_A_SETREG; LAN_A_INIT <= LAN_A_SETREG;
LAN_D_INIT <= LAN_D_SET; LAN_D_INIT <= LAN_D_SET;
@@ -247,62 +268,68 @@ begin
ADDRESS_Z3_DECODE: process(FCS,reset) ADDRESS_Z3_DECODE: process(FCS,reset)
begin begin
if(reset='0' )then if(reset='0')then
LAN_ACCESS <= '0'; LAN_ACCESS <= '0';
DQ_SWAP <= '1'; DQ_SWAP <= '0';
Z3_ADR <= (others => '1'); Z3_ADR <= (others => '1');
INT_VECTOR_CYCLE <='0'; INT_VECTOR_CYCLE <='0';
elsif(falling_edge(FCS))then elsif(falling_edge(FCS))then
if(Z3='1') then Z3_ADR(15 downto 2) <= A(15 downto 2);-- latch the whole address for the whole cycle
Z3_ADR(15 downto 2) <= A(15 downto 2);-- latch the whole address for the whole cycle
INT_VECTOR_CYCLE <= not MTCR; --is this s special int vector cycle?!?
INT_VECTOR_CYCLE <= not MTCR; --is this s special int vector cycle?!?
if((D(15 downto 8) ) = LAN_BASEADR and SHUT_UP_Z2(0)='0' )then --only the upper 8 bits matter!!!
--use D(15 downto 8)& A(23 downto 16) = A(31 downto 16) for quick response if(A(14 downto 13)<"11")then
--lan base
--if(Z3='1' and (D(15 downto 8) & A(23 downto 16)) = LAN_BASEADR and SHUT_UP_Z2(0)='0' )then
if((D(15 downto 8) ) = LAN_BASEADR(15 downto 8) and SHUT_UP_Z2(0)='0' )then --only the upper 8 bits matter!!!
if(A(14 downto 13)<"11")then
DQ_SWAP <= '1';
else
DQ_SWAP <= '0';
end if;
LAN_ACCESS <= '1';
else
LAN_ACCESS <= '0';
DQ_SWAP <= '1'; DQ_SWAP <= '1';
else
DQ_SWAP <= '0';
end if; end if;
LAN_ACCESS <= '1';
else else
LAN_ACCESS <= '0'; LAN_ACCESS <= '0';
DQ_SWAP <= '1'; DQ_SWAP <= '0';
end if; end if;
end if; end if;
end process ADDRESS_Z3_DECODE; end process ADDRESS_Z3_DECODE;
ADDRESS_Z2_DECODE: process(AS,reset) ADDRESS_Z2_DECODE: process(AMIGA_CLK,reset)
begin begin
if(reset='0' )then if(reset='0' )then
AUTOCONFIG_Z2_ACCESS <= '0'; AUTOCONFIG_Z2_ACCESS <= '0';
IDE_ACCESS <= '0'; IDE_ACCESS <= '0';
CP_ACCESS <= '0'; CP_ACCESS <= '0';
elsif(falling_edge(AS))then LAN_ACCESS_Z2 <= '0';
if(A(23 downto 16) = x"E8" and AUTO_CONFIG_Z2_DONE /= "111" and CFIN='0' and LAN_ACCESS = '0')then DQ_SWAP_Z2 <= '0';
elsif(rising_edge(AMIGA_CLK))then
if(A(23 downto 16) = x"E8" and AUTO_CONFIG_Z2_DONE /= "111" and CFIN='0' )then
AUTOCONFIG_Z2_ACCESS <= '1'; AUTOCONFIG_Z2_ACCESS <= '1';
else else
AUTOCONFIG_Z2_ACCESS <= '0'; AUTOCONFIG_Z2_ACCESS <= '0';
end if; end if;
--LANz2-Base
if(A(23 downto 16) = LAN_BASEADR and SHUT_UP_Z2(0)='0' and Z3 ='0' )then
if(A(14 downto 13)<"11")then
DQ_SWAP_Z2 <= '1';
else
DQ_SWAP_Z2 <= '0';
end if;
LAN_ACCESS_Z2 <= '1';
else
LAN_ACCESS_Z2 <= '0';
DQ_SWAP_Z2 <= '0';
end if;
--CP base --CP base
if(A(23 downto 16) = CP_BASEADR and SHUT_UP_Z2(1)='0' and LAN_ACCESS = '0')then if(A(23 downto 16) = CP_BASEADR and SHUT_UP_Z2(1)='0' )then
CP_ACCESS <= '1'; CP_ACCESS <= '1';
else else
CP_ACCESS <= '0'; CP_ACCESS <= '0';
end if; end if;
--IDE base --IDE base
if(A(23 downto 16) = IDE_BASEADR and SHUT_UP_Z2(2)='0' and LAN_ACCESS = '0')then if(A(23 downto 16) = IDE_BASEADR and SHUT_UP_Z2(2)='0' )then
IDE_ACCESS <= '1'; IDE_ACCESS <= '1';
else else
IDE_ACCESS <= '0'; IDE_ACCESS <= '0';
@@ -340,7 +367,7 @@ begin
lan_rst_gen: process (CLK_EXT) lan_rst_gen: process (CLK_EXT)
begin begin
if falling_edge(CLK_EXT) then if falling_edge(CLK_EXT) then
if(FCS ='1' or reset = '0' or Z3_DS = "1111" or LAN_ACCESS = '0' or INT_VECTOR_CYCLE ='1') then if(FCS ='1' or reset = '0' or INT_VECTOR_CYCLE ='1' or Z3_DS = "1111" or LAN_ACCESS = '0') then
LAN_SM_RST <='1'; LAN_SM_RST <='1';
else else
LAN_SM_RST <='0'; LAN_SM_RST <='0';
@@ -348,6 +375,43 @@ begin
end if; end if;
end process lan_rst_gen; end process lan_rst_gen;
--lan signal generation: all Signals are HIGH active!
lan_data_multiplex: process (CLK_EXT,reset)
begin
if(reset ='0' ) then
DQ_DATA(15 downto 0) <= x"FFFF";
elsif rising_edge(CLK_EXT) then
-- this is a quite complex thing for a cpld
-- so I have to move this out of the cycle start condition and prepare it for every loop
if(LAN_SM = end_write_upper)then
-- prepare the data for lower write
if(DQ_SWAP='0') then
DQ_DATA(15 downto 0) <= Z3_DATA_IN(15 downto 0);
else
DQ_DATA(15 downto 0) <= Z3_DATA_IN( 7 downto 0) & Z3_DATA_IN(15 downto 8);
end if;
elsif(LAN_SM = nop)then
-- prepare the data for write
if(Z3_DS(3 downto 2) < "11")then
if(DQ_SWAP='0') then
DQ_DATA(15 downto 0) <= Z3_DATA_IN(31 downto 16);
else
DQ_DATA(15 downto 0) <= Z3_DATA_IN(23 downto 16) & Z3_DATA_IN(31 downto 24);
end if;
else -- lower word!
if(DQ_SWAP='0') then
DQ_DATA(15 downto 0) <= Z3_DATA_IN(15 downto 0);
else
DQ_DATA(15 downto 0) <= Z3_DATA_IN( 7 downto 0) & Z3_DATA_IN(15 downto 8);
end if;
end if;
end if;
end if;
end process lan_data_multiplex;
--lan signal generation: all Signals are HIGH active! --lan signal generation: all Signals are HIGH active!
lan_rw_gen: process (CLK_EXT,LAN_SM_RST) lan_rw_gen: process (CLK_EXT,LAN_SM_RST)
begin begin
@@ -359,7 +423,6 @@ begin
Z3_A_LOW <= '0'; Z3_A_LOW <= '0';
LAN_READY <= '0'; LAN_READY <= '0';
Z3_DATA(31 downto 0) <= x"FFFFFFFF"; Z3_DATA(31 downto 0) <= x"FFFFFFFF";
DQ_DATA(15 downto 0) <= x"FFFF";
elsif rising_edge(CLK_EXT) then elsif rising_edge(CLK_EXT) then
--default values --default values
LAN_RD_S <= '0'; LAN_RD_S <= '0';
@@ -370,25 +433,12 @@ begin
case LAN_SM is case LAN_SM is
when nop=> when nop=>
--cycle start! --cycle start!
-- prepare the data for write if(Z3_DS(3 downto 2) = "11")then
-- this is a quite complex thing for a cpld -- lower word!
-- so I have to move this out of the cycle start condition and prepare it for every loop
if(Z3_DS(3 downto 2) < "11")then
if(DQ_SWAP='0') then
DQ_DATA(15 downto 0) <= Z3_DATA_IN(31 downto 16);
else
DQ_DATA(15 downto 0) <= Z3_DATA_IN(23 downto 16) & Z3_DATA_IN(31 downto 24);
end if;
else -- lower word!
Z3_A_LOW <= '1'; Z3_A_LOW <= '1';
if(DQ_SWAP='0') then
DQ_DATA(15 downto 0) <= Z3_DATA_IN(15 downto 0);
else
DQ_DATA(15 downto 0) <= Z3_DATA_IN( 7 downto 0) & Z3_DATA_IN(15 downto 8);
end if;
end if; end if;
if(Z3_ADR(15)='1')then if(Z3_ADR(15)='1')then
LAN_SM <= config_rw; LAN_SM <= config_rw;
elsif(RW='1')then --read from MSB elsif(RW='1')then --read from MSB
@@ -407,6 +457,7 @@ begin
LAN_SM <= start_write_lower; LAN_SM <= start_write_lower;
end if; end if;
end if; end if;
when start_read_upper=> when start_read_upper=>
LAN_RD_S <= '1'; LAN_RD_S <= '1';
LAN_SM <= wait_read_upper; LAN_SM <= wait_read_upper;
@@ -453,12 +504,7 @@ begin
when wait_write_upper=> when wait_write_upper=>
LAN_SM<=end_write_upper; LAN_SM<=end_write_upper;
when end_write_upper=> when end_write_upper=>
-- prepare the data for write
if(DQ_SWAP='0') then
DQ_DATA(15 downto 0) <= Z3_DATA_IN(15 downto 0);
else
DQ_DATA(15 downto 0) <= Z3_DATA_IN( 7 downto 0) & Z3_DATA_IN(15 downto 8);
end if;
if(Z3_DS(1 downto 0) = "11")then -- no lower half if(Z3_DS(1 downto 0) = "11")then -- no lower half
LAN_READY <='1'; LAN_READY <='1';
@@ -493,7 +539,7 @@ begin
end process lan_rw_gen; end process lan_rw_gen;
--autoconfig --autoconfig
autoconfig_proc: process (reset, CLK_EXT) autoconfig_proc: process (reset, AMIGA_CLK)
begin begin
if reset = '0' then if reset = '0' then
-- reset active ... -- reset active ...
@@ -503,16 +549,16 @@ begin
IDE_BASEADR<=x"FF"; IDE_BASEADR<=x"FF";
CP_BASEADR<=x"FF"; CP_BASEADR<=x"FF";
AUTO_CONFIG_Z2_DONE <="000"; AUTO_CONFIG_Z2_DONE <="000";
LAN_BASEADR<=x"FFFF"; LAN_BASEADR<=x"FF";
elsif rising_edge(CLK_EXT) then -- no reset, so wait for rising edge of the clock elsif falling_edge(AMIGA_CLK) then -- no reset, so wait for rising edge of the clock
D_Z2_OUT<="1111"; D_Z2_OUT<="1111";
if(AS='1')then if(AS='1')then
AUTO_CONFIG_Z2_DONE <= AUTO_CONFIG_Z2_DONE or AUTO_CONFIG_Z2_DONE_CYCLE or (not AUTOBOOT_OFF & "00") ; AUTO_CONFIG_Z2_DONE <= AUTO_CONFIG_Z2_DONE or AUTO_CONFIG_Z2_DONE_CYCLE or (not IDE_OFF & "00") ;
elsif(AUTOCONFIG_Z2_ACCESS= '1' and AS='0' and DS='0') then elsif(AUTOCONFIG_Z2_ACCESS= '1' and AS='0' and DS='0') then
case A(6 downto 1) is case A(6 downto 1) is
when "000000" => when "000000" =>
if(AUTO_CONFIG_Z2_DONE(0) = '0')then if(AUTO_CONFIG_Z2_DONE(0) = '0')then
D_Z2_OUT <= "1000" ; --ZII, No-System-Memory, no ROM D_Z2_OUT <= "1"&not(Z3)&"00" ; --ZII, No-System-Memory, no ROM
elsif(AUTO_CONFIG_Z2_DONE(1) = '0')then elsif(AUTO_CONFIG_Z2_DONE(1) = '0')then
D_Z2_OUT <= "1100" ; --ZII, No-System-Memory, no ROM D_Z2_OUT <= "1100" ; --ZII, No-System-Memory, no ROM
else else
@@ -572,17 +618,23 @@ begin
D_Z2_OUT <= "1110" ; --Rom vector low byte low nibble D_Z2_OUT <= "1110" ; --Rom vector low byte low nibble
when "100010" => when "100010" =>
D_Z2_OUT <= "1111" ; D_Z2_OUT <= "1111" ;
if(RW='0')then if(RW='0' )then
if(AUTO_CONFIG_Z2_DONE(0) = '0')then if(AUTO_CONFIG_Z2_DONE(0) = '0' and Z3 = '1')then
LAN_BASEADR(15 downto 0) <= D(15 downto 0); --Base adress LAN_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress Z3
SHUT_UP_Z2(0) <='0'; --enable board SHUT_UP_Z2(0) <='0'; --enable board
AUTO_CONFIG_Z2_DONE_CYCLE(0) <= '1'; --done here AUTO_CONFIG_Z2_DONE_CYCLE(0) <= '1'; --done here
end if; end if;
end if; end if;
when "100100" => when "100100" =>
D_Z2_OUT <= "1111" ; D_Z2_OUT <= "1111" ;
if(RW='0' and AUTO_CONFIG_Z2_DONE(0)='1')then if(RW='0')then
if(AUTO_CONFIG_Z2_DONE(1) = '0')then if(AUTO_CONFIG_Z2_DONE(0) = '0')then
if(Z3 ='0')then
LAN_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress Z2
SHUT_UP_Z2(0) <='0'; --enable board
AUTO_CONFIG_Z2_DONE_CYCLE(0) <= '1'; --done here
end if;
elsif(AUTO_CONFIG_Z2_DONE(1) = '0')then
CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP_Z2(1) <='0'; --enable board SHUT_UP_Z2(1) <='0'; --enable board
AUTO_CONFIG_Z2_DONE_CYCLE(1) <= '1'; --done here AUTO_CONFIG_Z2_DONE_CYCLE(1) <= '1'; --done here
@@ -610,23 +662,59 @@ begin
end process autoconfig_proc; --- that's all end process autoconfig_proc; --- that's all
--lan signal generation: all Signals are HIGH active!
lan_rw_gen_Z2: process (AMIGA_CLK,reset)
begin
if(reset ='0') then
LAN_INT_ENABLE_Z2 <='0';
LAN_RD_S_Z2 <= '0';
LAN_WRH_S_Z2 <= '0';
LAN_WRL_S_Z2 <= '0';
elsif falling_edge(AMIGA_CLK) then
--default values
LAN_RD_S_Z2 <= '0';
LAN_WRH_S_Z2 <= '0';
LAN_WRL_S_Z2 <= '0';
LAN_CS <= LAN_ACCESS when reset='1' and Z3_ADR(15)='0' else LAN_CS_RST; if(LAN_ACCESS_Z2='1' and AS = '0' and DS='0' and A(15)='0')then
LAN_WRL <= LAN_WRL_S when FCS='0' and reset = '1' else LAN_WR_RST; LAN_RD_S_Z2 <= RW;
LAN_WRH <= LAN_WRH_S when FCS='0' and reset = '1' else LAN_WR_RST; -- swapped LDS/UDS here: ENC624 is little endian
LAN_RD <= LAN_RD_S when FCS='0' and reset = '1' else '0'; LAN_WRH_S_Z2 <= not LDS and not RW;
LAN_WRL_S_Z2 <= not UDS and not RW;
end if;
if(LAN_ACCESS_Z2 = '1' and AS = '0' and DS ='0' and RW='0' and A(15)='1') then --enable if a write to A15 occured
LAN_INT_ENABLE_Z2 <= D(15);
end if;
end if;
end process lan_rw_gen_Z2;
LAN_CS <= LAN_CS_RST when LAN_INIT_FINISHED ='0' else
LAN_ACCESS_Z2 when Z3 = '0' else
LAN_ACCESS;
LAN_WRL <= LAN_WR_RST when LAN_INIT_FINISHED ='0' else
LAN_WRL_S_Z2 when AS='0' else
LAN_WRL_S;
LAN_WRH <= LAN_WR_RST when LAN_INIT_FINISHED ='0' else
LAN_WRH_S_Z2 when AS='0' else
LAN_WRH_S;
LAN_RD <= '0' when LAN_INIT_FINISHED ='0' else
LAN_RD_S_Z2 when AS='0' else
LAN_RD_S;
-- LAN_CFG <= "ZZZZ"; -- LAN_CFG <= "ZZZZ";
A_LAN(13 downto 0)<= LAN_A_INIT(13 downto 0) when reset ='0' else A_LAN(13 downto 0)<= LAN_A_INIT(13 downto 0) when LAN_INIT_FINISHED ='0' else
Z3_ADR(14 downto 2) & Z3_A_LOW when LAN_ACCESS = '1' else Z3_ADR(14 downto 2) & Z3_A_LOW when LAN_ACCESS = '1' else
A(14 downto 1) when LAN_ACCESS_Z2 = '1' else
A(12 downto 1)&"00"; A(12 downto 1)&"00";
--signal assignment --signal assignment
D(15 downto 0) <= Z3_DATA(31 downto 16) when RW='1' and FCS='0' and LAN_ACCESS ='1' else D(15 downto 0) <= Z3_DATA(31 downto 16) when RW='1' and FCS='0' and LAN_ACCESS ='1' else
D_Z2_OUT & x"FFF" when RW='1' and AS='0' and AUTOCONFIG_Z2_ACCESS ='1' else D_Z2_OUT & x"FFF" when RW='1' and AS_D='0' and AUTOCONFIG_Z2_ACCESS ='1' else
DQ(7 downto 0)&DQ(7 downto 0) when RW='1' and CP_ACCESS = '1' and AS='0' else DQ(7 downto 0)&DQ(15 downto 8) when RW='1' and (CP_ACCESS = '1' or (LAN_ACCESS_Z2 ='1' and DQ_SWAP_Z2 ='1')) and AS_D='0' else
DQ(15 downto 0) when RW='1' and IDE_ACCESS = '1' and AS='0' else DQ(15 downto 0) when RW='1' and (IDE_ACCESS = '1' or (LAN_ACCESS_Z2 ='1' and DQ_SWAP_Z2 ='0')) and AS_D='0' else
(others => 'Z'); (others => 'Z');
A(23 downto 8) <= Z3_DATA(15 downto 0) when RW='1' and FCS='0' and LAN_ACCESS ='1' else A(23 downto 8) <= Z3_DATA(15 downto 0) when RW='1' and FCS='0' and LAN_ACCESS ='1' else
@@ -635,24 +723,22 @@ begin
A(7 downto 1) <= (others => 'Z'); A(7 downto 1) <= (others => 'Z');
--defined lancp signal that matches both LAN and CP addresses --defined lancp signal that matches both LAN and CP addresses
DQ <= LAN_D_INIT when reset='0' else DQ <= LAN_D_INIT when LAN_INIT_FINISHED ='0' else
DQ_DATA(15 downto 0) when RW='0' and FCS='0' and Z3_DS <"1111" and LAN_ACCESS ='1' else DQ_DATA(15 downto 0) when RW='0' and FCS='0' and Z3_DS <"1111" and LAN_ACCESS ='1' else
D when RW='0' and AS='0' and CP_ACCESS ='1' else D(7 downto 0 ) & D(15 downto 8) when RW='0' and AS='0' and (CP_ACCESS ='1' or (LAN_ACCESS_Z2 ='1' and DQ_SWAP_Z2 ='1')) else
D when RW='0' and AS='0' and IDE_ACCESS ='1' else D when RW='0' and AS='0' and (IDE_ACCESS = '1' or (LAN_ACCESS_Z2 ='1' and DQ_SWAP_Z2 ='0')) else
x"0000" when RW = '1' and AS= '0' and AS_D ='1' and IDE_ACCESS ='1' else --clear the bus just before an IDE-Read!
(others => 'Z'); (others => 'Z');
INT2_OUT <= '0' when LAN_IRQ_OUT = '0' and (LAN_INT_ENABLE = '1' or LAN_INT_ENABLE_Z2 ='1') else
INT2_OUT <= '0' when LAN_IRQ_OUT = '0' and LAN_INT_ENABLE = '1' else
--'0' when CP_IRQ = '0' else --'0' when CP_IRQ = '0' else
'Z'; 'Z';
INT6_OUT <= '0' when CP_IRQ = '0' else INT6_OUT <= '0' when CP_IRQ = '0' else
'Z'; 'Z';
OWN <= 'Z'; OWN <= 'Z';
SLAVE <= '0' when FCS='0' and LAN_ACCESS = '1' else SLAVE <= '0' when FCS='0' and LAN_ACCESS = '1' else
'0' when AS='0' and (AUTOCONFIG_Z2_ACCESS = '1' or IDE_ACCESS = '1' or CP_ACCESS = '1') else '1'; '0' when AS='0' and (AUTOCONFIG_Z2_ACCESS = '1' or IDE_ACCESS = '1' or CP_ACCESS = '1' or LAN_ACCESS_Z2 = '1') else '1';
CFOUT <= '0' when AUTO_CONFIG_Z2_DONE ="111" else '1'; CFOUT <= '0' when AUTO_CONFIG_Z2_DONE ="111" else '1';
OVR <= '0' when FCS='0' and LAN_ACCESS = '1' else 'Z'; --is Cache inhibit on Z3! OVR <= '0' when FCS='0' and LAN_ACCESS = '1' else 'Z'; --is Cache inhibit on Z3!
@@ -669,32 +755,34 @@ begin
IDE_ENABLE <= '1'; IDE_ENABLE <= '1';
IDE_R_S <= '1'; IDE_R_S <= '1';
IDE_W_S <= '1'; IDE_W_S <= '1';
ROM_OE_S <= '1'; ROM_OE_S <= '1';
elsif rising_edge(CLK_EXT) then elsif rising_edge(CLK_EXT) then
--default values --default values
IDE_R_S <= '1'; IDE_R_S <= '1';
IDE_W_S <= '1'; IDE_W_S <= '1';
ROM_OE_S <= '1'; ROM_OE_S <= '1';
if(IDE_ACCESS='1' and AS='0' and DS='0')then if(IDE_ACCESS='1' and AS='0' and DS='0')then
if(RW='0')then if(RW='0')then
--the write goes to the hdd! --the write goes to the hdd!
IDE_ENABLE <= '0'; -- enable IDE on first read IDE_ENABLE <= '0'; -- enable IDE on first read
IDE_W_S <= '0'; IDE_W_S <= '0';
elsif(IDE_ENABLE ='1')then
ROM_OE_S <='0';
else else
IDE_R_S <= IDE_ENABLE; --read from IDE instead from ROM IDE_R_S <= '0'; --read from IDE instead from ROM
ROM_OE_S <= not IDE_ENABLE;
end if; end if;
end if; end if;
end if; end if;
end process ide_rw_gen; end process ide_rw_gen;
IDE_W <= IDE_W_S when AS='0' else '1'; IDE_W <= IDE_W_S when AS ='0' else '1';
IDE_R <= IDE_R_S when AS='0' else '1'; IDE_R <= IDE_R_S when AS_D ='0' else '1';
ROM_OE<= ROM_OE_S when AS='0' else '1'; ROM_OE<= ROM_OE_S when AS_D ='0' else '1';
IDE_CS(0)<= not(A(12)); IDE_CS(0)<= not(A(12));
IDE_CS(1)<= not(A(13)); IDE_CS(1)<= not(A(13));
IDE_A(2 downto 0) <= A(11 downto 9); IDE_A(2 downto 0) <= A(11 downto 9);
ROM_B <= "00"; ROM_B <= "00";
Z3 <= '1' when reset ='0' else 'Z';
--cp signal generation --cp signal generation
cp_rw_gen: process (AMIGA_CLK, reset) cp_rw_gen: process (AMIGA_CLK, reset)
+7995 -16728
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
+18 -22
View File
@@ -38,6 +38,7 @@
<file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP.rpt"/> <file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP.rpt"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_STX" xil_pn:name="LAN_IDE_CP.stx"/> <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_STX" xil_pn:name="LAN_IDE_CP.stx"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_REPORT" xil_pn:name="LAN_IDE_CP.syr"/> <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_REPORT" xil_pn:name="LAN_IDE_CP.syr"/>
<file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP.tim"/>
<file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP.tspec"/> <file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP.tspec"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_VM6" xil_pn:name="LAN_IDE_CP.vm6"/> <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_VM6" xil_pn:name="LAN_IDE_CP.vm6"/>
<file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP.xml"/> <file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP.xml"/>
@@ -67,12 +68,10 @@
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
</transform> </transform>
<transform xil_pn:end_ts="1545595558" xil_pn:in_ck="-2520376148396271922" xil_pn:name="TRANEXT_xstsynthesize_xc9500xl" xil_pn:prop_ck="1235887333676579674" xil_pn:start_ts="1545595546"> <transform xil_pn:end_ts="1646743664" xil_pn:in_ck="-8368315473908605201" xil_pn:name="TRANEXT_xstsynthesize_xc9500xl" xil_pn:prop_ck="7640553560667877824" xil_pn:start_ts="1646743659">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/> <status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="OutOfDateForProperties"/>
<outfile xil_pn:name="LAN_IDE_CP.lso"/> <outfile xil_pn:name="LAN_IDE_CP.lso"/>
<outfile xil_pn:name="LAN_IDE_CP.ngc"/> <outfile xil_pn:name="LAN_IDE_CP.ngc"/>
<outfile xil_pn:name="LAN_IDE_CP.ngr"/> <outfile xil_pn:name="LAN_IDE_CP.ngr"/>
@@ -86,32 +85,30 @@
<outfile xil_pn:name="webtalk_pn.xml"/> <outfile xil_pn:name="webtalk_pn.xml"/>
<outfile xil_pn:name="xst"/> <outfile xil_pn:name="xst"/>
</transform> </transform>
<transform xil_pn:end_ts="1545079613" xil_pn:in_ck="176569500195729039" xil_pn:name="TRAN_compileBCD2" xil_pn:prop_ck="-8537920303570934858" xil_pn:start_ts="1545079613"> <transform xil_pn:end_ts="1646742647" xil_pn:in_ck="176569500195729039" xil_pn:name="TRAN_compileBCD2" xil_pn:prop_ck="-8537920303570934858" xil_pn:start_ts="1646742647">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
</transform> </transform>
<transform xil_pn:end_ts="1545595565" xil_pn:in_ck="-8547647177936735053" xil_pn:name="TRAN_ngdbuild" xil_pn:prop_ck="6932115226421322529" xil_pn:start_ts="1545595558"> <transform xil_pn:end_ts="1646743667" xil_pn:in_ck="-8547647177936735053" xil_pn:name="TRAN_ngdbuild" xil_pn:prop_ck="6932115226421322529" xil_pn:start_ts="1646743664">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="LAN_IDE_CP.bld"/> <outfile xil_pn:name="LAN_IDE_CP.bld"/>
<outfile xil_pn:name="LAN_IDE_CP.ngd"/> <outfile xil_pn:name="LAN_IDE_CP.ngd"/>
<outfile xil_pn:name="LAN_IDE_CP_ngdbuild.xrpt"/> <outfile xil_pn:name="LAN_IDE_CP_ngdbuild.xrpt"/>
<outfile xil_pn:name="_ngo"/> <outfile xil_pn:name="_ngo"/>
<outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/> <outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
</transform> </transform>
<transform xil_pn:end_ts="1545595609" xil_pn:in_ck="-2520376148396280667" xil_pn:name="TRANEXT_vm6File_xc9500xl" xil_pn:prop_ck="-1014768965495450326" xil_pn:start_ts="1545595565"> <transform xil_pn:end_ts="1646743696" xil_pn:in_ck="-2520376148396280667" xil_pn:name="TRANEXT_vm6File_xc9500xl" xil_pn:prop_ck="-3180198092827876936" xil_pn:start_ts="1646743667">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/> <status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="LAN_IDE_CP.gyd"/> <outfile xil_pn:name="LAN_IDE_CP.gyd"/>
<outfile xil_pn:name="LAN_IDE_CP.mfd"/> <outfile xil_pn:name="LAN_IDE_CP.mfd"/>
<outfile xil_pn:name="LAN_IDE_CP.nga"/> <outfile xil_pn:name="LAN_IDE_CP.nga"/>
<outfile xil_pn:name="LAN_IDE_CP.pad"/> <outfile xil_pn:name="LAN_IDE_CP.pad"/>
<outfile xil_pn:name="LAN_IDE_CP.pnx"/> <outfile xil_pn:name="LAN_IDE_CP.pnx"/>
<outfile xil_pn:name="LAN_IDE_CP.rpt"/> <outfile xil_pn:name="LAN_IDE_CP.rpt"/>
<outfile xil_pn:name="LAN_IDE_CP.tim"/>
<outfile xil_pn:name="LAN_IDE_CP.tspec"/> <outfile xil_pn:name="LAN_IDE_CP.tspec"/>
<outfile xil_pn:name="LAN_IDE_CP.vm6"/> <outfile xil_pn:name="LAN_IDE_CP.vm6"/>
<outfile xil_pn:name="LAN_IDE_CP.xml"/> <outfile xil_pn:name="LAN_IDE_CP.xml"/>
@@ -119,30 +116,29 @@
<outfile xil_pn:name="LAN_IDE_CP_html"/> <outfile xil_pn:name="LAN_IDE_CP_html"/>
<outfile xil_pn:name="LAN_IDE_CP_pad.csv"/> <outfile xil_pn:name="LAN_IDE_CP_pad.csv"/>
</transform> </transform>
<transform xil_pn:end_ts="1545595612" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRANEXT_crtProg_xc9500" xil_pn:prop_ck="-6294026017969277533" xil_pn:start_ts="1545595609"> <transform xil_pn:end_ts="1646743697" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRANEXT_crtProg_xc9500" xil_pn:prop_ck="-6294026017969277533" xil_pn:start_ts="1646743696">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="LAN_IDE_CP.jed"/> <outfile xil_pn:name="LAN_IDE_CP.jed"/>
</transform> </transform>
<transform xil_pn:end_ts="1545129218" xil_pn:in_ck="-2520376148396285089" xil_pn:name="TRAN_impactProgrammingTool_CPLD" xil_pn:prop_ck="-3598488201878296819" xil_pn:start_ts="1545129218"> <transform xil_pn:end_ts="1646517305" xil_pn:in_ck="-2520376148396285089" xil_pn:name="TRAN_impactProgrammingTool_CPLD" xil_pn:prop_ck="4303234622024928597" xil_pn:start_ts="1646517305">
<status xil_pn:value="AbortedRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<status xil_pn:value="OutOfDateForced"/>
<status xil_pn:value="InputChanged"/>
</transform>
<transform xil_pn:end_ts="1545595676" xil_pn:in_ck="-2520376148396285089" xil_pn:name="TRAN_configureTargetDevice_CPLD" xil_pn:prop_ck="-154879694275837835" xil_pn:start_ts="1545595673">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/> <status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="InputChanged"/>
</transform>
<transform xil_pn:end_ts="1602273582" xil_pn:in_ck="-2520376148396285089" xil_pn:name="TRAN_configureTargetDevice_CPLD" xil_pn:prop_ck="-1422570904406943683" xil_pn:start_ts="1602273581">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="InputAdded"/>
<status xil_pn:value="InputChanged"/>
<status xil_pn:value="InputRemoved"/>
</transform> </transform>
<transform xil_pn:name="TRAN_timRpt"> <transform xil_pn:name="TRAN_timRpt">
<status xil_pn:value="AbortedRun"/> <status xil_pn:value="AbortedRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/> <status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<status xil_pn:value="InputAdded"/> <status xil_pn:value="InputAdded"/>
<status xil_pn:value="InputChanged"/> <status xil_pn:value="InputChanged"/>
</transform> </transform>
+9 -8
View File
@@ -44,7 +44,7 @@
<property xil_pn:name="Case Implementation Style" xil_pn:value="None" xil_pn:valueState="default"/> <property xil_pn:name="Case Implementation Style" xil_pn:value="None" xil_pn:valueState="default"/>
<property xil_pn:name="Clock Enable" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Clock Enable" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Collapsing Input Limit (2-54)" xil_pn:value="54" xil_pn:valueState="default"/> <property xil_pn:name="Collapsing Input Limit (2-54)" xil_pn:value="54" xil_pn:valueState="default"/>
<property xil_pn:name="Collapsing Pterm Limit (1-90)" xil_pn:value="25" xil_pn:valueState="default"/> <property xil_pn:name="Collapsing Pterm Limit (1-90)" xil_pn:value="90" xil_pn:valueState="default"/>
<property xil_pn:name="Compile CPLD Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Compile CPLD Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Compile SIMPRIM (Timing) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Compile SIMPRIM (Timing) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Compile UNISIM (Functional) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Compile UNISIM (Functional) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/>
@@ -52,7 +52,7 @@
<property xil_pn:name="Compile uni9000 (Functional) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Compile uni9000 (Functional) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Create IEEE 1532 Configuration File" xil_pn:value="false" xil_pn:valueState="default"/> <property xil_pn:name="Create IEEE 1532 Configuration File" xil_pn:value="false" xil_pn:valueState="default"/>
<property xil_pn:name="Create Programmable GND Pins on Unused I/O" xil_pn:value="false" xil_pn:valueState="default"/> <property xil_pn:name="Create Programmable GND Pins on Unused I/O" xil_pn:value="false" xil_pn:valueState="default"/>
<property xil_pn:name="Default Powerup Value of Registers" xil_pn:value="Low" xil_pn:valueState="default"/> <property xil_pn:name="Default Powerup Value of Registers" xil_pn:value="High" xil_pn:valueState="non-default"/>
<property xil_pn:name="Delay Values To Be Read from SDF" xil_pn:value="Setup Time" xil_pn:valueState="default"/> <property xil_pn:name="Delay Values To Be Read from SDF" xil_pn:value="Setup Time" xil_pn:valueState="default"/>
<property xil_pn:name="Device" xil_pn:value="xc95288xl" xil_pn:valueState="non-default"/> <property xil_pn:name="Device" xil_pn:value="xc95288xl" xil_pn:valueState="non-default"/>
<property xil_pn:name="Device Family" xil_pn:value="XC9500XL CPLDs" xil_pn:valueState="non-default"/> <property xil_pn:name="Device Family" xil_pn:value="XC9500XL CPLDs" xil_pn:valueState="non-default"/>
@@ -62,8 +62,8 @@
<property xil_pn:name="Enable Message Filtering" xil_pn:value="false" xil_pn:valueState="default"/> <property xil_pn:name="Enable Message Filtering" xil_pn:value="false" xil_pn:valueState="default"/>
<property xil_pn:name="Equivalent Register Removal XST" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Equivalent Register Removal XST" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Evaluation Development Board" xil_pn:value="None Specified" xil_pn:valueState="default"/> <property xil_pn:name="Evaluation Development Board" xil_pn:value="None Specified" xil_pn:valueState="default"/>
<property xil_pn:name="Exhaustive Fit Mode" xil_pn:value="false" xil_pn:valueState="default"/> <property xil_pn:name="Exhaustive Fit Mode" xil_pn:value="true" xil_pn:valueState="non-default"/>
<property xil_pn:name="FSM Encoding Algorithm" xil_pn:value="Compact" xil_pn:valueState="non-default" xil_pn:x_locked="true"/> <property xil_pn:name="FSM Encoding Algorithm" xil_pn:value="Auto" xil_pn:valueState="default"/>
<property xil_pn:name="Filter Files From Compile Order" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Filter Files From Compile Order" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Functional Model Target Language ArchWiz" xil_pn:value="VHDL" xil_pn:valueState="default"/> <property xil_pn:name="Functional Model Target Language ArchWiz" xil_pn:value="VHDL" xil_pn:valueState="default"/>
<property xil_pn:name="Functional Model Target Language Coregen" xil_pn:value="VHDL" xil_pn:valueState="default"/> <property xil_pn:name="Functional Model Target Language Coregen" xil_pn:value="VHDL" xil_pn:valueState="default"/>
@@ -81,7 +81,7 @@
<property xil_pn:name="Hierarchy Separator" xil_pn:value="/" xil_pn:valueState="default"/> <property xil_pn:name="Hierarchy Separator" xil_pn:value="/" xil_pn:valueState="default"/>
<property xil_pn:name="I/O Pin Termination" xil_pn:value="Keeper" xil_pn:valueState="default"/> <property xil_pn:name="I/O Pin Termination" xil_pn:value="Keeper" xil_pn:valueState="default"/>
<property xil_pn:name="ISim UUT Instance Name" xil_pn:value="UUT" xil_pn:valueState="default"/> <property xil_pn:name="ISim UUT Instance Name" xil_pn:value="UUT" xil_pn:valueState="default"/>
<property xil_pn:name="Implementation Template" xil_pn:value="Optimize Balance" xil_pn:valueState="default"/> <property xil_pn:name="Implementation Template" xil_pn:value="Optimize Density" xil_pn:valueState="non-default"/>
<property xil_pn:name="Implementation Top" xil_pn:value="Architecture|LAN_IDE_CP|Behavioral" xil_pn:valueState="non-default"/> <property xil_pn:name="Implementation Top" xil_pn:value="Architecture|LAN_IDE_CP|Behavioral" xil_pn:valueState="non-default"/>
<property xil_pn:name="Implementation Top File" xil_pn:value="LAN_IDE_CP-Z2v2.vhd" xil_pn:valueState="non-default"/> <property xil_pn:name="Implementation Top File" xil_pn:value="LAN_IDE_CP-Z2v2.vhd" xil_pn:valueState="non-default"/>
<property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/LAN_IDE_CP" xil_pn:valueState="non-default"/> <property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/LAN_IDE_CP" xil_pn:valueState="non-default"/>
@@ -101,7 +101,7 @@
<property xil_pn:name="Launch SDK after Export" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Launch SDK after Export" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Library for Verilog Sources" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Library for Verilog Sources" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Load glbl" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Load glbl" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Logic Optimization" xil_pn:value="Speed" xil_pn:valueState="default"/> <property xil_pn:name="Logic Optimization" xil_pn:value="Density" xil_pn:valueState="default"/>
<property xil_pn:name="Macro Preserve" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Macro Preserve" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Macrocell Power Setting" xil_pn:value="Std" xil_pn:valueState="default"/> <property xil_pn:name="Macrocell Power Setting" xil_pn:value="Std" xil_pn:valueState="default"/>
<property xil_pn:name="Manual Implementation Compile Order" xil_pn:value="false" xil_pn:valueState="default"/> <property xil_pn:name="Manual Implementation Compile Order" xil_pn:value="false" xil_pn:valueState="default"/>
@@ -112,7 +112,7 @@
<property xil_pn:name="Netlist Hierarchy" xil_pn:value="As Optimized" xil_pn:valueState="default"/> <property xil_pn:name="Netlist Hierarchy" xil_pn:value="As Optimized" xil_pn:valueState="default"/>
<property xil_pn:name="Number of Clock Buffers" xil_pn:value="4" xil_pn:valueState="default"/> <property xil_pn:name="Number of Clock Buffers" xil_pn:value="4" xil_pn:valueState="default"/>
<property xil_pn:name="Optimization Effort" xil_pn:value="Normal" xil_pn:valueState="default"/> <property xil_pn:name="Optimization Effort" xil_pn:value="Normal" xil_pn:valueState="default"/>
<property xil_pn:name="Optimization Goal" xil_pn:value="Speed" xil_pn:valueState="default" xil_pn:x_locked="true"/> <property xil_pn:name="Optimization Goal" xil_pn:value="Speed" xil_pn:valueState="default"/>
<property xil_pn:name="Other CPLD Fitter Command Line Options" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Other CPLD Fitter Command Line Options" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Other Compiler Options" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Other Compiler Options" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Other Compiler Options Fit" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Other Compiler Options Fit" xil_pn:value="" xil_pn:valueState="default"/>
@@ -155,7 +155,7 @@
<property xil_pn:name="Run for Specified Time Map" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Run for Specified Time Map" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Run for Specified Time Par" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Run for Specified Time Par" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Run for Specified Time Translate" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Run for Specified Time Translate" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Safe Implementation" xil_pn:value="No" xil_pn:valueState="default" xil_pn:x_locked="true"/> <property xil_pn:name="Safe Implementation" xil_pn:value="No" xil_pn:valueState="default"/>
<property xil_pn:name="Selected Module Instance Name" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Selected Module Instance Name" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Selected Simulation Root Source Node Behavioral" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Selected Simulation Root Source Node Behavioral" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Selected Simulation Root Source Node Post-Map" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Selected Simulation Root Source Node Post-Map" xil_pn:value="" xil_pn:valueState="default"/>
@@ -209,6 +209,7 @@
<property xil_pn:name="WYSIWYG" xil_pn:value="None" xil_pn:valueState="default"/> <property xil_pn:name="WYSIWYG" xil_pn:value="None" xil_pn:valueState="default"/>
<property xil_pn:name="Working Directory" xil_pn:value="." xil_pn:valueState="non-default"/> <property xil_pn:name="Working Directory" xil_pn:value="." xil_pn:valueState="non-default"/>
<property xil_pn:name="XOR Preserve" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="XOR Preserve" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="iMPACT Project File" xil_pn:value="ZORO_LAN_IDE_Z2.ipf" xil_pn:valueState="non-default"/>
<!-- --> <!-- -->
<!-- The following properties are for internal use only. These should not be modified.--> <!-- The following properties are for internal use only. These should not be modified.-->
<!-- --> <!-- -->
+6 -4
View File
@@ -68,7 +68,7 @@
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
</transform> </transform>
<transform xil_pn:end_ts="1574202935" xil_pn:in_ck="-2520376148396271922" xil_pn:name="TRANEXT_xstsynthesize_xc9500xl" xil_pn:prop_ck="-5742752562858310575" xil_pn:start_ts="1574202924"> <transform xil_pn:end_ts="1627599635" xil_pn:in_ck="-2520376148396271922" xil_pn:name="TRANEXT_xstsynthesize_xc9500xl" xil_pn:prop_ck="-3349216317285734750" xil_pn:start_ts="1627599630">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/> <status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
@@ -89,7 +89,7 @@
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
</transform> </transform>
<transform xil_pn:end_ts="1574202943" xil_pn:in_ck="-8547647177936735053" xil_pn:name="TRAN_ngdbuild" xil_pn:prop_ck="6932115226421322529" xil_pn:start_ts="1574202935"> <transform xil_pn:end_ts="1627599638" xil_pn:in_ck="-8547647177936735053" xil_pn:name="TRAN_ngdbuild" xil_pn:prop_ck="6932115226421322529" xil_pn:start_ts="1627599635">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="LAN_IDE_CP.bld"/> <outfile xil_pn:name="LAN_IDE_CP.bld"/>
@@ -98,7 +98,7 @@
<outfile xil_pn:name="_ngo"/> <outfile xil_pn:name="_ngo"/>
<outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/> <outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
</transform> </transform>
<transform xil_pn:end_ts="1574202972" xil_pn:in_ck="-2520376148396280667" xil_pn:name="TRANEXT_vm6File_xc9500xl" xil_pn:prop_ck="-1014768965495450326" xil_pn:start_ts="1574202943"> <transform xil_pn:end_ts="1627599673" xil_pn:in_ck="-2520376148396280667" xil_pn:name="TRANEXT_vm6File_xc9500xl" xil_pn:prop_ck="591735173758053258" xil_pn:start_ts="1627599638">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/> <status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
@@ -116,7 +116,7 @@
<outfile xil_pn:name="LAN_IDE_CP_html"/> <outfile xil_pn:name="LAN_IDE_CP_html"/>
<outfile xil_pn:name="LAN_IDE_CP_pad.csv"/> <outfile xil_pn:name="LAN_IDE_CP_pad.csv"/>
</transform> </transform>
<transform xil_pn:end_ts="1574202975" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRANEXT_crtProg_xc9500" xil_pn:prop_ck="-6294026017969277533" xil_pn:start_ts="1574202972"> <transform xil_pn:end_ts="1627599675" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRANEXT_crtProg_xc9500" xil_pn:prop_ck="-6294026017969277533" xil_pn:start_ts="1627599673">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="LAN_IDE_CP.jed"/> <outfile xil_pn:name="LAN_IDE_CP.jed"/>
@@ -125,7 +125,9 @@
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/> <status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="InputAdded"/>
<status xil_pn:value="InputChanged"/> <status xil_pn:value="InputChanged"/>
<status xil_pn:value="InputRemoved"/>
</transform> </transform>
<transform xil_pn:end_ts="1558897401" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRAN_timRpt" xil_pn:prop_ck="111903974446" xil_pn:start_ts="1558897398"> <transform xil_pn:end_ts="1558897401" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRAN_timRpt" xil_pn:prop_ck="111903974446" xil_pn:start_ts="1558897398">
<status xil_pn:value="AbortedRun"/> <status xil_pn:value="AbortedRun"/>
+4 -4
View File
@@ -44,7 +44,7 @@
<property xil_pn:name="Case Implementation Style" xil_pn:value="None" xil_pn:valueState="default"/> <property xil_pn:name="Case Implementation Style" xil_pn:value="None" xil_pn:valueState="default"/>
<property xil_pn:name="Clock Enable" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Clock Enable" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Collapsing Input Limit (2-54)" xil_pn:value="54" xil_pn:valueState="default"/> <property xil_pn:name="Collapsing Input Limit (2-54)" xil_pn:value="54" xil_pn:valueState="default"/>
<property xil_pn:name="Collapsing Pterm Limit (1-90)" xil_pn:value="25" xil_pn:valueState="default"/> <property xil_pn:name="Collapsing Pterm Limit (1-90)" xil_pn:value="90" xil_pn:valueState="default"/>
<property xil_pn:name="Compile CPLD Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Compile CPLD Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Compile SIMPRIM (Timing) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Compile SIMPRIM (Timing) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Compile UNISIM (Functional) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Compile UNISIM (Functional) Simulation Library" xil_pn:value="true" xil_pn:valueState="default"/>
@@ -81,7 +81,7 @@
<property xil_pn:name="Hierarchy Separator" xil_pn:value="/" xil_pn:valueState="default"/> <property xil_pn:name="Hierarchy Separator" xil_pn:value="/" xil_pn:valueState="default"/>
<property xil_pn:name="I/O Pin Termination" xil_pn:value="Keeper" xil_pn:valueState="default"/> <property xil_pn:name="I/O Pin Termination" xil_pn:value="Keeper" xil_pn:valueState="default"/>
<property xil_pn:name="ISim UUT Instance Name" xil_pn:value="UUT" xil_pn:valueState="default"/> <property xil_pn:name="ISim UUT Instance Name" xil_pn:value="UUT" xil_pn:valueState="default"/>
<property xil_pn:name="Implementation Template" xil_pn:value="Optimize Balance" xil_pn:valueState="default"/> <property xil_pn:name="Implementation Template" xil_pn:value="Optimize Density" xil_pn:valueState="non-default"/>
<property xil_pn:name="Implementation Top" xil_pn:value="Architecture|LAN_IDE_CP|Behavioral" xil_pn:valueState="non-default"/> <property xil_pn:name="Implementation Top" xil_pn:value="Architecture|LAN_IDE_CP|Behavioral" xil_pn:valueState="non-default"/>
<property xil_pn:name="Implementation Top File" xil_pn:value="LAN_IDE_CP.vhd" xil_pn:valueState="non-default"/> <property xil_pn:name="Implementation Top File" xil_pn:value="LAN_IDE_CP.vhd" xil_pn:valueState="non-default"/>
<property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/LAN_IDE_CP" xil_pn:valueState="non-default"/> <property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/LAN_IDE_CP" xil_pn:valueState="non-default"/>
@@ -101,7 +101,7 @@
<property xil_pn:name="Launch SDK after Export" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Launch SDK after Export" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Library for Verilog Sources" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Library for Verilog Sources" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Load glbl" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Load glbl" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Logic Optimization" xil_pn:value="Speed" xil_pn:valueState="default"/> <property xil_pn:name="Logic Optimization" xil_pn:value="Density" xil_pn:valueState="default"/>
<property xil_pn:name="Macro Preserve" xil_pn:value="true" xil_pn:valueState="default"/> <property xil_pn:name="Macro Preserve" xil_pn:value="true" xil_pn:valueState="default"/>
<property xil_pn:name="Macrocell Power Setting" xil_pn:value="Std" xil_pn:valueState="default"/> <property xil_pn:name="Macrocell Power Setting" xil_pn:value="Std" xil_pn:valueState="default"/>
<property xil_pn:name="Manual Implementation Compile Order" xil_pn:value="false" xil_pn:valueState="default"/> <property xil_pn:name="Manual Implementation Compile Order" xil_pn:value="false" xil_pn:valueState="default"/>
@@ -112,7 +112,7 @@
<property xil_pn:name="Netlist Hierarchy" xil_pn:value="As Optimized" xil_pn:valueState="default"/> <property xil_pn:name="Netlist Hierarchy" xil_pn:value="As Optimized" xil_pn:valueState="default"/>
<property xil_pn:name="Number of Clock Buffers" xil_pn:value="4" xil_pn:valueState="default"/> <property xil_pn:name="Number of Clock Buffers" xil_pn:value="4" xil_pn:valueState="default"/>
<property xil_pn:name="Optimization Effort" xil_pn:value="High" xil_pn:valueState="non-default"/> <property xil_pn:name="Optimization Effort" xil_pn:value="High" xil_pn:valueState="non-default"/>
<property xil_pn:name="Optimization Goal" xil_pn:value="Speed" xil_pn:valueState="default"/> <property xil_pn:name="Optimization Goal" xil_pn:value="Area" xil_pn:valueState="non-default"/>
<property xil_pn:name="Other CPLD Fitter Command Line Options" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Other CPLD Fitter Command Line Options" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Other Compiler Options" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Other Compiler Options" xil_pn:value="" xil_pn:valueState="default"/>
<property xil_pn:name="Other Compiler Options Fit" xil_pn:value="" xil_pn:valueState="default"/> <property xil_pn:name="Other Compiler Options Fit" xil_pn:value="" xil_pn:valueState="default"/>
Binary file not shown.
Binary file not shown.
@@ -1,9 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<report-views version="2.0" > <report-views version="2.0" >
<header> <header>
<DateModified>2019-11-15T00:18:39</DateModified> <DateModified>2022-03-08T12:40:08</DateModified>
<ModuleName>LAN_IDE_CP</ModuleName> <ModuleName>LAN_IDE_CP</ModuleName>
<SummaryTimeStamp>Unknown</SummaryTimeStamp> <SummaryTimeStamp>2021-07-30T01:01:15</SummaryTimeStamp>
<SavedFilePath>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/iseconfig/LAN_IDE_CP.xreport</SavedFilePath> <SavedFilePath>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2/iseconfig/LAN_IDE_CP.xreport</SavedFilePath>
<ImplementationReportsDirectory>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2\</ImplementationReportsDirectory> <ImplementationReportsDirectory>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE_V2\</ImplementationReportsDirectory>
<DateInitialized>2019-01-09T22:34:04</DateInitialized> <DateInitialized>2019-01-09T22:34:04</DateInitialized>
@@ -21,17 +21,17 @@
<ClosedNodes> <ClosedNodes>
<ClosedNodesVersion>1</ClosedNodesVersion> <ClosedNodesVersion>1</ClosedNodesVersion>
<ClosedNode>Design Utilities</ClosedNode> <ClosedNode>Design Utilities</ClosedNode>
<ClosedNode>Implement Design</ClosedNode> <ClosedNode>Implement Design/Optional Implementation Tools</ClosedNode>
<ClosedNode>User Constraints</ClosedNode> <ClosedNode>Implement Design/Synthesize - XST</ClosedNode>
</ClosedNodes> </ClosedNodes>
<SelectedItems> <SelectedItems>
<SelectedItem></SelectedItem> <SelectedItem>Generate Programming File</SelectedItem>
</SelectedItems> </SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition> <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition> <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000000000000000001b0000000010000000100000000000000000000000064ffffffff000000810000000000000001000001b00000000100000000</ViewHeaderState> <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000154000000010000000100000000000000000000000064ffffffff000000810000000000000001000001540000000100000000</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths> <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem></CurrentItem> <CurrentItem>Generate Programming File</CurrentItem>
</ItemView> </ItemView>
<ItemView guiview="File" > <ItemView guiview="File" >
<ClosedNodes> <ClosedNodes>
@@ -64,22 +64,24 @@
<ClosedNode>User Constraints</ClosedNode> <ClosedNode>User Constraints</ClosedNode>
</ClosedNodes> </ClosedNodes>
<SelectedItems> <SelectedItems>
<SelectedItem/> <SelectedItem></SelectedItem>
</SelectedItems> </SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition> <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition> <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000000000000000000f8000000010000000100000000000000000000000064ffffffff000000810000000000000001000000f80000000100000000</ViewHeaderState> <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000154000000010000000100000000000000000000000064ffffffff000000810000000000000001000001540000000100000000</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths> <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem/> <CurrentItem></CurrentItem>
</ItemView> </ItemView>
<ItemView engineview="SynthesisOnly" sourcetype="" guiview="Process" > <ItemView engineview="SynthesisOnly" sourcetype="" guiview="Process" >
<ClosedNodes> <ClosedNodes>
<ClosedNodesVersion>1</ClosedNodesVersion> <ClosedNodesVersion>1</ClosedNodesVersion>
</ClosedNodes> </ClosedNodes>
<SelectedItems/> <SelectedItems>
<SelectedItem/>
</SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition> <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition> <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" /> <ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000000000000000000d6000000010000000100000000000000000000000064ffffffff000000810000000000000001000000d60000000100000000</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths> <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem/> <CurrentItem/>
</ItemView> </ItemView>
@@ -26,13 +26,13 @@
<ClosedNode>User Constraints</ClosedNode> <ClosedNode>User Constraints</ClosedNode>
</ClosedNodes> </ClosedNodes>
<SelectedItems> <SelectedItems>
<SelectedItem></SelectedItem> <SelectedItem>Generate Programming File</SelectedItem>
</SelectedItems> </SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition> <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition> <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000000000000000001b0000000010000000100000000000000000000000064ffffffff000000810000000000000001000001b00000000100000000</ViewHeaderState> <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000218000000010000000100000000000000000000000064ffffffff000000810000000000000001000002180000000100000000</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths> <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem></CurrentItem> <CurrentItem>Generate Programming File</CurrentItem>
</ItemView> </ItemView>
<ItemView guiview="File" > <ItemView guiview="File" >
<ClosedNodes> <ClosedNodes>
+2 -4
View File
@@ -38,7 +38,7 @@ NET "A_LAN<7>" LOC = "P10" ;
NET "A_LAN<8>" LOC = "P140" ; NET "A_LAN<8>" LOC = "P140" ;
NET "A_LAN<9>" LOC = "P142" ; NET "A_LAN<9>" LOC = "P142" ;
NET "AS" LOC = "P80" ; NET "AS" LOC = "P80" ;
NET "AUTOBOOT_OFF" LOC = "P75" ; NET "IDE_OFF" LOC = "P75" ;
NET "BERR" LOC = "P98" ; NET "BERR" LOC = "P98" ;
NET "C1" LOC = "P103" ; NET "C1" LOC = "P103" ;
NET "C3" LOC = "P102" ; NET "C3" LOC = "P102" ;
@@ -74,11 +74,9 @@ NET "DQ<14>" LOC = "P131" ;
NET "DQ<15>" LOC = "P112" ; NET "DQ<15>" LOC = "P112" ;
NET "DQ<1>" LOC = "P117" ; NET "DQ<1>" LOC = "P117" ;
NET "DQ<2>" LOC = "P120" ; NET "DQ<2>" LOC = "P120" ;
//NET "DQ<2>" LOC = "P68" ; //fix for broken Xilinx
NET "DQ<3>" LOC = "P119" ; NET "DQ<3>" LOC = "P119" ;
NET "DQ<4>" LOC = "P124" ; NET "DQ<4>" LOC = "P124" ;
NET "DQ<5>" LOC = "P121" ; NET "DQ<5>" LOC = "P121" ;
//NET "DQ<5>" LOC = "P38" ;//fix for broken Xilinx
NET "DQ<6>" LOC = "P126" ; NET "DQ<6>" LOC = "P126" ;
NET "DQ<7>" LOC = "P125" ; NET "DQ<7>" LOC = "P125" ;
NET "DQ<8>" LOC = "P128" ; NET "DQ<8>" LOC = "P128" ;
@@ -112,7 +110,7 @@ NET "MTCR" LOC = "P101" ;
NET "OVR" LOC = "P100" ; NET "OVR" LOC = "P100" ;
NET "OWN" LOC = "P107" ; NET "OWN" LOC = "P107" ;
NET "RESET" LOC = "P143" ; NET "RESET" LOC = "P143" ;
NET "ROM_B<0>" LOC = "P68" ;//comment if fix for broken Xilinx! NET "ROM_B<0>" LOC = "P68" ;
NET "ROM_B<1>" LOC = "P69" ; NET "ROM_B<1>" LOC = "P69" ;
NET "ROM_OE" LOC = "P35" ; NET "ROM_OE" LOC = "P35" ;
NET "RW" LOC = "P83" ; NET "RW" LOC = "P83" ;
+1 -1
View File
@@ -8092,7 +8092,7 @@ Sollten andere Lagen belegt und relevant sein, so teilen Sie uns dies bitte expl
<wire x1="73.457221875" y1="66.142675" x2="73.457221875" y2="65.561984375" width="0.254" layer="1"/> <wire x1="73.457221875" y1="66.142675" x2="73.457221875" y2="65.561984375" width="0.254" layer="1"/>
<wire x1="73.457221875" y1="65.561984375" x2="73.992221875" y2="65.026984375" width="0.254" layer="1"/> <wire x1="73.457221875" y1="65.561984375" x2="73.992221875" y2="65.026984375" width="0.254" layer="1"/>
</signal> </signal>
<signal name="AUTO_BOOT_OFF"> <signal name="IDE_OFF">
<contactref element="IDE_OFF" pad="2"/> <contactref element="IDE_OFF" pad="2"/>
<contactref element="R5" pad="2"/> <contactref element="R5" pad="2"/>
<contactref element="IC2" pad="75"/> <contactref element="IC2" pad="75"/>
+49 -43
View File
@@ -8,34 +8,34 @@
</settings> </settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/> <grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers> <layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="no"/> <layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="2" name="Route2" color="1" fill="3" visible="yes" active="no"/> <layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
<layer number="3" name="Route3" color="4" fill="3" visible="yes" active="no"/> <layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
<layer number="4" name="Route4" color="1" fill="4" visible="yes" active="no"/> <layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
<layer number="5" name="Route5" color="4" fill="4" visible="yes" active="no"/> <layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
<layer number="6" name="Route6" color="1" fill="8" visible="yes" active="no"/> <layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
<layer number="7" name="Route7" color="4" fill="8" visible="yes" active="no"/> <layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
<layer number="8" name="Route8" color="1" fill="2" visible="yes" active="no"/> <layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
<layer number="9" name="Route9" color="4" fill="2" visible="yes" active="no"/> <layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
<layer number="10" name="Route10" color="1" fill="7" visible="yes" active="no"/> <layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
<layer number="11" name="Route11" color="4" fill="7" visible="yes" active="no"/> <layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
<layer number="12" name="Route12" color="1" fill="5" visible="yes" active="no"/> <layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
<layer number="13" name="Route13" color="4" fill="5" visible="yes" active="no"/> <layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
<layer number="14" name="Route14" color="1" fill="6" visible="yes" active="no"/> <layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
<layer number="15" name="Route15" color="4" fill="6" visible="yes" active="no"/> <layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="no"/> <layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="no"/> <layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="no"/> <layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="no"/> <layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="no"/> <layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="no"/> <layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="no"/> <layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="no"/> <layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="no"/> <layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="no"/> <layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="no"/> <layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="no"/> <layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="no"/> <layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/> <layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/> <layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/> <layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
@@ -44,8 +44,8 @@
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/> <layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/> <layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/> <layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
<layer number="37" name="tTest" color="7" fill="1" visible="yes" active="no"/> <layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
<layer number="38" name="bTest" color="7" fill="1" visible="yes" active="no"/> <layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/> <layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/> <layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/> <layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
@@ -53,16 +53,16 @@
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/> <layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/> <layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/> <layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
<layer number="46" name="Milling" color="3" fill="1" visible="yes" active="no"/> <layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
<layer number="47" name="Measures" color="7" fill="1" visible="yes" active="no"/> <layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="no"/> <layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="no"/> <layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
<layer number="50" name="dxf" color="7" fill="1" visible="yes" active="no"/> <layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="no"/> <layer number="51" name="tDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="no"/> <layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="53" name="tGND_GNDA" color="7" fill="1" visible="yes" active="no"/> <layer number="53" name="tGND_GNDA" color="7" fill="1" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="7" fill="1" visible="yes" active="no"/> <layer number="54" name="bGND_GNDA" color="7" fill="1" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="yes" active="no"/> <layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/> <layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/> <layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/> <layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
@@ -15008,11 +15008,15 @@ Low profile connectors, straight&lt;p&gt;
<label x="129.54" y="119.38" size="1.27" layer="95" rot="R180"/> <label x="129.54" y="119.38" size="1.27" layer="95" rot="R180"/>
</segment> </segment>
</net> </net>
<net name="AUTO_BOOT_OFF" class="0"> <net name="IDE_OFF" class="0">
<segment> <segment>
<pinref part="IDE_OFF" gate="A" pin="2"/> <pinref part="IDE_OFF" gate="A" pin="2"/>
<pinref part="R5" gate="G$1" pin="2"/> <pinref part="R5" gate="G$1" pin="2"/>
<wire x1="119.38" y1="121.92" x2="119.38" y2="119.38" width="0.1524" layer="91"/> <wire x1="119.38" y1="121.92" x2="119.38" y2="119.38" width="0.1524" layer="91"/>
<label x="124.46" y="111.76" size="1.778" layer="95" rot="R270"/>
<wire x1="119.38" y1="119.38" x2="124.46" y2="119.38" width="0.1524" layer="91"/>
<wire x1="124.46" y1="119.38" x2="124.46" y2="111.76" width="0.1524" layer="91"/>
<junction x="119.38" y="119.38"/>
</segment> </segment>
</net> </net>
<net name="N$42" class="0"> <net name="N$42" class="0">
@@ -15408,7 +15412,9 @@ Low profile connectors, straight&lt;p&gt;
<pinref part="R1" gate="G$1" pin="2"/> <pinref part="R1" gate="G$1" pin="2"/>
<pinref part="AUTOBOOT_ON" gate="A" pin="2"/> <pinref part="AUTOBOOT_ON" gate="A" pin="2"/>
<wire x1="119.38" y1="81.28" x2="119.38" y2="83.82" width="0.1524" layer="91"/> <wire x1="119.38" y1="81.28" x2="119.38" y2="83.82" width="0.1524" layer="91"/>
<label x="119.38" y="81.28" size="1.778" layer="95"/> <label x="127" y="81.28" size="1.778" layer="95"/>
<wire x1="119.38" y1="81.28" x2="127" y2="81.28" width="0.1524" layer="91"/>
<junction x="119.38" y="81.28"/>
</segment> </segment>
</net> </net>
<net name="DOE" class="0"> <net name="DOE" class="0">
@@ -16298,7 +16304,7 @@ Low profile connectors, straight&lt;p&gt;
<label x="147.32" y="45.72" size="1.27" layer="95"/> <label x="147.32" y="45.72" size="1.27" layer="95"/>
</segment> </segment>
</net> </net>
<net name="AUTO_BOOT_OFF" class="0"> <net name="IDE_OFF" class="0">
<segment> <segment>
<pinref part="IC2" gate="G$1" pin="P$75-FB13MC11"/> <pinref part="IC2" gate="G$1" pin="P$75-FB13MC11"/>
<wire x1="144.78" y1="48.26" x2="147.32" y2="48.26" width="0.1524" layer="91"/> <wire x1="144.78" y1="48.26" x2="147.32" y2="48.26" width="0.1524" layer="91"/>