CP and LAN working! Clockport needed to be stopped if FCS='1'
This commit is contained in:
1 parent
943507175a
commit
7936ad431b
161 files changed
+45433
-43327
No files matched your search
@@ -112,3 +112,9 @@ Driver/baxnet/source/vasm\.exe
|
|||||||
Driver/baxnet/source/Makefile
|
Driver/baxnet/source/Makefile
|
||||||
|
|
||||||
Driver/baxnet/source/vc\.cfg
|
Driver/baxnet/source/vc\.cfg
|
||||||
|
|
||||||
|
Logic/LAN_IDE_V2/LAN_IDE_CP_html/fit/
|
||||||
|
|
||||||
|
Logic/LAN_IDE_V2/LAN_IDE_CP_html/images/
|
||||||
|
|
||||||
|
Logic/LAN_IDE_V2/LAN_IDE_CP_html/tim/
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
MIITool
|
||||||
|
-------
|
||||||
|
|
||||||
|
This utility allows to observe and change the physical parameters
|
||||||
|
of Ethernet NICs on AmigaOS. The parameters include autonegotiation
|
||||||
|
settings and forced speed/duplex combinations. While it is expected
|
||||||
|
that autonegotiation "just works" with modern equipment, there still
|
||||||
|
are people with some interest in retro-computing who might or might
|
||||||
|
not experience link-related problems or are just curious about some
|
||||||
|
inner workings of everyday hardware.
|
||||||
|
|
||||||
|
A modern switch ("link partner") should advertise it`s capabilities
|
||||||
|
properly such that the Ethernet hardware can select the optimal mode
|
||||||
|
out of the supported set. If that is not the case, you can narrow down
|
||||||
|
the list of advertised modes such that the link partners come to a
|
||||||
|
working agreement. The last resort is to set a fixed speed/duplex
|
||||||
|
combination. Please note that fixed parameters must be set at both
|
||||||
|
ends of the link. Otherwise the link will work slowly or not at all.
|
||||||
|
|
||||||
|
None of the settings this tool applies is permanent. Changed parameters
|
||||||
|
are only valid until a reboot of the NIC.
|
||||||
|
|
||||||
|
Examples for usage are given at the end of this text.
|
||||||
|
|
||||||
|
|
||||||
|
Prerequisites:
|
||||||
|
- AmigaOS 2.04 on 68k
|
||||||
|
- active Ethernet SANA-II driver, i.e. after starting the IP-Stack
|
||||||
|
|
||||||
|
|
||||||
|
Invocation:
|
||||||
|
- MIITool is supposed to be run from CLI/Shell.
|
||||||
|
|
||||||
|
|
||||||
|
Arguments template:
|
||||||
|
DEVICE/K,UNIT/K/N,V/S,FORCEMEDIA/K,ADVERTISE/K,RENEG/S,RESET/S,VV/S
|
||||||
|
|
||||||
|
|
||||||
|
Detailed description of arguments:
|
||||||
|
|
||||||
|
keyword - description
|
||||||
|
------------------------
|
||||||
|
DEVICE/K - device name corresponding to active ethernet interface
|
||||||
|
DEV/K example: DEVICE=enc624j6net.device
|
||||||
|
|
||||||
|
UNIT/K/N - unit number of device to be opened (default: 0)
|
||||||
|
example: UNIT=0
|
||||||
|
|
||||||
|
FORCEMEDIA - speed/duplex combination to set unconditionally,
|
||||||
|
see below for a list of valid speed or duplex modes
|
||||||
|
|
||||||
|
ADVERTISE - speed/duplex combinations to announce by autonegotiation,
|
||||||
|
implicitly restart autonegotiation,
|
||||||
|
see below for a list of valid speed or duplex modes
|
||||||
|
|
||||||
|
RENEG - restart autonegotiation, please allow a couple of seconds
|
||||||
|
RESTART until the negotiation is finished
|
||||||
|
|
||||||
|
RESET - reset PHY to power-on state
|
||||||
|
|
||||||
|
VERBOSE - more detailed outputs
|
||||||
|
V
|
||||||
|
|
||||||
|
VERYVERBOSE- even more detailed outputs
|
||||||
|
VV
|
||||||
|
|
||||||
|
|
||||||
|
Valid Speed/Duplex combinations (not case sensitive):
|
||||||
|
|
||||||
|
10baseT-HD - 10 Mbit/s half duplex
|
||||||
|
10baseT-FD - 10 Mbit/s full duplex
|
||||||
|
100baseTx-HD - 100 Mbit/s half duplex over two wire pairs
|
||||||
|
100baseTx-FD - 100 Mbit/s full duplex over two wire pairs (common)
|
||||||
|
100baseT4 - 100 Mbit/s full duplex over 4 wire pairs (rare)
|
||||||
|
10baseT - 10 Mbit/s half or full duplex
|
||||||
|
10bT - 10 Mbit/s half or full duplex
|
||||||
|
100baseTx - 100 Mbit/s half or full duplex
|
||||||
|
100bTx - 100 Mbit/s half or full duplex
|
||||||
|
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
current status (detailed):
|
||||||
|
miitool DEV=enc624j6net.device v
|
||||||
|
|
||||||
|
negotiate 10 Mbit/s only
|
||||||
|
miitool DEV=enc624j6net.device ADVERTISE=10bT
|
||||||
|
|
||||||
|
negotiate 100baseTx and 10baseT half duplex only:
|
||||||
|
miitool DEV=enc624j6net.device ADVERTISE=100bTx,10baseT-HD
|
||||||
|
|
||||||
|
force 100 Mbit/s full duplex
|
||||||
|
miitool DEV=enc624j6net.device FORCEMEDIA=100baseTx-FD
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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
|
ASMOBJECTS = $(SUBDIR)/enc624j6l.o $(SUBDIR)/intervaltimer.o kprintf.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,7 +31,7 @@ ASMOBJECTS = $(SUBDIR)/enc624j6l.o $(SUBDIR)/intervaltimer.o
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
DEVICEID=enc624j6net.device
|
DEVICEID=enc624j6net.device
|
||||||
DEFINES = # -DPROTO_V2EXPNET
|
DEFINES = -DHW_DMA_TX # -DPROTO_V2EXPNET
|
||||||
ASMDEFS = # -DPROTO_V2EXPNET
|
ASMDEFS = # -DPROTO_V2EXPNET
|
||||||
CPU = 68020
|
CPU = 68020
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,188 @@
|
|||||||
|
;APS00000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
; ifd DEBUG
|
||||||
|
; XDEF _AbsExecBase
|
||||||
|
; XDEF _LVORawDoFmt
|
||||||
|
; XDEF _LVORawPutChar
|
||||||
|
; XDEF _LVORawMayGetChar
|
||||||
|
; XDEF _AbsExecBase
|
||||||
|
; endif
|
||||||
|
|
||||||
|
ifnd _LVORawDoFmt
|
||||||
|
_LVORawDoFmt equ -$20a
|
||||||
|
endc
|
||||||
|
ifnd _LVORawPutChar
|
||||||
|
_LVORawPutChar equ -$204
|
||||||
|
_LVORawIOInit equ -$1f8
|
||||||
|
_LVORawMayGetChar equ -$1fe
|
||||||
|
endc
|
||||||
|
|
||||||
|
;
|
||||||
|
;
|
||||||
|
;
|
||||||
|
ifd DEBUG
|
||||||
|
|
||||||
|
XREF _KPrintF
|
||||||
|
|
||||||
|
WRITEDEBUG macro
|
||||||
|
movem.l d0/d1/a0/a1,-(sp)
|
||||||
|
ifnb \9
|
||||||
|
move.l \9,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \8
|
||||||
|
move.l \8,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \7
|
||||||
|
move.l \7,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \6
|
||||||
|
move.l \6,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \5
|
||||||
|
move.l \5,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \4
|
||||||
|
move.l \4,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \3
|
||||||
|
move.l \3,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \2
|
||||||
|
move.l \2,-(sp)
|
||||||
|
endif
|
||||||
|
lea.l (\1),a0
|
||||||
|
move.l sp,a1
|
||||||
|
jsr _KPrintF
|
||||||
|
ifnb \2
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \3
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \4
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \5
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \6
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \7
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \8
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \9
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
movem.l (sp)+,d0/d1/a0/a1
|
||||||
|
endm
|
||||||
|
else
|
||||||
|
WRITEDEBUG macro
|
||||||
|
nop
|
||||||
|
endm
|
||||||
|
endc
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
;
|
||||||
|
;
|
||||||
|
WRITEOUT macro
|
||||||
|
movem.l d0/d1/d2/a0/a1/a6,-(sp)
|
||||||
|
ifnb \9
|
||||||
|
move.l \9,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \8
|
||||||
|
move.l \8,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \7
|
||||||
|
move.l \7,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \6
|
||||||
|
move.l \6,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \5
|
||||||
|
move.l \5,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \4
|
||||||
|
move.l \4,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \3
|
||||||
|
move.l \3,-(sp)
|
||||||
|
endif
|
||||||
|
ifnb \2
|
||||||
|
move.l \2,-(sp)
|
||||||
|
endif
|
||||||
|
ifd DEBUG
|
||||||
|
move.l \1,a0
|
||||||
|
move.l sp,a1
|
||||||
|
jsr _KPrintF
|
||||||
|
endif
|
||||||
|
move.l \1,d1
|
||||||
|
move.l sp,d2
|
||||||
|
movea.l DOSBase,a6
|
||||||
|
jsr _LVOVPrintf(a6)
|
||||||
|
ifnb \2
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \3
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \4
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \5
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \6
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \7
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \8
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
ifnb \9
|
||||||
|
add.l #4,sp
|
||||||
|
endif
|
||||||
|
movem.l (sp)+,d0/d1/d2/a0/a1/a6
|
||||||
|
endm
|
||||||
|
|
||||||
|
;COUNTERS only when DEBUG is on
|
||||||
|
ifd DEBUG
|
||||||
|
ifne DEBUG
|
||||||
|
DEBUG_COUNTERS EQU 1
|
||||||
|
endc
|
||||||
|
endc
|
||||||
|
|
||||||
|
ifd DEBUG_COUNTERS
|
||||||
|
COUNTER_INC macro
|
||||||
|
addq.l #1,\1
|
||||||
|
endm
|
||||||
|
else
|
||||||
|
COUNTER_INC macro
|
||||||
|
nop
|
||||||
|
endm
|
||||||
|
endc
|
||||||
|
|
||||||
|
; write usage of all emulated instructions if DEBUG is 1 to RAWIO (sushi/sashimi/serial)
|
||||||
|
ifd DEBUG
|
||||||
|
ifne DEBUG
|
||||||
|
HAVE_DEBUGINSTR EQU 1
|
||||||
|
DEBUGINSTR macro
|
||||||
|
ifnb \3
|
||||||
|
WRITEDEBUG \1,\2,\3
|
||||||
|
else
|
||||||
|
WRITEDEBUG \1,\2
|
||||||
|
endc
|
||||||
|
endm
|
||||||
|
endc
|
||||||
|
endc
|
||||||
|
ifnd HAVE_DEBUGINSTR
|
||||||
|
DEBUGINSTR macro
|
||||||
|
endm
|
||||||
|
endc
|
||||||
|
|
||||||
|
|
||||||
@@ -18,6 +18,8 @@
|
|||||||
in server.c as a separate process. Interrupts are forwarded
|
in server.c as a separate process. Interrupts are forwarded
|
||||||
as signals to server.c as well (depending on target hardware).
|
as signals to server.c as well (depending on target hardware).
|
||||||
|
|
||||||
|
S2_CONFIGINTERFACE worked more than once, it *must* only work once.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
#define DEVICE_MAIN
|
#define DEVICE_MAIN
|
||||||
|
|
||||||
@@ -200,6 +202,12 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
|
|||||||
dbm->dbm_PacketFilter = (APTR)( GetTagData(S2_PacketFilter,0,
|
dbm->dbm_PacketFilter = (APTR)( GetTagData(S2_PacketFilter,0,
|
||||||
(struct TagItem *)ioreq->ios2_BufferManagement));
|
(struct TagItem *)ioreq->ios2_BufferManagement));
|
||||||
|
|
||||||
|
dbm->dbm_CopyFromBufferDMA = (BMCALL)((void (*)())(GetTagData(S2_DMACopyFromBuff32, 0,
|
||||||
|
(struct TagItem *)ioreq->ios2_BufferManagement)));
|
||||||
|
dbm->dbm_CopyToBufferDMA = (BMCALL)((void (*)())(GetTagData(S2_DMACopyToBuff32, 0,
|
||||||
|
(struct TagItem *)ioreq->ios2_BufferManagement)));
|
||||||
|
|
||||||
|
|
||||||
/* 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 */
|
||||||
@@ -215,7 +223,7 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
|
|||||||
dbm->dbm_CopyFromBuffer32 = (BMCALL)((void (*)())(GetTagData(S2_CopyFromBuff32, 0,
|
dbm->dbm_CopyFromBuffer32 = (BMCALL)((void (*)())(GetTagData(S2_CopyFromBuff32, 0,
|
||||||
(struct TagItem *)ioreq->ios2_BufferManagement)));
|
(struct TagItem *)ioreq->ios2_BufferManagement)));
|
||||||
}
|
}
|
||||||
|
|
||||||
D(("BufferMgmt CBuf32 %lx PF %lx CBuf %lx\n",(ULONG)dbm->dbm_CopyFromBuffer32,(ULONG)dbm->dbm_PacketFilter,(ULONG)dbm->dbm_CopyFromBuffer));
|
D(("BufferMgmt CBuf32 %lx PF %lx CBuf %lx\n",(ULONG)dbm->dbm_CopyFromBuffer32,(ULONG)dbm->dbm_PacketFilter,(ULONG)dbm->dbm_CopyFromBuffer));
|
||||||
|
|
||||||
if( !dbm->dbm_CopyToBuffer32 )
|
if( !dbm->dbm_CopyToBuffer32 )
|
||||||
@@ -265,6 +273,8 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
|
|||||||
}
|
}
|
||||||
ioreq->ios2_Req.io_Message.mn_Node.ln_Type = NT_REPLYMSG;
|
ioreq->ios2_Req.io_Message.mn_Node.ln_Type = NT_REPLYMSG;
|
||||||
|
|
||||||
|
D(("DevOpen return code %ld\n",ret));
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -588,6 +598,8 @@ ASM SAVEDS VOID DevBeginIO( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
|
|||||||
{
|
{
|
||||||
struct IOStdReq *stdrq = (struct IOStdReq *)ioreq;
|
struct IOStdReq *stdrq = (struct IOStdReq *)ioreq;
|
||||||
|
|
||||||
|
D(("NSCMD_DEVICEQUERY size %ld\n",(ULONG)stdrq->io_Length));
|
||||||
|
|
||||||
if( (!stdrq->io_Data) || (stdrq->io_Length < sizeof( NSDQueryAnswer ) ) )
|
if( (!stdrq->io_Data) || (stdrq->io_Length < sizeof( NSDQueryAnswer ) ) )
|
||||||
{
|
{
|
||||||
ioreq->ios2_Req.io_Error = IOERR_BADLENGTH;
|
ioreq->ios2_Req.io_Error = IOERR_BADLENGTH;
|
||||||
@@ -598,6 +610,7 @@ ASM SAVEDS VOID DevBeginIO( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
|
|||||||
stdrq->io_Actual = sizeof( NSDQueryAnswer );
|
stdrq->io_Actual = sizeof( NSDQueryAnswer );
|
||||||
ioreq->ios2_Req.io_Error = 0;
|
ioreq->ios2_Req.io_Error = 0;
|
||||||
}
|
}
|
||||||
|
D(("NSCMD_DEVICEQUERY return %ld\n",(ULONG)ioreq->ios2_Req.io_Error));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
/* query contents may ask for live data: handle in server.c */
|
/* query contents may ask for live data: handle in server.c */
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ struct devbase {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef BOOL (* ASM BMCALL)( ASMR(a0) void * ASMREG(a0), ASMR(a1) void * ASMREG(a1), ASMR(d0) LONG ASMREG(d0) );
|
typedef LONG (* ASM BMCALL)( ASMR(a0) void * ASMREG(a0), ASMR(a1) void * ASMREG(a1), ASMR(d0) LONG ASMREG(d0) );
|
||||||
|
|
||||||
struct db_BufferManagement {
|
struct db_BufferManagement {
|
||||||
struct MinNode dbm_n;
|
struct MinNode dbm_n;
|
||||||
@@ -131,6 +131,8 @@ struct db_BufferManagement {
|
|||||||
BMCALL dbm_CopyToBuffer32;
|
BMCALL dbm_CopyToBuffer32;
|
||||||
BMCALL dbm_CopyFromBuffer;
|
BMCALL dbm_CopyFromBuffer;
|
||||||
BMCALL dbm_CopyToBuffer;
|
BMCALL dbm_CopyToBuffer;
|
||||||
|
BMCALL dbm_CopyFromBufferDMA; /* this buffering method requires additional support from lowlevel HW implementation */
|
||||||
|
BMCALL dbm_CopyToBufferDMA; /* usage of this pointer requires additional checks */
|
||||||
APTR dbm_PacketFilter; /* this is actually a Hook */
|
APTR dbm_PacketFilter; /* this is actually a Hook */
|
||||||
ULONG dbm_ID;
|
ULONG dbm_ID;
|
||||||
};
|
};
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,4 @@
|
|||||||
|
;APS00000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
; ------------------------------------------------------------------------------
|
; ------------------------------------------------------------------------------
|
||||||
; | Lowlevel Access to memory mapped ENC624J600 in PSP mode |
|
; | Lowlevel Access to memory mapped ENC624J600 in PSP mode |
|
||||||
; | Henryk Richter <henryk.richter@gmx.net> |
|
; | Henryk Richter <henryk.richter@gmx.net> |
|
||||||
@@ -15,18 +16,23 @@
|
|||||||
;
|
;
|
||||||
;
|
;
|
||||||
;TODO:
|
;TODO:
|
||||||
; - Pattern Matching, MC/MC filtering: Multicast,Broadcast,Unicast(self),MagicPacket,correct CRC,"not me" Unicast
|
; - Pattern Matching, MC filtering: Multicast,Broadcast,Unicast(self),MagicPacket,correct CRC,"not me" Unicast
|
||||||
; - _enc624j6l_RXReset -> won't recover from totally unresponsive chip (but exits gracefully)
|
; - _enc624j6l_RXReset -> won't recover from totally unresponsive chip (but exits gracefully)
|
||||||
; - RXSTART_INIT = $0c00 -> currently $2000 due to previous location bug
|
|
||||||
;
|
;
|
||||||
|
; enable debugging code block (comment/uncomment, see below)
|
||||||
|
;DEBUG EQU 1
|
||||||
|
|
||||||
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 "debug.i"
|
||||||
|
include "hw.i"
|
||||||
|
|
||||||
; enable debugging code block
|
ifnd DEBUG
|
||||||
DEBUG EQU 0
|
DEBUG EQU 0
|
||||||
|
endc
|
||||||
|
|
||||||
;
|
;
|
||||||
ADD_4RX EQU 1 ;add 4 to valid RX size (fake CRC), fixes shapeshifter RAW treatment
|
ADD_4RX EQU 1 ;add 4 to valid RX size (fake CRC), fixes shapeshifter RAW treatment
|
||||||
_OPT_LONGRESET EQU 0 ;in testing, don't enable
|
_OPT_LONGRESET EQU 0 ;in testing, don't enable
|
||||||
@@ -116,6 +122,9 @@ ENC_BOARDID EQU 123 ;ZII-IDE-LAN-CP
|
|||||||
XDEF _enc624j6l_bc_mc_filter
|
XDEF _enc624j6l_bc_mc_filter
|
||||||
|
|
||||||
XDEF _enc624j6l_ReadPHY
|
XDEF _enc624j6l_ReadPHY
|
||||||
|
XDEF _enc624j6l_WritePHY
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
; System includes
|
; System includes
|
||||||
;
|
;
|
||||||
@@ -250,9 +259,9 @@ opendos:
|
|||||||
beq .noframe ;nothing received
|
beq .noframe ;nothing received
|
||||||
|
|
||||||
;debug: disable recv
|
;debug: disable recv
|
||||||
move.l _boardbase(pc),a0
|
;move.l _boardbase(pc),a0
|
||||||
moveq #ECON1_RXEN,d0
|
;moveq #ECON1_RXEN,d0
|
||||||
CLRREG ECON1,a0,d0
|
;CLRREG ECON1,a0,d0
|
||||||
|
|
||||||
move.l _boardbase(pc),a0
|
move.l _boardbase(pc),a0
|
||||||
lea readframe,a1
|
lea readframe,a1
|
||||||
@@ -791,7 +800,7 @@ _enc624j6l_EnableInterrupt:
|
|||||||
move.w d0,($4000,a0)
|
move.w d0,($4000,a0)
|
||||||
lea -$4000(a0),a0
|
lea -$4000(a0),a0
|
||||||
|
|
||||||
move #EIE_PKTIE|EIE_INTIE,d0
|
move #EIE_PKTIE|EIE_PCFULIE|EIE_INTIE,d0
|
||||||
SETREG EIE,a0,d0
|
SETREG EIE,a0,d0
|
||||||
|
|
||||||
moveq #1,d0
|
moveq #1,d0
|
||||||
@@ -814,7 +823,7 @@ _enc624j6l_EnableInterrupt:
|
|||||||
; Notes: assumes that init() was called before
|
; Notes: assumes that init() was called before
|
||||||
;
|
;
|
||||||
_enc624j6l_EnableGlobalInterrupt:
|
_enc624j6l_EnableGlobalInterrupt:
|
||||||
move #EIE_INTIE,d0
|
move #EIE_PKTIE|EIE_PCFULIE|EIE_INTIE,d0 ; move #EIE_INTIE,d0
|
||||||
SETREG EIE,a0,d0
|
SETREG EIE,a0,d0
|
||||||
moveq #1,d0
|
moveq #1,d0
|
||||||
.rts
|
.rts
|
||||||
@@ -896,35 +905,32 @@ _enc624j6l_DisableInterrupt:
|
|||||||
; ULONG sigbit
|
; ULONG sigbit
|
||||||
;
|
;
|
||||||
_enc624j6l_IntServer_List:
|
_enc624j6l_IntServer_List:
|
||||||
move.l a6,-(sp)
|
|
||||||
|
|
||||||
move.l a1,d0 ;no pointer supplied ? -> return
|
move.l a1,d0 ;no pointer supplied ? -> return
|
||||||
beq.s .rts
|
beq.s .end
|
||||||
|
movem.l d1/A1/a6,-(sp)
|
||||||
|
|
||||||
move.l a1,a6
|
move.l a1,a6
|
||||||
|
|
||||||
moveq #0,d1
|
moveq #0,d1
|
||||||
.boardloop:
|
move.l (A6)+,d0 ;read magic word
|
||||||
move.l (a1)+,d0 ;next entry from list
|
cmp.l #HW_MAGIC_WORD,D0 ; are we in the right structure?
|
||||||
beq.s .done ;
|
bne.s .done
|
||||||
move.l d0,a0 ;current board
|
|
||||||
|
|
||||||
READREG EIR,a0,d0 ;get interrupt status reg
|
.boardloop:
|
||||||
and #EIR_PKTIF,d0
|
move.l (A6)+,d0 ;next entry from list
|
||||||
or.l d0,d1
|
beq.s .done ;
|
||||||
bra.s .boardloop
|
move.l d0,a1 ;current board
|
||||||
|
|
||||||
|
READREG EIR,A1,d0 ;get interrupt status reg
|
||||||
|
and #EIR_PKTIF|EIR_PCFULIF,D0
|
||||||
|
beq.s .boardloop ;no interrupt here
|
||||||
|
or.l d0,D1 ; save if at least one one board has interrupted
|
||||||
|
move #EIE_INTIE,D0 ;disable board interrupt until someone enables it again
|
||||||
|
CLRREG EIE,A1,d0
|
||||||
|
BRA.s .boardloop
|
||||||
.done:
|
.done:
|
||||||
tst.w d1
|
tst.w d1
|
||||||
beq.s .rts
|
beq.s .rts
|
||||||
|
|
||||||
; clear EIE_INTIE in all active boards directly from here
|
|
||||||
.intdis_loop:
|
|
||||||
move.l (a6)+,d0
|
|
||||||
beq.s .boardsdone
|
|
||||||
move.l d0,a1
|
|
||||||
move #EIE_INTIE,D0 ;disable board interrupt until someone enables it again
|
|
||||||
CLRREG EIE,A1,d0
|
|
||||||
bra.s .intdis_loop
|
|
||||||
.boardsdone:
|
|
||||||
|
|
||||||
;faster: get from extended Driver board list instead from ZII/ZIII card
|
;faster: get from extended Driver board list instead from ZII/ZIII card
|
||||||
ifne 1
|
ifne 1
|
||||||
@@ -960,7 +966,8 @@ _enc624j6l_IntServer_List:
|
|||||||
jsr _LVOSignal(a6)
|
jsr _LVOSignal(a6)
|
||||||
|
|
||||||
.rts
|
.rts
|
||||||
move.l (sp)+,a6
|
movem.l (sp)+,D1/A1/A6
|
||||||
|
.end
|
||||||
moveq #0,d0 ;set Z flag
|
moveq #0,d0 ;set Z flag
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@@ -1062,8 +1069,45 @@ _enc624j6l_CheckLinkChange:
|
|||||||
; Notes: - Doesn't check for Board Pointer (!)
|
; Notes: - Doesn't check for Board Pointer (!)
|
||||||
; - doesn't re-enable RX (!)
|
; - doesn't re-enable RX (!)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
ifne DEBUG
|
||||||
|
RXReset_MSG: dc.b "RXReset Head %04lx Tail %04lx NextPacket %04lx ReadPTR %04lx Bytes %04lx",10,0
|
||||||
|
endc
|
||||||
|
|
||||||
_enc624j6l_RXReset:
|
_enc624j6l_RXReset:
|
||||||
|
|
||||||
|
ifne DEBUG
|
||||||
|
;print current HW registers to serial
|
||||||
|
movem.l d2-d7,-(sp)
|
||||||
|
|
||||||
|
moveq #0,d0
|
||||||
|
moveq #0,d1
|
||||||
|
moveq #0,d2
|
||||||
|
moveq #0,d3
|
||||||
|
READREG ERXHEAD,A0,d0
|
||||||
|
READREG ERXTAIL,A0,d1
|
||||||
|
READREG PNextPacket,a0,d2
|
||||||
|
READSRAM a0,d2,d3 ;move (a0,d7.w),d0
|
||||||
|
ifeq _OPT_BUFFER_SWAP
|
||||||
|
rol.w #8,d3 ;swap pointer to Big Endian
|
||||||
|
endc ;d3=next Packet (from receive status vector)
|
||||||
|
|
||||||
|
moveq #2,d5
|
||||||
|
add d2,d5 ;increment pointer by one word
|
||||||
|
WRAPINDEX d5 ;wrap D4 if beyond buffer
|
||||||
|
READSRAM a0,d5,d4 ;receive byte count
|
||||||
|
ifeq _OPT_BUFFER_SWAP
|
||||||
|
rol.w #8,d4 ;swap pointer to Big Endian
|
||||||
|
endc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
WRITEDEBUG RXReset_MSG,d0,d1,d2,d3,d4
|
||||||
|
|
||||||
|
movem.l (sp)+,d2-d7
|
||||||
|
endc
|
||||||
|
|
||||||
moveq #ECON2_RXRST,d0 ;RX Reset, clears RXEN
|
moveq #ECON2_RXRST,d0 ;RX Reset, clears RXEN
|
||||||
SETREG ECON2,a0,d0 ;
|
SETREG ECON2,a0,d0 ;
|
||||||
;moveq #ECON1_RXEN,d0 ;done by RX reset
|
;moveq #ECON1_RXEN,d0 ;done by RX reset
|
||||||
@@ -1171,6 +1215,15 @@ _enc624j6l_RecvFrame: ;
|
|||||||
rol.w #8,d0 ;swap pointer to Big Endian
|
rol.w #8,d0 ;swap pointer to Big Endian
|
||||||
endc
|
endc
|
||||||
|
|
||||||
|
; btst #0,d0
|
||||||
|
; beq.s .nozerobit
|
||||||
|
; nop
|
||||||
|
;.nozerobit
|
||||||
|
; btst #0,d7
|
||||||
|
; beq.s .nozerobit2
|
||||||
|
; nop
|
||||||
|
;.nozerobit2
|
||||||
|
|
||||||
;verify next packet pointer, re-initialize recv if this is invalid
|
;verify next packet pointer, re-initialize recv if this is invalid
|
||||||
cmp #RXSTOP_INIT,d0 ;bad pointer (<0 or >end of memory)
|
cmp #RXSTOP_INIT,d0 ;bad pointer (<0 or >end of memory)
|
||||||
bhi.w .recv_err
|
bhi.w .recv_err
|
||||||
@@ -1259,10 +1312,23 @@ _enc624j6l_RecvFrame: ;
|
|||||||
|
|
||||||
lea (a0,d7.w),a2 ;read pointer
|
lea (a0,d7.w),a2 ;read pointer
|
||||||
ifeq _OPT_BUFFER_SWAP
|
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
|
move.l d0,d2 ;total bytes
|
||||||
moveq #15,d1 ;
|
moveq #15,d1 ;
|
||||||
lsr.w #4,d2 ;total/16
|
lsr.w #4,d2 ;total/16
|
||||||
and.l d0,d1 ;remainder: max 15 bytes
|
and.l d0,d1 ;remainder: max 15 bytes
|
||||||
|
.impair:
|
||||||
addq #3,d1 ;remainder, rounded up to +3 bytes
|
addq #3,d1 ;remainder, rounded up to +3 bytes
|
||||||
subq #1,d2 ;dbf
|
subq #1,d2 ;dbf
|
||||||
blt.s .nopt16_read ;less than 16 bytes -> bail out
|
blt.s .nopt16_read ;less than 16 bytes -> bail out
|
||||||
@@ -1424,7 +1490,7 @@ _enc624j6l_RecvFrame: ;
|
|||||||
; notes:
|
; notes:
|
||||||
;
|
;
|
||||||
_enc624j6l_TransmitFrame:
|
_enc624j6l_TransmitFrame:
|
||||||
movem.l d2-d5/a2,-(sp)
|
movem.l d2-d5/a3,-(sp)
|
||||||
|
|
||||||
;---------------- parameter check -------------------------------------
|
;---------------- parameter check -------------------------------------
|
||||||
|
|
||||||
@@ -1455,33 +1521,60 @@ _enc624j6l_TransmitFrame:
|
|||||||
eor.w #PSwapTX,d2 ;swap buffer
|
eor.w #PSwapTX,d2 ;swap buffer
|
||||||
WRITEREG PNextTX,a0,d2 ;remember pointer (d2 also for ETXST later)
|
WRITEREG PNextTX,a0,d2 ;remember pointer (d2 also for ETXST later)
|
||||||
|
|
||||||
lea (a0,d2.w),a2 ;write pointer for frame
|
lea (a0,d2.w),a3 ;write pointer for frame
|
||||||
|
|
||||||
ifeq _OPT_BUFFER_SWAP
|
ifeq _OPT_BUFFER_SWAP
|
||||||
|
|
||||||
|
ifd HW_DMA_TX
|
||||||
|
move.l a2,d3
|
||||||
|
beq.s .no_separate_header
|
||||||
|
ifne 1
|
||||||
|
move.l -2(a2),(a3)+ ;garbage (2), DstMAC,SrcMAC,Type/Len = 16 Bytes
|
||||||
|
move.l 2(a2),(a3)+
|
||||||
|
move.l 6(a2),(a3)+
|
||||||
|
move.l 10(a2),(a3)+
|
||||||
|
moveq #14,d3
|
||||||
|
addq #2,d2 ;start pointer behind garbage (2)
|
||||||
|
else
|
||||||
|
move.l (a2),(a3)+ ;copy DstMAC,SrcMAC,Type/Len = 14 Bytes
|
||||||
|
move.l 4(a2),(a3)+
|
||||||
|
move.l 8(a2),(a3)+
|
||||||
|
move.w 12(a2),(a3)+
|
||||||
|
moveq #14,d3
|
||||||
|
endc
|
||||||
|
.no_separate_header
|
||||||
|
endc
|
||||||
|
|
||||||
;faster TX when buffer swapping is not necessary
|
;faster TX when buffer swapping is not necessary
|
||||||
move.l d0,d4 ;remember length
|
move.l d0,d4 ;remember length
|
||||||
moveq #63,d5 ;
|
moveq #63,d5 ;
|
||||||
and.l d5,d0 ;remainder of 64 byte copy loop
|
and.l d5,d0 ;remainder of 64 byte copy loop
|
||||||
move.l d4,d5 ;length in bytes
|
move.l d4,d5 ;length in bytes
|
||||||
|
ifd HW_DMA_TX
|
||||||
|
add.l d3,d4 ;length+header (either 0 or 14)
|
||||||
|
endc
|
||||||
asr.w #6,d5 ;64 byte blocks
|
asr.w #6,d5 ;64 byte blocks
|
||||||
subq.w #1,d5 ;dbf
|
subq.w #1,d5 ;dbf
|
||||||
blt.s .smallcopy
|
blt.s .smallcopy
|
||||||
bra.s .largecopy_start
|
bra.s .largecopy_start
|
||||||
|
|
||||||
.largecopy:
|
.largecopy:
|
||||||
move.l d1,(a2)+
|
move.l d1,(a3)+
|
||||||
.largecopy_start:
|
.largecopy_start:
|
||||||
rept 15
|
rept 15
|
||||||
move.l (a1)+,(a2)+ ;save to SRAM
|
move.l (a1)+,(a3)+ ;save to SRAM
|
||||||
endr
|
endr
|
||||||
move.l (a1)+,d1
|
move.l (a1)+,d1
|
||||||
dbf d5,.largecopy
|
dbf d5,.largecopy
|
||||||
|
|
||||||
move.l d1,(a2)+
|
move.l d1,(a3)+
|
||||||
|
|
||||||
else ;_OPT_BUFFER_SWAP
|
else ;_OPT_BUFFER_SWAP
|
||||||
|
|
||||||
|
ifd HW_DMA_TX
|
||||||
|
error "HW_DMA_TX not supported for _OPT_BUFFER_SWAP configuration, disable!"
|
||||||
|
endc
|
||||||
|
|
||||||
move.w d0,d4 ;still need length later
|
move.w d0,d4 ;still need length later
|
||||||
|
|
||||||
endc ;_OPT_BUFFER_SWAP
|
endc ;_OPT_BUFFER_SWAP
|
||||||
@@ -1507,11 +1600,11 @@ _enc624j6l_TransmitFrame:
|
|||||||
rol.w d4,d3
|
rol.w d4,d3
|
||||||
swap d1
|
swap d1
|
||||||
swap d3
|
swap d3
|
||||||
move.l d1,(a2)+ ;save to SRAM
|
move.l d1,(a3)+ ;save to SRAM
|
||||||
move.l d3,(a2)+ ;save to SRAM
|
move.l d3,(a3)+ ;save to SRAM
|
||||||
else ;_OPT_BUFFER_SWAP
|
else ;_OPT_BUFFER_SWAP
|
||||||
move.l (a1)+,(a2)+ ;save to SRAM
|
move.l (a1)+,(a3)+ ;save to SRAM
|
||||||
move.l (a1)+,(a2)+ ;save to SRAM
|
move.l (a1)+,(a3)+ ;save to SRAM
|
||||||
endc ;_OPT_BUFFER_SWAP
|
endc ;_OPT_BUFFER_SWAP
|
||||||
|
|
||||||
dbf d0,.txcopy
|
dbf d0,.txcopy
|
||||||
@@ -1546,7 +1639,7 @@ _enc624j6l_TransmitFrame:
|
|||||||
SETREG ECON1,a0,d1 ;
|
SETREG ECON1,a0,d1 ;
|
||||||
|
|
||||||
.err:
|
.err:
|
||||||
movem.l (sp)+,d2-d5/a2
|
movem.l (sp)+,d2-d5/a3
|
||||||
rts
|
rts
|
||||||
|
|
||||||
ifne _OPT_CHECKLINK_TX
|
ifne _OPT_CHECKLINK_TX
|
||||||
@@ -1559,6 +1652,7 @@ _enc624j6l_TransmitFrame:
|
|||||||
|
|
||||||
endc
|
endc
|
||||||
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------------------------
|
;---------------------------------------------------------------------------------------
|
||||||
;
|
;
|
||||||
; read PHY register (16 Bit)
|
; read PHY register (16 Bit)
|
||||||
@@ -1613,6 +1707,60 @@ _enc624j6l_ReadPHY:
|
|||||||
.err:
|
.err:
|
||||||
moveq #-1,d0
|
moveq #-1,d0
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
;---------------------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
; write PHY register (16 Bit)
|
||||||
|
;
|
||||||
|
; input: A0 - APTR mmapped board base address
|
||||||
|
; D0 - LONG Phy register (5 valid bits)
|
||||||
|
; D1 - SHORT value written into PHY reg
|
||||||
|
;
|
||||||
|
; output: LONG D0 <0 - error (bad register index)
|
||||||
|
; - 16 Bit PHY reg contents
|
||||||
|
;
|
||||||
|
; trash: -
|
||||||
|
;
|
||||||
|
; notes:
|
||||||
|
;
|
||||||
|
;
|
||||||
|
_enc624j6l_WritePHY:
|
||||||
|
cmp.w #31,d0
|
||||||
|
bhi.w .err
|
||||||
|
|
||||||
|
bset #8,d0 ;$100 + PHY_REG
|
||||||
|
WRITEREG MIREGADR,a0,d0 ;set PHY register address
|
||||||
|
WRITEREG MIWR,a0,d1 ;set desired content
|
||||||
|
|
||||||
|
moveq #25,d0 ;25 us delay (at least)
|
||||||
|
bsr _enc624j6l_UMinDelay ;
|
||||||
|
|
||||||
|
moveq #100,d1
|
||||||
|
.waitloop:
|
||||||
|
READREG MISTAT,a0,d0
|
||||||
|
btst #0,d0
|
||||||
|
beq.s .notbusy
|
||||||
|
|
||||||
|
tst.b $BFE301 ;1 CIA access = 1.4 us
|
||||||
|
subq.w #1,d1 ;>165 us exceeded ? -> something is wrong, SPEC says 25.6 us
|
||||||
|
blt.s .notbusy ;error
|
||||||
|
|
||||||
|
bra.s .waitloop
|
||||||
|
.notbusy
|
||||||
|
; moveq #0,d0
|
||||||
|
; WRITEREG MICMD,a0,d0 ;cancel write command
|
||||||
|
|
||||||
|
moveq #0,d0
|
||||||
|
.ret:
|
||||||
|
rts
|
||||||
|
.err:
|
||||||
|
moveq #-1,d0
|
||||||
|
bra.s .ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;------------------------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------------------------
|
||||||
;------------------------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------------------------
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -196,17 +196,23 @@ ASM SAVEDS int enc624j6l_RecvFrame( ASMR(a0) void *board ASMREG(a0),
|
|||||||
input: board - mmapped board base address
|
input: board - mmapped board base address
|
||||||
buffer - output buffer (should have >=1514 bytes)
|
buffer - output buffer (should have >=1514 bytes)
|
||||||
sendsize - size of buffer in bytes ( no CRC appended (!) )
|
sendsize - size of buffer in bytes ( no CRC appended (!) )
|
||||||
|
header - 14 Bytes Ethernet header
|
||||||
|
(total frame transmit size = sendsize+14)
|
||||||
|
|
||||||
output: <0 - error
|
output: <0 - error
|
||||||
0 - nothing in receive buffer
|
0 - nothing in receive buffer
|
||||||
>0 - size of received frame
|
>0 - size of received frame
|
||||||
|
|
||||||
notes:
|
notes:
|
||||||
|
"header" argument valid only when "HW_DMA_TX" is defined (Makefile)
|
||||||
*/
|
*/
|
||||||
ASM SAVEDS int enc624j6l_TransmitFrame( ASMR(a0) void *board ASMREG(a0),
|
ASM SAVEDS int enc624j6l_TransmitFrame( ASMR(a0) void *board ASMREG(a0),
|
||||||
ASMR(a1) unsigned char* buffer ASMREG(a1),
|
ASMR(a1) unsigned char* buffer ASMREG(a1),
|
||||||
ASMR(d0) short sendsize ASMREG(d0) );
|
ASMR(d0) short sendsize ASMREG(d0)
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
,ASMR(a2) unsigned char* header ASMREG(a2)
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -330,7 +336,7 @@ ASM SAVEDS int enc624j6l_CheckLinkChange( ASMR(a0) void *board ASMREG(a0) );
|
|||||||
Purpose: read PHY register
|
Purpose: read PHY register
|
||||||
|
|
||||||
input: board - mmapped board base address
|
input: board - mmapped board base address
|
||||||
flags - broadcast,promiscous, multicast
|
phyreg - PHY register to read
|
||||||
|
|
||||||
output: <0 - error
|
output: <0 - error
|
||||||
>=0 - OK
|
>=0 - OK
|
||||||
@@ -340,5 +346,20 @@ ASM SAVEDS int enc624j6l_ReadPHY(
|
|||||||
ASMR(d0) unsigned long phyreg ASMREG(d0) );
|
ASMR(d0) unsigned long phyreg ASMREG(d0) );
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Purpose: write PHY register
|
||||||
|
|
||||||
|
input: board - mmapped board base address
|
||||||
|
phyreg - PHY register to read
|
||||||
|
value - value written into PHY reg
|
||||||
|
|
||||||
|
output: <0 - error
|
||||||
|
>=0 - OK
|
||||||
|
*/
|
||||||
|
ASM SAVEDS int enc624j6l_WritePHY(
|
||||||
|
ASMR(a0) void *board ASMREG(a0),
|
||||||
|
ASMR(d0) unsigned long phyreg ASMREG(d0),
|
||||||
|
ASMR(d1) unsigned short data ASMREG(d1) );
|
||||||
|
|
||||||
|
|
||||||
#endif /* _INC_ENC624J6L_H */
|
#endif /* _INC_ENC624J6L_H */
|
||||||
@@ -51,18 +51,18 @@ void myhw_ControlIntervalTimer( DEVBASEP );
|
|||||||
|
|
||||||
/* these calls might not run within the context of a process and
|
/* these calls might not run within the context of a process and
|
||||||
will be called from varying tasks and without prior init:
|
will be called from varying tasks and without prior init:
|
||||||
hw_Find_Boards()
|
hw_Find_Boards() - this one just identifies available HW and returns #boards
|
||||||
hw_AllocBoard()
|
hw_AllocBoard()
|
||||||
hw_ReleaseBoard()
|
hw_ReleaseBoard()
|
||||||
hw_GetMacAddress()
|
hw_GetMacAddress() - get default MAC address from board
|
||||||
|
|
||||||
these calls are in the context of the server task:
|
these calls are in the context of the server task:
|
||||||
hw_Setup() - general init (board allocated already)
|
hw_Setup() - general init (board allocated already)
|
||||||
hw_Shutdown() - general shutdown (board still allocated)
|
hw_Shutdown() - general shutdown (board still allocated)
|
||||||
hw_Attach() - make hardware ready for action (online)
|
hw_Attach() - make hardware ready for action (online)
|
||||||
hw_Detach() - put hardware into sleep mode (offline)
|
hw_Detach() - put hardware into sleep mode (offline)
|
||||||
|
|
||||||
hw_recv_sigmask() - get signals for hardware (if any)
|
hw_recv_sigmask() - get signals for hardware (if any, i.e. signal on interrupt)
|
||||||
hw_recv_pending() - check for pending receive frames
|
hw_recv_pending() - check for pending receive frames
|
||||||
|
|
||||||
hw_recv_frame() - receive one frame
|
hw_recv_frame() - receive one frame
|
||||||
@@ -71,10 +71,11 @@ void myhw_ControlIntervalTimer( DEVBASEP );
|
|||||||
and apply them (called only when no RX/TX
|
and apply them (called only when no RX/TX
|
||||||
in progress)
|
in progress)
|
||||||
|
|
||||||
hw_config_init() - set defaults for HW
|
hw_ConfigInit() - set defaults for HW
|
||||||
hw_config_update() - update config of HW
|
hw_ConfigUpdate() - update config of HW
|
||||||
|
|
||||||
hw_get_mac_status() - running parameters
|
hw_change_multicast - re-initialize multicast filter for new address list
|
||||||
|
hw_get_mac_status() - running parameters (optional), S2_DEVICEQUERYEXT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const BYTE exp_name[] = "expansion.library";
|
const BYTE exp_name[] = "expansion.library";
|
||||||
@@ -274,13 +275,31 @@ ASM SAVEDS void hw_ConfigUpdate( ASMR(a0) DEVBASEP ASMREG(a0),
|
|||||||
hwd->multicast = 1;
|
hwd->multicast = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
send a single frame to the hardware:
|
||||||
|
- either fully assembled frame (14 bytes DMAC,SMAC,TYPE followed by payload
|
||||||
|
- or payload in "frame" and 14 byte header in "header"
|
||||||
|
- provide Makefile-level definition of HW_DMA_TX in the latter case
|
||||||
|
|
||||||
|
- note: if you pass "header==NULL" with active HW_DMA_TX definition,
|
||||||
|
the hw_send_frame assumes the header to be present (SANA-II RAW frames) and
|
||||||
|
is handling "frame" as fully assembled frame
|
||||||
|
*/
|
||||||
ASM SAVEDS LONG hw_send_frame( ASMR(a0) DEVBASEP ASMREG(a0),
|
ASM SAVEDS LONG hw_send_frame( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
ASMR(d0) ULONG unit ASMREG(d0),
|
ASMR(d0) ULONG unit ASMREG(d0),
|
||||||
ASMR(a1) UBYTE *frame ASMREG(a1),
|
ASMR(a1) UBYTE *frame ASMREG(a1),
|
||||||
ASMR(d1) ULONG framesize ASMREG(d1) )
|
ASMR(d1) ULONG framesize ASMREG(d1)
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
,ASMR(a2) UBYTE *header ASMREG(a2)
|
||||||
|
#endif
|
||||||
|
)
|
||||||
{
|
{
|
||||||
enc624j6l_TransmitFrame( db->db_Units[unit].duh_BASE, frame, framesize );
|
/* TX with separate header support ? (optional) */
|
||||||
|
enc624j6l_TransmitFrame( db->db_Units[unit].duh_BASE, frame, framesize
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
,header
|
||||||
|
#endif
|
||||||
|
);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,14 +348,16 @@ ASM SAVEDS LONG hw_check_link_change( ASMR(a0) DEVBASEP ASMREG(
|
|||||||
return 1; /* don't signal panic to the outside, everything is under control */
|
return 1; /* don't signal panic to the outside, everything is under control */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* obtain running parameters of Ethernet MAC: link up/down, Speed, Duplex */
|
/* obtain running parameters of Ethernet MAC: link up/down, Speed, Duplex for
|
||||||
|
SANA-II DeviceQueryExtension (general parameters)
|
||||||
|
*/
|
||||||
ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(a0),
|
ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
ASMR(d0) ULONG unit ASMREG(d0) )
|
ASMR(d0) ULONG unit ASMREG(d0) )
|
||||||
{
|
{
|
||||||
struct HWData *hwd = &db->db_hwdat;
|
struct HWData *hwd = &db->db_hwdat;
|
||||||
APTR boardbase = db->db_Units[unit].duh_BASE;
|
APTR boardbase = db->db_Units[unit].duh_BASE;
|
||||||
|
|
||||||
LONG ret;
|
LONG ret;
|
||||||
LONG phstat3;
|
LONG phstat3;
|
||||||
LONG phstat1;
|
LONG phstat1;
|
||||||
LONG phcon1;
|
LONG phcon1;
|
||||||
@@ -345,8 +366,8 @@ ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(
|
|||||||
phstat3 = enc624j6l_ReadPHY( boardbase, PHSTAT3 );
|
phstat3 = enc624j6l_ReadPHY( boardbase, PHSTAT3 );
|
||||||
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;
|
||||||
@@ -358,7 +379,7 @@ ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(
|
|||||||
if( phcon1 & PHCON1_ANEN ) /* autonegotiation enabled */
|
if( phcon1 & PHCON1_ANEN ) /* autonegotiation enabled */
|
||||||
ret |= HW_MAC_AUTONEGOTIATION;
|
ret |= HW_MAC_AUTONEGOTIATION;
|
||||||
|
|
||||||
phstat3 = (phstat3>>2)&7; /* get active Speed/Duplex */
|
phstat3 = (phstat3>>2)&7; /* get active Speed/Duplex */
|
||||||
switch( phstat3 )
|
switch( phstat3 )
|
||||||
{
|
{
|
||||||
case 6:
|
case 6:
|
||||||
@@ -385,6 +406,30 @@ ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* read PHY register */
|
||||||
|
ASM SAVEDS LONG hw_read_phy( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
|
ASMR(d0) ULONG unit ASMREG(d0),
|
||||||
|
ASMR(d1) ULONG reg ASMREG(d1) )
|
||||||
|
{
|
||||||
|
APTR boardbase = db->db_Units[unit].duh_BASE;
|
||||||
|
|
||||||
|
return enc624j6l_ReadPHY( boardbase, reg );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* write PHY register (return -1 in case of error) */
|
||||||
|
ASM SAVEDS LONG hw_write_phy( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
|
ASMR(d0) ULONG unit ASMREG(d0),
|
||||||
|
ASMR(d1) ULONG reg ASMREG(d1),
|
||||||
|
ASMR(d2) ULONG value ASMREG(d2) )
|
||||||
|
{
|
||||||
|
APTR boardbase = db->db_Units[unit].duh_BASE;
|
||||||
|
|
||||||
|
return enc624j6l_WritePHY( boardbase, reg, value );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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),
|
||||||
ASMR(a1) struct List *mcastlist ASMREG(a1) )
|
ASMR(a1) struct List *mcastlist ASMREG(a1) )
|
||||||
@@ -404,8 +449,6 @@ ASM SAVEDS LONG hw_change_multicast( ASMR(a0) DEVBASEP ASMREG(
|
|||||||
|
|
||||||
enc624j6l_bc_mc_filter(boardbase, flags );/* flags & (PIO_INIT_BROAD_CAST|PIO_INIT_MULTI_CAST) ); */
|
enc624j6l_bc_mc_filter(boardbase, flags );/* flags & (PIO_INIT_BROAD_CAST|PIO_INIT_MULTI_CAST) ); */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -417,7 +460,9 @@ void myhw_ControlInterrupts( DEVBASEP )
|
|||||||
|
|
||||||
ObtainSemaphore( &hwd->hwd_Sem ); /* redundant here: server is a single task -> but it looks good :-) */
|
ObtainSemaphore( &hwd->hwd_Sem ); /* redundant here: server is a single task -> but it looks good :-) */
|
||||||
|
|
||||||
flag = 0;
|
hwd->hwd_act_boards[0] = HW_MAGIC_WORD;
|
||||||
|
|
||||||
|
flag = 1;
|
||||||
for( i=0 ; i < db->db_NBoards ; i++ )
|
for( i=0 ; i < db->db_NBoards ; i++ )
|
||||||
{
|
{
|
||||||
if( db->db_Units[i].duh_online )
|
if( db->db_Units[i].duh_online )
|
||||||
@@ -431,7 +476,7 @@ void myhw_ControlInterrupts( DEVBASEP )
|
|||||||
hwd->hwd_act_boards[flag+2] = (APTR)hwd->hwd_IntSig; /* append sigbit */
|
hwd->hwd_act_boards[flag+2] = (APTR)hwd->hwd_IntSig; /* append sigbit */
|
||||||
hwd->hwd_act_boards[flag+3] = (APTR)db->db_SysBase; /* append ExecBase *((APTR*)0x4); */
|
hwd->hwd_act_boards[flag+3] = (APTR)db->db_SysBase; /* append ExecBase *((APTR*)0x4); */
|
||||||
|
|
||||||
if( flag ) /* determine on/off switch */
|
if( flag>1 ) /* determine on/off switch */
|
||||||
{
|
{
|
||||||
/* at least 1 board is online */
|
/* at least 1 board is online */
|
||||||
if( hwd->hwd_Interrupt.is_Data )
|
if( hwd->hwd_Interrupt.is_Data )
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
struct HWData {
|
struct HWData {
|
||||||
struct Interrupt hwd_Interrupt; /* keep the interrupt at top of HWData !! */
|
struct Interrupt hwd_Interrupt; /* keep the interrupt at top of HWData !! */
|
||||||
struct SignalSemaphore hwd_Sem; /* list locking (global per unit) */
|
struct SignalSemaphore hwd_Sem; /* list locking (global per unit) */
|
||||||
APTR hwd_act_boards[MAX_UNITS+1+3]; /* poll all active boards by ptr in interrupt, NULL terminated, followed by SigTask,Sigbit,ExecBase */
|
APTR hwd_act_boards[MAX_UNITS+1+3+1]; /* poll all active boards by ptr in interrupt, MAGIC_WORD INIT, NULL terminated, followed by SigTask,Sigbit,ExecBase */
|
||||||
|
|
||||||
ULONG hwd_SigMask; /* signal mask to wait for in server main instance */
|
ULONG hwd_SigMask; /* signal mask to wait for in server main instance */
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ struct devbase;
|
|||||||
#define HW_MACB_SPEEDS_END 18 /* this is the next free bit */
|
#define HW_MACB_SPEEDS_END 18 /* this is the next free bit */
|
||||||
#define HW_MAC_SPEEDSMASK ((1<<HW_MACB_SPEEDS_END)-4)
|
#define HW_MAC_SPEEDSMASK ((1<<HW_MACB_SPEEDS_END)-4)
|
||||||
#define HW_MAC_NEXTSPEED(_a_) ( (_a_)+2 )
|
#define HW_MAC_NEXTSPEED(_a_) ( (_a_)+2 )
|
||||||
|
#define HW_MAGIC_WORD 0xB00BDEED
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -94,10 +94,24 @@ ASM SAVEDS void hw_ConfigInit( ASMR(a0) DEVBASEP ASMREG(a0) )
|
|||||||
ASM SAVEDS void hw_ConfigUpdate( ASMR(a0) DEVBASEP ASMREG(a0),
|
ASM SAVEDS void hw_ConfigUpdate( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
ASMR(a1) void * ASMREG(a1) );
|
ASMR(a1) void * ASMREG(a1) );
|
||||||
|
|
||||||
|
/*
|
||||||
|
send a single frame to the hardware:
|
||||||
|
- either fully assembled frame (14 bytes DMAC,SMAC,TYPE followed by payload
|
||||||
|
- or payload in "frame" and 14 byte header in "header"
|
||||||
|
- provide Makefile-level definition of HW_DMA_TX in the latter case
|
||||||
|
|
||||||
|
- note: if you pass "header==NULL" with active HW_DMA_TX definition,
|
||||||
|
the hw_send_frame assumes the header to be present (SANA-II RAW frames) and
|
||||||
|
is handling "frame" as fully assembled frame
|
||||||
|
*/
|
||||||
ASM SAVEDS LONG hw_send_frame( ASMR(a0) DEVBASEP ASMREG(a0),
|
ASM SAVEDS LONG hw_send_frame( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
ASMR(d0) ULONG unit ASMREG(d0),
|
ASMR(d0) ULONG unit ASMREG(d0),
|
||||||
ASMR(a1) UBYTE *frame ASMREG(a1),
|
ASMR(a1) UBYTE *frame ASMREG(a1),
|
||||||
ASMR(d1) ULONG framesize ASMREG(d1) );
|
ASMR(d1) ULONG framesize ASMREG(d1)
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
,ASMR(a2) UBYTE *header ASMREG(a2)
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
|
||||||
ASM SAVEDS LONG hw_recv_frame( ASMR(a0) DEVBASEP ASMREG(a0),
|
ASM SAVEDS LONG hw_recv_frame( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
ASMR(d0) ULONG unit ASMREG(d0),
|
ASMR(d0) ULONG unit ASMREG(d0),
|
||||||
@@ -116,6 +130,18 @@ ASM SAVEDS LONG hw_change_multicast( ASMR(a0) DEVBASEP ASMREG(
|
|||||||
ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(a0),
|
ASM SAVEDS LONG hw_get_mac_status( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
ASMR(d0) ULONG unit ASMREG(d0) );
|
ASMR(d0) ULONG unit ASMREG(d0) );
|
||||||
|
|
||||||
|
/* read PHY register (return -1 in case of error) */
|
||||||
|
ASM SAVEDS LONG hw_read_phy( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
|
ASMR(d0) ULONG unit ASMREG(d0),
|
||||||
|
ASMR(d1) ULONG reg ASMREG(d1) );
|
||||||
|
|
||||||
|
/* write PHY register (return -1 in case of error) */
|
||||||
|
ASM SAVEDS LONG hw_write_phy( ASMR(a0) DEVBASEP ASMREG(a0),
|
||||||
|
ASMR(d0) ULONG unit ASMREG(d0),
|
||||||
|
ASMR(d1) ULONG reg ASMREG(d1),
|
||||||
|
ASMR(d2) ULONG value ASMREG(d2) );
|
||||||
|
|
||||||
|
|
||||||
/* kept this global for now: Z-II/Z-III boards share the same interrupt */
|
/* kept this global for now: Z-II/Z-III boards share the same interrupt */
|
||||||
ASM SAVEDS ULONG hw_recv_sigmask( ASMR(a0) DEVBASEP ASMREG(a0) );
|
ASM SAVEDS ULONG hw_recv_sigmask( ASMR(a0) DEVBASEP ASMREG(a0) );
|
||||||
|
|
||||||
|
|||||||
@@ -39,5 +39,5 @@ HW_MACB_SPEED5000 EQU 10
|
|||||||
HW_MACB_SPEED10000 EQU 12 ; Am I optimistic ?
|
HW_MACB_SPEED10000 EQU 12 ; Am I optimistic ?
|
||||||
HW_MACB_SPEEDS_END EQU 14 ; this is the next free bit
|
HW_MACB_SPEEDS_END EQU 14 ; this is the next free bit
|
||||||
HW_MAC_SPEEDSMASK EQU ((1<<HW_MACB_SPEEDS_END)-4)
|
HW_MAC_SPEEDSMASK EQU ((1<<HW_MACB_SPEEDS_END)-4)
|
||||||
|
HW_MAGIC_WORD EQU $B00BDEED
|
||||||
endc ;_INC_HW_I
|
endc ;_INC_HW_I
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
incdir include:
|
||||||
|
ifnd _LVOSupervisor
|
||||||
|
include exec/exec_lib.i
|
||||||
|
endc
|
||||||
|
include exec/execbase.i
|
||||||
|
|
||||||
|
ifnd _LVORawDoFmt
|
||||||
|
_LVORawDoFmt equ -$20a
|
||||||
|
endc
|
||||||
|
ifnd _LVORawPutChar
|
||||||
|
_LVORawPutChar equ -$204
|
||||||
|
_LVORawIOInit equ -$1f8
|
||||||
|
_LVORawMayGetChar equ -$1fe
|
||||||
|
endc
|
||||||
|
|
||||||
|
XDEF _KPrintF
|
||||||
|
|
||||||
|
;A0 = format
|
||||||
|
;A1 = arguments
|
||||||
|
_KPrintF:
|
||||||
|
ifd DEBUG
|
||||||
|
|
||||||
|
movem.l d0-d2/a0-a3/a6,-(sp)
|
||||||
|
|
||||||
|
move.l 4.w,a6
|
||||||
|
jsr _LVORawIOInit(a6) ;better safe than sorry
|
||||||
|
|
||||||
|
lea .kprintfproc(pc),a2
|
||||||
|
suba.l a3,a3 ;data pointer (0 here)
|
||||||
|
jsr _LVORawDoFmt(a6)
|
||||||
|
|
||||||
|
movem.l (sp)+,d0-d2/a0-a3/a6
|
||||||
|
rts
|
||||||
|
.kprintfproc:
|
||||||
|
movem.l d0/d1/a0/a1/a6,-(sp)
|
||||||
|
move.l 4.w,a6
|
||||||
|
jsr _LVORawPutChar(a6) ; move.b d0,(a3)+
|
||||||
|
movem.l (sp)+,d0/d1/a0/a1/a6
|
||||||
|
|
||||||
|
endc ;DEBUG
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,661 @@
|
|||||||
|
/*******************************************************************************************/
|
||||||
|
/** **/
|
||||||
|
/** miitool.c **/
|
||||||
|
/** SANA-II extension for access to Ethernet PHY registers over MII interface **/
|
||||||
|
/** **/
|
||||||
|
/** Copyright (c) 2019, Henryk Richter, Timm S. Müller **/
|
||||||
|
/** All rights reserved. **/
|
||||||
|
/** **/
|
||||||
|
/** Redistribution and use in source and binary forms, with or without **/
|
||||||
|
/** modification, are permitted provided that the following conditions are met: **/
|
||||||
|
/** 1. Redistributions of source code must retain the above copyright **/
|
||||||
|
/** notice, this list of conditions and the following disclaimer. **/
|
||||||
|
/** 2. Redistributions in binary form must reproduce the above copyright **/
|
||||||
|
/** notice, this list of conditions and the following disclaimer in the **/
|
||||||
|
/** documentation and/or other materials provided with the distribution. **/
|
||||||
|
/** 3. All advertising materials mentioning features or use of this software **/
|
||||||
|
/** must display the following acknowledgement: **/
|
||||||
|
/** This product includes software developed by Henryk Richter. **/
|
||||||
|
/** 4. Neither the name of the Henryk Richter nor the **/
|
||||||
|
/** names of its contributors may be used to endorse or promote products **/
|
||||||
|
/** derived from this software without specific prior written permission. **/
|
||||||
|
/** **/
|
||||||
|
/** THIS SOFTWARE IS PROVIDED BY Henryk Richter ''AS IS'' AND ANY **/
|
||||||
|
/** EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED **/
|
||||||
|
/** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE **/
|
||||||
|
/** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY **/
|
||||||
|
/** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES **/
|
||||||
|
/** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; **/
|
||||||
|
/** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND **/
|
||||||
|
/** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT **/
|
||||||
|
/** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS **/
|
||||||
|
/** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. **/
|
||||||
|
/** **/
|
||||||
|
/*******************************************************************************************/
|
||||||
|
/*
|
||||||
|
Notes:
|
||||||
|
- make sure you have an up-to-date devices/sana2devqueryext.h
|
||||||
|
- make sure you have devices/newstyle.h
|
||||||
|
- compilation
|
||||||
|
sc miitool.c link
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <proto/exec.h>
|
||||||
|
#include <proto/dos.h>
|
||||||
|
#include <proto/utility.h>
|
||||||
|
#include <devices/newstyle.h>
|
||||||
|
#include <devices/sana2.h>
|
||||||
|
#include <devices/sana2devqueryext.h>
|
||||||
|
#include "miitool.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define OPT_TEMPLATE "DEVICE=DEV/K,UNIT/K/N,VERBOSE=V/S,FORCEMEDIA/K,ADVERTISE/K,RENEG=RESTART/S,RESET/S,VERYVERBOSE=VV/S"
|
||||||
|
const char opt_template[] = OPT_TEMPLATE;
|
||||||
|
struct progopts {
|
||||||
|
BYTE *devname;
|
||||||
|
LONG *unit; /* unit to open */
|
||||||
|
ULONG verbose; /* verbose mode enabled */
|
||||||
|
BYTE *force; /* force media type */
|
||||||
|
BYTE *advertise; /* advertise specific types */
|
||||||
|
ULONG renegotiate; /* restart autonegotiation */
|
||||||
|
ULONG reset; /* reset MII */
|
||||||
|
ULONG vverbose; /* higher verbosity level */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct prgdata {
|
||||||
|
struct MsgPort *sana2devport;
|
||||||
|
struct IOSana2Req *sana2devio;
|
||||||
|
struct Device *sana2dev;
|
||||||
|
UBYTE devvalid;
|
||||||
|
struct progopts opts;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void end_prog( struct prgdata *prg )
|
||||||
|
{
|
||||||
|
if( prg->sana2devio )
|
||||||
|
{
|
||||||
|
if( prg->devvalid )
|
||||||
|
CloseDevice( (struct IORequest *)prg->sana2devio );
|
||||||
|
DeleteIORequest( (struct IORequest *)prg->sana2devio );
|
||||||
|
}
|
||||||
|
if( prg->sana2devport )
|
||||||
|
DeleteMsgPort( prg->sana2devport );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
note: call this only once at program startup
|
||||||
|
*/
|
||||||
|
LONG start_prog( struct prgdata *prg )
|
||||||
|
{
|
||||||
|
SHORT i;
|
||||||
|
UBYTE *t = (UBYTE*)prg;
|
||||||
|
for( i=0 ; i < sizeof( struct prgdata ) ; i++ )
|
||||||
|
*t++ = 0;
|
||||||
|
|
||||||
|
prg->sana2devport = CreateMsgPort();
|
||||||
|
if( !prg->sana2devport )
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
prg->sana2devio = (struct IOSana2Req *) CreateIORequest(
|
||||||
|
prg->sana2devport, sizeof(struct IOSana2Req));
|
||||||
|
if( !prg->sana2devio )
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
err:
|
||||||
|
end_prog( prg );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void clr_device( struct prgdata *prg )
|
||||||
|
{
|
||||||
|
if( !prg->devvalid )
|
||||||
|
return;
|
||||||
|
prg->devvalid = 0;
|
||||||
|
CloseDevice( (struct IORequest *)prg->sana2devio );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LONG get_device(struct prgdata *prg, BYTE *name, LONG unit )
|
||||||
|
{
|
||||||
|
if( !name )
|
||||||
|
return 0;
|
||||||
|
if( prg->devvalid ) /* close previously opened device */
|
||||||
|
clr_device( prg );
|
||||||
|
|
||||||
|
prg->devvalid = OpenDevice(name,unit,(struct IORequest *)prg->sana2devio,0) == 0;
|
||||||
|
if( !prg->devvalid )
|
||||||
|
{
|
||||||
|
Printf( "Cannot open %s unit %ld\n",(ULONG)name,unit );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static BOOL findcmd(struct NSDeviceQueryResult *nsdqr, UWORD cmd)
|
||||||
|
{
|
||||||
|
UWORD *p;
|
||||||
|
for (p = nsdqr->SupportedCommands; (*p); ++p)
|
||||||
|
if (*p == cmd)
|
||||||
|
return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
verify NSD support, SANA-II type, Device Query extension on previously opened device
|
||||||
|
*/
|
||||||
|
LONG probe_device( struct prgdata *prg )
|
||||||
|
{
|
||||||
|
struct IOStdReq *stdreq;
|
||||||
|
struct NSDeviceQueryResult nsdqr;
|
||||||
|
|
||||||
|
if( !prg )
|
||||||
|
return 0;
|
||||||
|
if( !prg->devvalid )
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
stdreq = (struct IOStdReq *)prg->sana2devio;
|
||||||
|
stdreq->io_Command = NSCMD_DEVICEQUERY;
|
||||||
|
stdreq->io_Flags = 0;
|
||||||
|
stdreq->io_Data = &nsdqr;
|
||||||
|
stdreq->io_Length = sizeof nsdqr;
|
||||||
|
if (DoIO((struct IORequest *) stdreq) != 0)
|
||||||
|
{
|
||||||
|
Printf("I/O error: no NewStyleDevice.\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nsdqr.DeviceType != NSDEVTYPE_SANA2)
|
||||||
|
{
|
||||||
|
Printf("Device is not a SANA-II device (type %ld, needed %ld\n).", (LONG)nsdqr.DeviceType, (LONG) NSDEVTYPE_SANA2);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!findcmd(&nsdqr, S2_DEVICEQUERYEXT))
|
||||||
|
{
|
||||||
|
Printf("Device does not support S2_DEVICEQUERYEXT.\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
const struct {
|
||||||
|
BYTE *name;
|
||||||
|
UWORD namelen;
|
||||||
|
UWORD value;
|
||||||
|
} media[] = {
|
||||||
|
/* The order through 100baseT4 matches bits in the BMSR */
|
||||||
|
{ "10baseT-HD", 10,MII_AN_10BASET_HD },
|
||||||
|
{ "10baseT-FD", 10,MII_AN_10BASET_FD },
|
||||||
|
{ "100baseTx-HD", 12,MII_AN_100BASETX_HD },
|
||||||
|
{ "100baseTx-FD", 12,MII_AN_100BASETX_FD },
|
||||||
|
{ "100baseT4", 9,MII_AN_100BASET4 },
|
||||||
|
{ "100baseTx", 9,MII_AN_100BASETX_FD | MII_AN_100BASETX_HD },
|
||||||
|
{ "10baseT", 7,MII_AN_10BASET_FD | MII_AN_10BASET_HD },
|
||||||
|
{ "100bTx", 6,MII_AN_100BASETX_FD | MII_AN_100BASETX_HD },
|
||||||
|
{ "10bT", 4,MII_AN_10BASET_FD | MII_AN_10BASET_HD },
|
||||||
|
};
|
||||||
|
#define NMEDIA (sizeof(media)/sizeof(media[0]))
|
||||||
|
|
||||||
|
void dump_mii_media( USHORT par, BOOL bestonly )
|
||||||
|
{
|
||||||
|
LONG i;
|
||||||
|
|
||||||
|
par >>= 5; /* get upper bits */
|
||||||
|
for( i=4 ; i >= 0 ; i-- )
|
||||||
|
{
|
||||||
|
if( par & (1<<i) )
|
||||||
|
{
|
||||||
|
Printf(" ");
|
||||||
|
Printf("%s",(ULONG)media[i].name);
|
||||||
|
if( bestonly )
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( par & (1<<5) )
|
||||||
|
Printf(" flow-control");
|
||||||
|
}
|
||||||
|
|
||||||
|
LONG parse_speedduplex( BYTE *parameters )
|
||||||
|
{
|
||||||
|
LONG i,res = 0;
|
||||||
|
BYTE *s;
|
||||||
|
|
||||||
|
if( !parameters )
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
s = parameters;
|
||||||
|
while( *s != 0 )
|
||||||
|
{
|
||||||
|
for( i=0 ; i < NMEDIA ; i++ )
|
||||||
|
if( Strnicmp( media[i].name, s, media[i].namelen ) == 0 )
|
||||||
|
break;
|
||||||
|
if( i==NMEDIA )
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
s += media[i].namelen;
|
||||||
|
res |= media[i].value;
|
||||||
|
|
||||||
|
/* skip " " and/or "," */
|
||||||
|
while( *s != 0 )
|
||||||
|
{
|
||||||
|
if( (*s==' ') || (*s==',') )
|
||||||
|
s++;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
err:
|
||||||
|
Printf("Invalid media specification %s\n",parameters);
|
||||||
|
Printf("Valid Arguments:\n");
|
||||||
|
for( i=0 ; i < NMEDIA ; i++ )
|
||||||
|
Printf("%s\n",media[i].name);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
note: this code assumes that "mii" has the register contents in natural
|
||||||
|
byte ordering. Also, the registers themselves shall be consecutive
|
||||||
|
in memory.
|
||||||
|
*/
|
||||||
|
int dump_mii( struct S2DevQueryMIIParam *mii, LONG length, LONG verbose )
|
||||||
|
{
|
||||||
|
USHORT bmcr,bmsr,advert,curlink;
|
||||||
|
LONG i;
|
||||||
|
|
||||||
|
bmcr = mii[MII_BMCR].Content;
|
||||||
|
bmsr = mii[MII_BMSR].Content;
|
||||||
|
advert = mii[MII_ANAR].Content;
|
||||||
|
curlink = mii[MII_ANLPAR].Content;
|
||||||
|
|
||||||
|
if( bmcr == 0xffff )
|
||||||
|
{
|
||||||
|
Printf("No MII transceiver found\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( bmcr & MII_BMCR_AN_ENA)
|
||||||
|
{
|
||||||
|
if( bmsr & MII_BMSR_AN_COMPLETE)
|
||||||
|
{
|
||||||
|
if( advert & curlink )
|
||||||
|
{
|
||||||
|
if( curlink & MII_AN_ACK )
|
||||||
|
Printf("negotiated ");
|
||||||
|
else Printf("no autonegotiation,");
|
||||||
|
dump_mii_media( advert & curlink, 1 );
|
||||||
|
Printf(", ");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Printf("autonegotiation failed, ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (bmcr & MII_BMCR_RESTART)
|
||||||
|
{
|
||||||
|
Printf("autonegotiation restarted, ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Printf("%s Mbit, %s duplex, ",
|
||||||
|
(bmcr & MII_BMCR_100MBIT) ? "100" : "10",
|
||||||
|
(bmcr & MII_BMCR_DUPLEX) ? "full" : "half" );
|
||||||
|
}
|
||||||
|
if( bmsr & MII_BMSR_LINK_VALID )
|
||||||
|
Printf("link ok");
|
||||||
|
else Printf("no link");
|
||||||
|
Printf("\n");
|
||||||
|
|
||||||
|
if( verbose > 1 )
|
||||||
|
{
|
||||||
|
Printf("PHY Registers:");
|
||||||
|
for( i=0 ; i < length/sizeof( struct S2DevQueryMIIParam ) ; i++ )
|
||||||
|
{
|
||||||
|
if(!(i%8))
|
||||||
|
Printf("\n");
|
||||||
|
if( mii[i].ID == S2_DEVQUERYEXT_MII_INVALID )
|
||||||
|
Printf("N/A ");
|
||||||
|
else
|
||||||
|
Printf("%04lx ",(LONG)(mii[i].Content));
|
||||||
|
}
|
||||||
|
Printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if( verbose )
|
||||||
|
{
|
||||||
|
Printf(" vendor %02lx:%02lx:%02lx, model %ld rev %ld\n",
|
||||||
|
(LONG)mii[2].Content>>10,
|
||||||
|
(LONG)(mii[2].Content>>2)&0xff,
|
||||||
|
(LONG)((mii[2].Content<<6)|(mii[3].Content>>10))&0xff,
|
||||||
|
(LONG)(mii[3].Content>>4)&0x3f,
|
||||||
|
(LONG)(mii[3].Content&0x0f)
|
||||||
|
);
|
||||||
|
Printf(" basic mode: ");
|
||||||
|
if( bmcr & MII_BMCR_RESET )
|
||||||
|
Printf("software reset, ");
|
||||||
|
if( bmcr & MII_BMCR_LOOPBACK )
|
||||||
|
Printf("loopback, ");
|
||||||
|
if( bmcr & MII_BMCR_ISOLATE )
|
||||||
|
Printf("isolate, ");
|
||||||
|
if( bmcr & MII_BMCR_COLTEST )
|
||||||
|
Printf("collision test, ");
|
||||||
|
if( bmcr & MII_BMCR_AN_ENA )
|
||||||
|
Printf("autonegotiation enabled\n");
|
||||||
|
else
|
||||||
|
Printf("%s Mbit, %s duplex\n",
|
||||||
|
(bmcr & MII_BMCR_100MBIT) ? "100" : "10",
|
||||||
|
(bmcr & MII_BMCR_DUPLEX) ? "full" : "half");
|
||||||
|
Printf(" basic status: ");
|
||||||
|
if( bmsr & MII_BMSR_AN_COMPLETE )
|
||||||
|
Printf("autonegotiation complete, ");
|
||||||
|
else if( bmcr & MII_BMCR_RESTART )
|
||||||
|
Printf("autonegotiation restarted, ");
|
||||||
|
if( bmsr & MII_BMSR_REMOTE_FAULT )
|
||||||
|
Printf(" remote fault, ");
|
||||||
|
Printf( (bmsr & MII_BMSR_LINK_VALID) ? "link ok" : "no link");
|
||||||
|
Printf("\n capabilities:");
|
||||||
|
dump_mii_media( bmsr >> 6, 0 );
|
||||||
|
Printf("\n advertising: ");
|
||||||
|
dump_mii_media( advert, 0 );
|
||||||
|
if( curlink & MII_AN_ABILITY_MASK )
|
||||||
|
{
|
||||||
|
Printf("\n link partner:");
|
||||||
|
dump_mii_media( curlink, 0 );
|
||||||
|
}
|
||||||
|
Printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Query consecutive set of MII registers from start to end (inclusive)
|
||||||
|
*/
|
||||||
|
LONG query_mii( struct prgdata *prg, struct S2DevQueryMIIParam *mii, LONG start, LONG end )
|
||||||
|
{
|
||||||
|
struct S2DevQueryMIIParam *miitmp;
|
||||||
|
struct S2DevQueryExtParam parm_mii;
|
||||||
|
struct TagItem tags[2];
|
||||||
|
LONG i;
|
||||||
|
|
||||||
|
/* MII specific */
|
||||||
|
parm_mii.Data = (APTR)mii;
|
||||||
|
parm_mii.Length = (end-start+1)*sizeof(struct S2DevQueryMIIParam);
|
||||||
|
parm_mii.Actual = 0;
|
||||||
|
|
||||||
|
for( i=start,miitmp=mii ; i <= end ; i++,miitmp++ ) /* MII standard register set: 8 */
|
||||||
|
{
|
||||||
|
miitmp->ID = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
tags[i=0].ti_Tag = S2_DevQueryExtGetMII;
|
||||||
|
tags[i++].ti_Data = (ULONG) &parm_mii;
|
||||||
|
tags[i ].ti_Tag = TAG_DONE;
|
||||||
|
|
||||||
|
prg->sana2devio->ios2_Req.io_Command = S2_DEVICEQUERYEXT;
|
||||||
|
prg->sana2devio->ios2_Data = tags;
|
||||||
|
prg->sana2devio->ios2_DataLength = sizeof(tags);
|
||||||
|
|
||||||
|
if( DoIO((struct IORequest *) prg->sana2devio ) != 0 )
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return parm_mii.Actual;
|
||||||
|
}
|
||||||
|
|
||||||
|
LONG write_mii( struct prgdata *prg, struct S2DevQueryMIIParam *mii, LONG num )
|
||||||
|
{
|
||||||
|
struct S2DevQueryExtParam parm_mii;
|
||||||
|
struct TagItem tags[2];
|
||||||
|
LONG i;
|
||||||
|
|
||||||
|
/* MII specific */
|
||||||
|
parm_mii.Data = (APTR)mii;
|
||||||
|
parm_mii.Length = (num)*sizeof(struct S2DevQueryMIIParam);
|
||||||
|
parm_mii.Actual = 0;
|
||||||
|
|
||||||
|
tags[i=0].ti_Tag = S2_DevQueryExtSetMII;
|
||||||
|
tags[i++].ti_Data = (ULONG) &parm_mii;
|
||||||
|
tags[i ].ti_Tag = TAG_DONE;
|
||||||
|
|
||||||
|
prg->sana2devio->ios2_Req.io_Command = S2_DEVICEQUERYEXT;
|
||||||
|
prg->sana2devio->ios2_Data = tags;
|
||||||
|
prg->sana2devio->ios2_DataLength = sizeof(tags);
|
||||||
|
|
||||||
|
if( DoIO((struct IORequest *) prg->sana2devio ) != 0 )
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return parm_mii.Actual;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 8 basic registers, we poll 16 out of curiosity */
|
||||||
|
#define MII_REGNUM 16
|
||||||
|
/* two spare registers for write mode */
|
||||||
|
#define MII_SPARE 2
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
struct prgdata _prg,*prg=&_prg;
|
||||||
|
int res = RETURN_FAIL;
|
||||||
|
char vendorname[128], productname[128];
|
||||||
|
struct S2DevQueryExtParam parm_productname;
|
||||||
|
struct S2DevQueryExtParam parm_vendorname;
|
||||||
|
struct S2DevQueryExtParam parm_mii;
|
||||||
|
struct S2DevQueryMIIParam mii[MII_REGNUM+MII_SPARE];
|
||||||
|
struct TagItem tags[3];
|
||||||
|
int i;
|
||||||
|
struct RDArgs *rdargs;
|
||||||
|
BYTE *name;
|
||||||
|
LONG unit,autoneg,force;
|
||||||
|
|
||||||
|
if( !start_prog(prg) )
|
||||||
|
return res;
|
||||||
|
|
||||||
|
if( !(rdargs = ReadArgs( (char*)opt_template,(LONG*)&prg->opts,NULL) ) )
|
||||||
|
{
|
||||||
|
Printf("Argument error\n");
|
||||||
|
end_prog(prg);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( !prg->opts.devname )
|
||||||
|
{
|
||||||
|
name = "enc624j6net.device";
|
||||||
|
Printf("TODO: auto-detect, now trying default %s\n",name);
|
||||||
|
/* end_prog(prg);
|
||||||
|
return res; */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
name = prg->opts.devname;
|
||||||
|
|
||||||
|
unit = (prg->opts.unit) ? *prg->opts.unit : 0;
|
||||||
|
if( prg->opts.vverbose )
|
||||||
|
prg->opts.verbose = 2;
|
||||||
|
else
|
||||||
|
if( prg->opts.verbose )
|
||||||
|
prg->opts.verbose = 1;
|
||||||
|
|
||||||
|
/* parameter check */
|
||||||
|
if( ( (prg->opts.force) && (prg->opts.renegotiate) ) ||
|
||||||
|
( (prg->opts.force) && (prg->opts.advertise) )
|
||||||
|
)
|
||||||
|
{
|
||||||
|
Printf("Error: Forced and Autonegotiation parameter mismatch\n");
|
||||||
|
end_prog(prg);
|
||||||
|
return RETURN_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* convert text to binary mask */
|
||||||
|
autoneg = parse_speedduplex( prg->opts.advertise );
|
||||||
|
force = parse_speedduplex( prg->opts.force );
|
||||||
|
if( (autoneg|force) < 0 )
|
||||||
|
{
|
||||||
|
end_prog(prg);
|
||||||
|
return RETURN_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( get_device( prg, name , unit ) )
|
||||||
|
{
|
||||||
|
if( probe_device( prg ) )
|
||||||
|
res = RETURN_OK;
|
||||||
|
}
|
||||||
|
if( res != RETURN_OK )
|
||||||
|
{
|
||||||
|
end_prog(prg);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* device open, query extension present, now query it */
|
||||||
|
{
|
||||||
|
/* general information */
|
||||||
|
parm_vendorname.Data = vendorname;
|
||||||
|
parm_vendorname.Length = sizeof(vendorname);
|
||||||
|
parm_vendorname.Actual = 0;
|
||||||
|
parm_productname.Data = productname;
|
||||||
|
parm_productname.Length = sizeof(productname);
|
||||||
|
parm_productname.Actual = 0;
|
||||||
|
#if 1
|
||||||
|
tags[i=0].ti_Tag = S2_DevQueryExtVendorName;
|
||||||
|
tags[i++].ti_Data = (ULONG) &parm_vendorname;
|
||||||
|
tags[i ].ti_Tag = S2_DevQueryExtProductName;
|
||||||
|
tags[i++].ti_Data = (ULONG) &parm_productname;
|
||||||
|
tags[i ].ti_Tag = TAG_DONE;
|
||||||
|
|
||||||
|
prg->sana2devio->ios2_Req.io_Command = S2_DEVICEQUERYEXT;
|
||||||
|
prg->sana2devio->ios2_Data = tags;
|
||||||
|
prg->sana2devio->ios2_DataLength = sizeof(tags);
|
||||||
|
|
||||||
|
DoIO( (struct IORequest *)prg->sana2devio );
|
||||||
|
|
||||||
|
/* separate query subroutine in here for MII, though not
|
||||||
|
absolutely necessary (MII is queried more than once) */
|
||||||
|
parm_mii.Actual = query_mii( prg, mii, 0, 15 );
|
||||||
|
if( parm_mii.Actual )
|
||||||
|
{
|
||||||
|
/* read BMSR twice */
|
||||||
|
query_mii( prg, mii+MII_BMSR, MII_BMSR, MII_BMSR );
|
||||||
|
res = RETURN_OK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
res = RETURN_WARN;
|
||||||
|
#else
|
||||||
|
/* MII specific */
|
||||||
|
parm_mii.Data = (APTR)mii;
|
||||||
|
parm_mii.Length = sizeof(mii);
|
||||||
|
parm_mii.Actual = 0;
|
||||||
|
|
||||||
|
for( i=0 ; i < 16 ; i++ ) /* MII standard register set: 8 */
|
||||||
|
{
|
||||||
|
mii[i].ID = i; /* mii[i].Content = 0; */
|
||||||
|
}
|
||||||
|
mii[16].ID = MII_BMSR; /* read BMSR twice */
|
||||||
|
|
||||||
|
tags[i=0].ti_Tag = S2_DevQueryExtVendorName;
|
||||||
|
tags[i++].ti_Data = (ULONG) &parm_vendorname;
|
||||||
|
tags[i ].ti_Tag = S2_DevQueryExtProductName;
|
||||||
|
tags[i++].ti_Data = (ULONG) &parm_productname;
|
||||||
|
tags[i ].ti_Tag = S2_DevQueryExtGetMII;
|
||||||
|
tags[i++].ti_Data = (ULONG) &parm_mii;
|
||||||
|
tags[i ].ti_Tag = TAG_DONE;
|
||||||
|
|
||||||
|
prg->sana2devio->ios2_Req.io_Command = S2_DEVICEQUERYEXT;
|
||||||
|
prg->sana2devio->ios2_Data = tags;
|
||||||
|
prg->sana2devio->ios2_DataLength = sizeof tags;
|
||||||
|
|
||||||
|
if( DoIO((struct IORequest *) prg->sana2devio ) != 0 )
|
||||||
|
res = RETURN_WARN;
|
||||||
|
else res = RETURN_OK;
|
||||||
|
|
||||||
|
mii[MII_BMSR].Content = mii[16].Content; /* read BMSR twice */
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
Printf("Device: %s\n",name);
|
||||||
|
/* general info */
|
||||||
|
if( parm_vendorname.Actual != 0 )
|
||||||
|
{
|
||||||
|
vendorname[parm_vendorname.Actual-1] = 0;
|
||||||
|
Printf("Vendor: %s\n",vendorname);
|
||||||
|
}
|
||||||
|
if( parm_productname.Actual != 0 )
|
||||||
|
{
|
||||||
|
productname[parm_productname.Actual-1] = 0;
|
||||||
|
Printf("Product: %s\n",productname);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* after query, see what we've got */
|
||||||
|
if( res == RETURN_OK )
|
||||||
|
{
|
||||||
|
/* MII data */
|
||||||
|
if( parm_mii.Actual == 0 )
|
||||||
|
{
|
||||||
|
Printf("Unable to query MII data.\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( !(prg->opts.renegotiate) && !(prg->opts.reset)
|
||||||
|
&& !(prg->opts.advertise) && !(prg->opts.force)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
Printf("Active Parameters:\n");
|
||||||
|
dump_mii( mii, parm_mii.Actual, prg->opts.verbose );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if( prg->opts.reset )
|
||||||
|
{
|
||||||
|
Printf("resetting the transceiver...\n");
|
||||||
|
mii[MII_REGNUM].ID = MII_BMCR;
|
||||||
|
mii[MII_REGNUM].Content = MII_BMCR_RESET;
|
||||||
|
write_mii( prg, &mii[MII_REGNUM], 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if( prg->opts.advertise )
|
||||||
|
{
|
||||||
|
mii[MII_REGNUM].ID = MII_ANAR;
|
||||||
|
mii[MII_REGNUM].Content = autoneg|1;
|
||||||
|
write_mii( prg, &mii[MII_REGNUM], 1 );
|
||||||
|
prg->opts.renegotiate = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( prg->opts.renegotiate )
|
||||||
|
{
|
||||||
|
Printf("restarting autonegotiation...\n");
|
||||||
|
|
||||||
|
mii[MII_REGNUM].ID = MII_BMCR;
|
||||||
|
mii[MII_REGNUM].Content = 0x0000;
|
||||||
|
write_mii( prg, &mii[MII_REGNUM], 1 );
|
||||||
|
|
||||||
|
mii[MII_REGNUM].ID = MII_BMCR;
|
||||||
|
mii[MII_REGNUM].Content = MII_BMCR_AN_ENA|MII_BMCR_RESTART;
|
||||||
|
write_mii( prg, &mii[MII_REGNUM], 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if( prg->opts.force )
|
||||||
|
{
|
||||||
|
UWORD bmcr = 0;
|
||||||
|
if( force & (MII_AN_100BASETX_FD|MII_AN_100BASETX_HD))
|
||||||
|
bmcr |= MII_BMCR_100MBIT;
|
||||||
|
if( force & (MII_AN_100BASETX_FD|MII_AN_10BASET_FD))
|
||||||
|
bmcr |= MII_BMCR_DUPLEX;
|
||||||
|
|
||||||
|
mii[MII_REGNUM].ID = MII_BMCR;
|
||||||
|
mii[MII_REGNUM].Content = bmcr;
|
||||||
|
write_mii( prg, &mii[MII_REGNUM], 1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
end_prog(prg);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
/*******************************************************************************************/
|
||||||
|
/** **/
|
||||||
|
/** miitool.h **/
|
||||||
|
/** definitions for PHY registers **/
|
||||||
|
/** **/
|
||||||
|
/** Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org **/
|
||||||
|
/** **/
|
||||||
|
/** origin: mii.h in net-tools-1.60 **/
|
||||||
|
/** **/
|
||||||
|
/*******************************************************************************************/
|
||||||
|
#ifndef _INC_MIITOOL_H
|
||||||
|
#define _INC_MIITOOL_H
|
||||||
|
|
||||||
|
/* Basic Mode Control Register */
|
||||||
|
#define MII_BMCR 0x00
|
||||||
|
#define MII_BMCR_RESET 0x8000
|
||||||
|
#define MII_BMCR_LOOPBACK 0x4000
|
||||||
|
#define MII_BMCR_100MBIT 0x2000
|
||||||
|
#define MII_BMCR_AN_ENA 0x1000
|
||||||
|
#define MII_BMCR_ISOLATE 0x0400
|
||||||
|
#define MII_BMCR_RESTART 0x0200
|
||||||
|
#define MII_BMCR_DUPLEX 0x0100
|
||||||
|
#define MII_BMCR_COLTEST 0x0080
|
||||||
|
|
||||||
|
/* Basic Mode Status Register */
|
||||||
|
#define MII_BMSR 0x01
|
||||||
|
#define MII_BMSR_CAP_MASK 0xf800
|
||||||
|
#define MII_BMSR_100BASET4 0x8000
|
||||||
|
#define MII_BMSR_100BASETX_FD 0x4000
|
||||||
|
#define MII_BMSR_100BASETX_HD 0x2000
|
||||||
|
#define MII_BMSR_10BASET_FD 0x1000
|
||||||
|
#define MII_BMSR_10BASET_HD 0x0800
|
||||||
|
#define MII_BMSR_NO_PREAMBLE 0x0040
|
||||||
|
#define MII_BMSR_AN_COMPLETE 0x0020
|
||||||
|
#define MII_BMSR_REMOTE_FAULT 0x0010
|
||||||
|
#define MII_BMSR_AN_ABLE 0x0008
|
||||||
|
#define MII_BMSR_LINK_VALID 0x0004
|
||||||
|
#define MII_BMSR_JABBER 0x0002
|
||||||
|
#define MII_BMSR_EXT_CAP 0x0001
|
||||||
|
|
||||||
|
#define MII_PHY_ID1 0x02
|
||||||
|
#define MII_PHY_ID2 0x03
|
||||||
|
|
||||||
|
/* Auto-Negotiation Advertisement Register */
|
||||||
|
#define MII_ANAR 0x04
|
||||||
|
/* Auto-Negotiation Link Partner Ability Register */
|
||||||
|
#define MII_ANLPAR 0x05
|
||||||
|
#define MII_AN_NEXT_PAGE 0x8000
|
||||||
|
#define MII_AN_ACK 0x4000
|
||||||
|
#define MII_AN_REMOTE_FAULT 0x2000
|
||||||
|
#define MII_AN_ABILITY_MASK 0x07e0
|
||||||
|
#define MII_AN_FLOW_CONTROL 0x0400
|
||||||
|
#define MII_AN_100BASET4 0x0200
|
||||||
|
#define MII_AN_100BASETX_FD 0x0100
|
||||||
|
#define MII_AN_100BASETX_HD 0x0080
|
||||||
|
#define MII_AN_10BASET_FD 0x0040
|
||||||
|
#define MII_AN_10BASET_HD 0x0020
|
||||||
|
#define MII_AN_PROT_MASK 0x001f
|
||||||
|
#define MII_AN_PROT_802_3 0x0001
|
||||||
|
|
||||||
|
/* Auto-Negotiation Expansion Register */
|
||||||
|
#define MII_ANER 0x06
|
||||||
|
#define MII_ANER_MULT_FAULT 0x0010
|
||||||
|
#define MII_ANER_LP_NP_ABLE 0x0008
|
||||||
|
#define MII_ANER_NP_ABLE 0x0004
|
||||||
|
#define MII_ANER_PAGE_RX 0x0002
|
||||||
|
#define MII_ANER_LP_AN_ABLE 0x0001
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _INC_MIITOOL_H */
|
||||||
@@ -36,21 +36,20 @@ extern const BYTE DeviceName[];
|
|||||||
#define HW_INTERVALDEF 10000
|
#define HW_INTERVALDEF 10000
|
||||||
#define HW_DEFSPI 2
|
#define HW_DEFSPI 2
|
||||||
|
|
||||||
|
|
||||||
/* these calls might not run within the context of a process and
|
/* these calls might not run within the context of a process and
|
||||||
will be called from varying tasks and without prior init:
|
will be called from varying tasks and without prior init:
|
||||||
hw_Find_Boards()
|
hw_Find_Boards() - this one just identifies available HW and returns #boards
|
||||||
hw_AllocBoard()
|
hw_AllocBoard()
|
||||||
hw_ReleaseBoard()
|
hw_ReleaseBoard()
|
||||||
hw_GetMacAddress()
|
hw_GetMacAddress() - get default MAC address from board
|
||||||
|
|
||||||
these calls are in the context of the server task:
|
these calls are in the context of the server task:
|
||||||
hw_Setup() - general init (board allocated already)
|
hw_Setup() - general init (board allocated already)
|
||||||
hw_Shutdown() - general shutdown (board still allocated)
|
hw_Shutdown() - general shutdown (board still allocated)
|
||||||
hw_Attach() - make hardware ready for action (online)
|
hw_Attach() - make hardware ready for action (online)
|
||||||
hw_Detach() - put hardware into sleep mode (offline)
|
hw_Detach() - put hardware into sleep mode (offline)
|
||||||
|
|
||||||
hw_recv_sigmask() - get signals for hardware (if any)
|
hw_recv_sigmask() - get signals for hardware (if any, i.e. signal on interrupt)
|
||||||
hw_recv_pending() - check for pending receive frames
|
hw_recv_pending() - check for pending receive frames
|
||||||
|
|
||||||
hw_recv_frame() - receive one frame
|
hw_recv_frame() - receive one frame
|
||||||
@@ -59,10 +58,14 @@ extern const BYTE DeviceName[];
|
|||||||
and apply them (called only when no RX/TX
|
and apply them (called only when no RX/TX
|
||||||
in progress)
|
in progress)
|
||||||
|
|
||||||
hw_config_init() - set defaults for HW
|
hw_ConfigInit() - set defaults for HW
|
||||||
hw_config_update() - update config of HW
|
hw_ConfigUpdate() - update config of HW
|
||||||
|
|
||||||
|
hw_change_multicast - re-initialize multicast filter for new address list
|
||||||
|
hw_get_mac_status() - running parameters (optional), S2_DEVICEQUERYEXT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef PROTO_V2EXPNET
|
#ifdef PROTO_V2EXPNET
|
||||||
#define USE_INTERRUPT
|
#define USE_INTERRUPT
|
||||||
|
|
||||||
|
|||||||
+143
-12
@@ -35,9 +35,12 @@ static LONG server_queryext( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq );
|
|||||||
*/
|
*/
|
||||||
#define S2QUERYEXT_NOLENGTHCHECK
|
#define S2QUERYEXT_NOLENGTHCHECK
|
||||||
|
|
||||||
/* this limits the number of write requests per run, also improves
|
/* tunables: number of one-call read and write requests */
|
||||||
Roadshow performance when active */
|
/* this limits the number of processed write requests per run when enabled */
|
||||||
#define ONE_WRITE_REQ
|
#define ONE_WRITE_REQ 2
|
||||||
|
/* this limits the number of processed read requests per run when enabled */
|
||||||
|
#define ONE_READ_REQ 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (avoid external link libraries) this call is not time critical */
|
/* (avoid external link libraries) this call is not time critical */
|
||||||
@@ -570,6 +573,67 @@ static LONG server_queryext( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef S2_DevQueryExtGetMII
|
||||||
|
tval = GetTagData( S2_DevQueryExtGetMII, 0, tlist );
|
||||||
|
if( tval )
|
||||||
|
{
|
||||||
|
struct S2DevQueryMIIParam *miip;
|
||||||
|
LONG res;
|
||||||
|
LONG curidx=0,lastidx = 0;
|
||||||
|
|
||||||
|
D(("MII Register Query"));
|
||||||
|
|
||||||
|
s2qep = (struct S2DevQueryExtParam *)tval;
|
||||||
|
len = s2qep->Length; /* in Bytes */
|
||||||
|
miip = (struct S2DevQueryMIIParam *)s2qep->Data;
|
||||||
|
|
||||||
|
while( curidx <= len-sizeof( struct S2DevQueryMIIParam ) )
|
||||||
|
{
|
||||||
|
if( (res = hw_read_phy( db, unit, miip->ID )) >= 0 )
|
||||||
|
{
|
||||||
|
miip->Content = res;
|
||||||
|
lastidx = curidx;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ /* can't read register ID, invalidate */
|
||||||
|
miip->ID = S2_DEVQUERYEXT_MII_INVALID;
|
||||||
|
miip->Content = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
miip++;
|
||||||
|
curidx += sizeof( struct S2DevQueryMIIParam );
|
||||||
|
}
|
||||||
|
s2qep->Actual = lastidx;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef S2_DevQueryExtSetMII
|
||||||
|
tval = GetTagData( S2_DevQueryExtSetMII, 0, tlist );
|
||||||
|
if( tval )
|
||||||
|
{
|
||||||
|
struct S2DevQueryMIIParam *miip;
|
||||||
|
LONG res;
|
||||||
|
LONG curidx=0,lastidx = 0;
|
||||||
|
|
||||||
|
D(("MII Register Write"));
|
||||||
|
|
||||||
|
s2qep = (struct S2DevQueryExtParam *)tval;
|
||||||
|
len = s2qep->Length; /* in Bytes */
|
||||||
|
miip = (struct S2DevQueryMIIParam *)s2qep->Data;
|
||||||
|
|
||||||
|
while( curidx <= len-sizeof( struct S2DevQueryMIIParam ) )
|
||||||
|
{
|
||||||
|
if( miip->ID != S2_DEVQUERYEXT_MII_INVALID )
|
||||||
|
{
|
||||||
|
if( (res = hw_write_phy( db, unit, miip->ID, miip->Content )) >= 0 )
|
||||||
|
lastidx = curidx;
|
||||||
|
|
||||||
|
miip++;
|
||||||
|
curidx += sizeof( struct S2DevQueryMIIParam );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s2qep->Actual = lastidx;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -632,20 +696,34 @@ LONG server_writeerror( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq, LONG cod
|
|||||||
|
|
||||||
|
|
||||||
#ifndef EXTERNAL_WRITE_FRAME
|
#ifndef EXTERNAL_WRITE_FRAME
|
||||||
/* note: entering here with locked semaphore */
|
/*
|
||||||
|
note: entering here with locked semaphore
|
||||||
|
note(2): HW_DMA_TX is maybe a little misleading in it's actual use here.
|
||||||
|
This implementation will use that SANA-II capability in the following
|
||||||
|
way: Obtain a pointer to either the whole frame (RAW) or the Payload
|
||||||
|
and send either a complete frame or two chunks down to the hardware.
|
||||||
|
HW_DMA_TX is defined by the Makefile. One of the chunks
|
||||||
|
is the constant-size header (14 Bytes) and the other is the payload.
|
||||||
|
*/
|
||||||
static LONG write_frame( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq )
|
static LONG write_frame( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq )
|
||||||
{
|
{
|
||||||
LONG ret;/* = SERR_OK;*/
|
LONG ret;/* = SERR_OK;*/
|
||||||
UBYTE *copy_ptr,*frame;
|
UBYTE *copy_ptr,*frame;
|
||||||
ULONG framesize;
|
ULONG framesize;
|
||||||
struct db_BufferManagement *dbm;
|
struct db_BufferManagement *dbm;
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
UBYTE *header_ptr;
|
||||||
|
#endif
|
||||||
|
|
||||||
D(("write: type %08lx, size %ld\n",ioreq->ios2_PacketType,
|
D(("write: type %08lx, size %ld\n",ioreq->ios2_PacketType,
|
||||||
ioreq->ios2_DataLength));
|
ioreq->ios2_DataLength));
|
||||||
|
|
||||||
frame = db->db_svdat.sv_frame;
|
frame = db->db_svdat.sv_frame;
|
||||||
framesize = ioreq->ios2_DataLength;
|
framesize = ioreq->ios2_DataLength;
|
||||||
copy_ptr = frame;
|
copy_ptr = frame;
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
header_ptr= NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* copy raw frame: simply overwrite ethernet frame part of plip packet */
|
/* copy raw frame: simply overwrite ethernet frame part of plip packet */
|
||||||
if( !(ioreq->ios2_Req.io_Flags & SANA2IOF_RAW) )
|
if( !(ioreq->ios2_Req.io_Flags & SANA2IOF_RAW) )
|
||||||
@@ -653,18 +731,46 @@ static LONG write_frame( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq )
|
|||||||
COPYMAC( frame, ioreq->ios2_DstAddr ); /* macro in server.h */
|
COPYMAC( frame, ioreq->ios2_DstAddr ); /* macro in server.h */
|
||||||
COPYMAC( frame+6, db->db_Units[unit].du_CFGAddr );
|
COPYMAC( frame+6, db->db_Units[unit].du_CFGAddr );
|
||||||
*( (USHORT*)(frame+12)) = ioreq->ios2_PacketType;
|
*( (USHORT*)(frame+12)) = ioreq->ios2_PacketType;
|
||||||
copy_ptr += 14;
|
#ifdef HW_DMA_TX
|
||||||
|
header_ptr = frame;
|
||||||
|
copy_ptr += 16; /* aligned behind header with a gap of 2 */
|
||||||
|
#else
|
||||||
|
copy_ptr += 14;
|
||||||
framesize += 14;
|
framesize += 14;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
dbm = (struct db_BufferManagement *)ioreq->ios2_BufferManagement;
|
dbm = (struct db_BufferManagement *)ioreq->ios2_BufferManagement;
|
||||||
|
|
||||||
/* copy32 is valid ptr, even if the stack offers only regular CopyFromBuffer */
|
/* #if 0 */
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
/* hw implementation supports it, now check if we can use DMA copy buffer */
|
||||||
|
if( dbm->dbm_CopyFromBufferDMA )
|
||||||
|
{
|
||||||
|
UBYTE *dma_ptr;
|
||||||
|
|
||||||
|
dma_ptr = (UBYTE*)(*dbm->dbm_CopyFromBufferDMA)( ioreq->ios2_Data, NULL, 0 );
|
||||||
|
if( dma_ptr )
|
||||||
|
{
|
||||||
|
/* pass extra header if not raw */
|
||||||
|
hw_send_frame(db, unit, dma_ptr,framesize, header_ptr );
|
||||||
|
|
||||||
|
ret = SERR_OK; /* FIXME: error code */
|
||||||
|
goto dmasend_done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* copy32 is a valid ptr, even if the stack offers only regular CopyFromBuffer */
|
||||||
if( (*dbm->dbm_CopyFromBuffer32)(copy_ptr,ioreq->ios2_Data, ioreq->ios2_DataLength) )
|
if( (*dbm->dbm_CopyFromBuffer32)(copy_ptr,ioreq->ios2_Data, ioreq->ios2_DataLength) )
|
||||||
{
|
{
|
||||||
send:
|
send:
|
||||||
D(("+hw_send\n"));
|
D(("+hw_send\n"));
|
||||||
ret = hw_send_frame(db, unit, frame, framesize) ? SERR_OK : SERR_ERROR;
|
#ifdef HW_DMA_TX
|
||||||
|
ret = hw_send_frame(db, unit, copy_ptr, framesize, header_ptr ) ? SERR_OK:SERR_ERROR;
|
||||||
|
#else
|
||||||
|
ret = hw_send_frame(db, unit, frame, framesize ) ? SERR_OK : SERR_ERROR;
|
||||||
|
#endif
|
||||||
D(("-hw_send\n"));
|
D(("-hw_send\n"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -676,6 +782,10 @@ send:
|
|||||||
ret = SERR_BUFFER_ERROR;
|
ret = SERR_BUFFER_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HW_DMA_TX
|
||||||
|
dmasend_done:
|
||||||
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -684,17 +794,20 @@ send:
|
|||||||
static LONG server_writequeue( DEVBASEP, ULONG unit )
|
static LONG server_writequeue( DEVBASEP, ULONG unit )
|
||||||
{
|
{
|
||||||
LONG code;
|
LONG code;
|
||||||
|
#ifdef ONE_WRITE_REQ
|
||||||
|
LONG t = 0;
|
||||||
|
#endif
|
||||||
struct IOSana2Req *ioreq,*nextio;
|
struct IOSana2Req *ioreq,*nextio;
|
||||||
|
|
||||||
ObtainSemaphore( &db->db_Units[unit].du_Sem );
|
ObtainSemaphore( &db->db_Units[unit].du_Sem );
|
||||||
|
|
||||||
#if 1 /* #ifdef ONE_WRITE_REQ */
|
#if 1
|
||||||
/* whole queue per call */
|
/* whole queue per call */
|
||||||
for( ioreq = (struct IOSana2Req *)db->db_Units[unit].du_WriteQueue.lh_Head;
|
for( ioreq = (struct IOSana2Req *)db->db_Units[unit].du_WriteQueue.lh_Head;
|
||||||
(nextio= (struct IOSana2Req *)ioreq->ios2_Req.io_Message.mn_Node.ln_Succ);
|
(nextio= (struct IOSana2Req *)ioreq->ios2_Req.io_Message.mn_Node.ln_Succ);
|
||||||
ioreq = nextio )
|
ioreq = nextio )
|
||||||
#else
|
#else
|
||||||
/* single write per call */
|
/* single write per call (deprecated in favor of ONE_WRITE_REQ) */
|
||||||
ioreq = (struct IOSana2Req *)db->db_Units[unit].du_WriteQueue.lh_Head;
|
ioreq = (struct IOSana2Req *)db->db_Units[unit].du_WriteQueue.lh_Head;
|
||||||
if( ioreq->ios2_Req.io_Message.mn_Node.ln_Succ )
|
if( ioreq->ios2_Req.io_Message.mn_Node.ln_Succ )
|
||||||
#endif
|
#endif
|
||||||
@@ -731,8 +844,13 @@ static LONG server_writequeue( DEVBASEP, ULONG unit )
|
|||||||
server_writeerror( db, unit, ioreq, code );
|
server_writeerror( db, unit, ioreq, code );
|
||||||
}
|
}
|
||||||
#ifdef ONE_WRITE_REQ
|
#ifdef ONE_WRITE_REQ
|
||||||
if( hw_recv_pending(db,unit) )
|
t++;
|
||||||
|
if( t >= ONE_WRITE_REQ ) /* this somewhat balances hardware polling overhead vs. IP-stack timing */
|
||||||
|
{
|
||||||
|
t = 0;
|
||||||
|
if( hw_recv_pending(db,unit) )
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -817,6 +935,9 @@ static LONG server_readqueue( DEVBASEP, ULONG unit )
|
|||||||
LONG framesize;
|
LONG framesize;
|
||||||
LONG frametype;
|
LONG frametype;
|
||||||
LONG dropflag;
|
LONG dropflag;
|
||||||
|
#ifdef ONE_READ_REQ
|
||||||
|
LONG t=0;
|
||||||
|
#endif
|
||||||
|
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
@@ -895,7 +1016,17 @@ nextframe:
|
|||||||
/* TODO: check for error, send S2EVENT_HARDWARE|S2EVENT_ERROR|S2EVENT_RX along with stats db_DevStats.BadData */
|
/* TODO: check for error, send S2EVENT_HARDWARE|S2EVENT_ERROR|S2EVENT_RX along with stats db_DevStats.BadData */
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
#ifdef ONE_READ_REQ
|
||||||
|
t++;
|
||||||
|
if( t>= ONE_READ_REQ )
|
||||||
|
{
|
||||||
|
struct IOSana2Req *wr = (struct IOSana2Req *)db->db_Units[unit].du_WriteQueue.lh_Head;
|
||||||
|
/* t=0; */
|
||||||
|
if( wr->ios2_Req.io_Message.mn_Node.ln_Succ )
|
||||||
|
goto end; /* pending writes ? -> leave after ONE_READ_REQ requests */
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
} /* while(1) */
|
||||||
end:
|
end:
|
||||||
return SERR_OK;
|
return SERR_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,8 +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 = -DPROTO_V2EXPNET
|
DEFINES1 = DEFINE HW_DMA_TX=1
|
||||||
#ASMDEFS = -DPROTO_V2EXPNET
|
ASMDEFS1 = -DHW_DMA_TX=1
|
||||||
#CPU = 68020
|
#CPU = 68020
|
||||||
|
|
||||||
|
|
||||||
@@ -98,6 +98,8 @@ DEFINES = $(DEFINES) DEFINE DEVICENAME=$(DEVICEID)
|
|||||||
ASMDEFS = $(ASMDEFS1)
|
ASMDEFS = $(ASMDEFS1)
|
||||||
#-DDEVICEVERSION=$(DEVICEVERSION) -DDEVICEREVISION=$(DEVICEREVISION)
|
#-DDEVICEVERSION=$(DEVICEVERSION) -DDEVICEREVISION=$(DEVICEREVISION)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
# debug
|
# debug
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
#define _INC_VERSION_H
|
#define _INC_VERSION_H
|
||||||
|
|
||||||
#define DEVICEVERSION 2
|
#define DEVICEVERSION 2
|
||||||
#define DEVICEREVISION 0
|
#define DEVICEREVISION 1
|
||||||
#define DEVICEEXTRA
|
#define DEVICEEXTRA
|
||||||
/* #define DEVICEEXTRA Beta */
|
/* #define DEVICEEXTRA Beta */
|
||||||
#define DEVICEDATE 13.01.2019
|
#define DEVICEDATE 21.02.2019
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGC" xil_pn:name="LAN_IDE_CP.ngc"/>
|
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGC" xil_pn:name="LAN_IDE_CP.ngc"/>
|
||||||
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGD" xil_pn:name="LAN_IDE_CP.ngd"/>
|
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGD" xil_pn:name="LAN_IDE_CP.ngd"/>
|
||||||
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGR" xil_pn:name="LAN_IDE_CP.ngr"/>
|
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGR" xil_pn:name="LAN_IDE_CP.ngr"/>
|
||||||
|
<file xil_pn:fileType="FILE_PAD_MISC" xil_pn:name="LAN_IDE_CP.pad"/>
|
||||||
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PNX" xil_pn:name="LAN_IDE_CP.pnx"/>
|
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PNX" xil_pn:name="LAN_IDE_CP.pnx"/>
|
||||||
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="LAN_IDE_CP.prj"/>
|
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="LAN_IDE_CP.prj"/>
|
||||||
<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"/>
|
||||||
@@ -42,9 +43,11 @@
|
|||||||
<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"/>
|
||||||
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST" xil_pn:name="LAN_IDE_CP.xst"/>
|
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST" xil_pn:name="LAN_IDE_CP.xst"/>
|
||||||
|
<file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="LAN_IDE_CP_build.xml"/>
|
||||||
<file xil_pn:fileType="FILE_HTML" xil_pn:name="LAN_IDE_CP_envsettings.html"/>
|
<file xil_pn:fileType="FILE_HTML" xil_pn:name="LAN_IDE_CP_envsettings.html"/>
|
||||||
<file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="LAN_IDE_CP_html"/>
|
<file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="LAN_IDE_CP_html"/>
|
||||||
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="LAN_IDE_CP_ngdbuild.xrpt"/>
|
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="LAN_IDE_CP_ngdbuild.xrpt"/>
|
||||||
|
<file xil_pn:fileType="FILE_PAD_EXCEL_REPORT" xil_pn:name="LAN_IDE_CP_pad.csv"/>
|
||||||
<file xil_pn:fileType="FILE_HTML" xil_pn:name="LAN_IDE_CP_summary.html"/>
|
<file xil_pn:fileType="FILE_HTML" xil_pn:name="LAN_IDE_CP_summary.html"/>
|
||||||
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="LAN_IDE_CP_vhdl.prj"/>
|
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="LAN_IDE_CP_vhdl.prj"/>
|
||||||
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="LAN_IDE_CP_xst.xrpt"/>
|
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="LAN_IDE_CP_xst.xrpt"/>
|
||||||
@@ -65,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="1551390224" xil_pn:in_ck="-2520376148396271922" xil_pn:name="TRANEXT_xstsynthesize_xc9500xl" xil_pn:prop_ck="1235887333676579674" xil_pn:start_ts="1551390212">
|
<transform xil_pn:end_ts="1551994116" xil_pn:in_ck="-2520376148396271922" xil_pn:name="TRANEXT_xstsynthesize_xc9500xl" xil_pn:prop_ck="-5899415373064323687" xil_pn:start_ts="1551994105">
|
||||||
<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"/>
|
||||||
@@ -86,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="1551390232" xil_pn:in_ck="-8547647177936735053" xil_pn:name="TRAN_ngdbuild" xil_pn:prop_ck="6932115226421322529" xil_pn:start_ts="1551390224">
|
<transform xil_pn:end_ts="1551994125" xil_pn:in_ck="-8547647177936735053" xil_pn:name="TRAN_ngdbuild" xil_pn:prop_ck="6932115226421322529" xil_pn:start_ts="1551994116">
|
||||||
<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"/>
|
||||||
@@ -95,27 +98,33 @@
|
|||||||
<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="1551390285" xil_pn:in_ck="-2520376148396280667" xil_pn:name="TRANEXT_vm6File_xc9500xl" xil_pn:prop_ck="-1014768965495450326" xil_pn:start_ts="1551390232">
|
<transform xil_pn:end_ts="1551994174" xil_pn:in_ck="-2520376148396280667" xil_pn:name="TRANEXT_vm6File_xc9500xl" xil_pn:prop_ck="-1014768965495450326" xil_pn:start_ts="1551994125">
|
||||||
<status xil_pn:value="FailedRun"/>
|
<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"/>
|
||||||
|
<outfile xil_pn:name="LAN_IDE_CP.gyd"/>
|
||||||
|
<outfile xil_pn:name="LAN_IDE_CP.mfd"/>
|
||||||
|
<outfile xil_pn:name="LAN_IDE_CP.nga"/>
|
||||||
|
<outfile xil_pn:name="LAN_IDE_CP.pad"/>
|
||||||
|
<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.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.xml"/>
|
<outfile xil_pn:name="LAN_IDE_CP.xml"/>
|
||||||
|
<outfile xil_pn:name="LAN_IDE_CP_build.xml"/>
|
||||||
<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"/>
|
||||||
</transform>
|
</transform>
|
||||||
<transform xil_pn:end_ts="1551390161" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRANEXT_crtProg_xc9500" xil_pn:prop_ck="-6294026017969277533" xil_pn:start_ts="1551390159">
|
<transform xil_pn:end_ts="1551994176" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRANEXT_crtProg_xc9500" xil_pn:prop_ck="-6294026017969277533" xil_pn:start_ts="1551994174">
|
||||||
<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="1551386236" xil_pn:in_ck="-2520376148396285089" xil_pn:name="TRAN_impactProgrammingTool_CPLD" xil_pn:prop_ck="-3598488201878296819" xil_pn:start_ts="1551386235">
|
<transform xil_pn:end_ts="1551990706" xil_pn:in_ck="-2520376148396285089" xil_pn:name="TRAN_impactProgrammingTool_CPLD" xil_pn:prop_ck="-3598488201878296819" xil_pn:start_ts="1551990706">
|
||||||
<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="OutOfDateForPredecessor"/>
|
|
||||||
<status xil_pn:value="InputChanged"/>
|
<status xil_pn:value="InputChanged"/>
|
||||||
</transform>
|
</transform>
|
||||||
<transform xil_pn:end_ts="1550755464" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRAN_timRpt" xil_pn:prop_ck="111903974446" xil_pn:start_ts="1550755461">
|
<transform xil_pn:end_ts="1550755464" xil_pn:in_ck="-2520376148396271803" xil_pn:name="TRAN_timRpt" xil_pn:prop_ck="111903974446" xil_pn:start_ts="1550755461">
|
||||||
@@ -123,7 +132,6 @@
|
|||||||
<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="OutOfDateForInputs"/>
|
||||||
<status xil_pn:value="OutOfDateForPredecessor"/>
|
|
||||||
<status xil_pn:value="InputChanged"/>
|
<status xil_pn:value="InputChanged"/>
|
||||||
</transform>
|
</transform>
|
||||||
<transform xil_pn:end_ts="1551017787" xil_pn:in_ck="-8497105071423008236" xil_pn:name="TRAN_createTimingConstraints" xil_pn:start_ts="1551017787">
|
<transform xil_pn:end_ts="1551017787" xil_pn:in_ck="-8497105071423008236" xil_pn:name="TRAN_createTimingConstraints" xil_pn:start_ts="1551017787">
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
<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="false" xil_pn:valueState="default"/>
|
||||||
<property xil_pn:name="FSM Encoding Algorithm" xil_pn:value="Gray" xil_pn:valueState="non-default"/>
|
<property xil_pn:name="FSM Encoding Algorithm" xil_pn:value="Sequential" xil_pn:valueState="non-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"/>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<property xil_pn:name="Mux Extraction" xil_pn:value="Yes" xil_pn:valueState="default"/>
|
<property xil_pn:name="Mux Extraction" xil_pn:value="Yes" xil_pn:valueState="default"/>
|
||||||
<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="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="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"/>
|
||||||
|
|||||||
+268
-252
@@ -107,8 +107,10 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
end_write_upper,
|
end_write_upper,
|
||||||
start_write_lower,
|
start_write_lower,
|
||||||
wait_write_lower,
|
wait_write_lower,
|
||||||
end_write_lower,
|
wait_cycle_end,
|
||||||
config_rw
|
config_rw,
|
||||||
|
cp_read,
|
||||||
|
cp_write_wait
|
||||||
);
|
);
|
||||||
|
|
||||||
signal LAN_RST_SM: lan_reset :=nop;
|
signal LAN_RST_SM: lan_reset :=nop;
|
||||||
@@ -122,7 +124,7 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
signal ROM_OE_S: STD_LOGIC;
|
signal ROM_OE_S: STD_LOGIC;
|
||||||
|
|
||||||
signal CP_ACCESS: STD_LOGIC;
|
signal CP_ACCESS: STD_LOGIC;
|
||||||
signal CP_BASEADR:STD_LOGIC_VECTOR(7 downto 0);
|
signal CP_BASEADR:STD_LOGIC_VECTOR(15 downto 0);
|
||||||
signal LAN_ACCESS: STD_LOGIC;
|
signal LAN_ACCESS: STD_LOGIC;
|
||||||
signal DQ_SWAP: STD_LOGIC;
|
signal DQ_SWAP: STD_LOGIC;
|
||||||
signal D_Z2_OUT:STD_LOGIC_VECTOR(3 downto 0):=x"F";
|
signal D_Z2_OUT:STD_LOGIC_VECTOR(3 downto 0):=x"F";
|
||||||
@@ -135,7 +137,6 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
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_READY: std_logic;
|
signal LAN_READY: std_logic;
|
||||||
signal CONFIG_READY: std_logic;
|
|
||||||
signal LAN_IRQ_D0: std_logic;
|
signal LAN_IRQ_D0: std_logic;
|
||||||
signal LAN_IRQ_OUT: std_logic;
|
signal LAN_IRQ_OUT: std_logic;
|
||||||
signal Z3_ADR:STD_LOGIC_VECTOR(15 downto 2);
|
signal Z3_ADR:STD_LOGIC_VECTOR(15 downto 2);
|
||||||
@@ -145,10 +146,19 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
signal Z3_DS:STD_LOGIC_VECTOR(3 downto 0);
|
signal Z3_DS:STD_LOGIC_VECTOR(3 downto 0);
|
||||||
signal Z3_A_LOW:STD_LOGIC;
|
signal Z3_A_LOW:STD_LOGIC;
|
||||||
signal LAN_SM_RST:STD_LOGIC;
|
signal LAN_SM_RST:STD_LOGIC;
|
||||||
|
signal FCS_P_D0:STD_LOGIC;
|
||||||
|
signal FCS_N_D0:STD_LOGIC;
|
||||||
|
signal FCS_SM_P_D0:STD_LOGIC;
|
||||||
|
signal FCS_SM_N_D0:STD_LOGIC;
|
||||||
|
signal LAN_CYCLE_IN_PROGRESS:STD_LOGIC;
|
||||||
|
signal INT6_SIG:STD_LOGIC;
|
||||||
|
signal INT2_SIG:STD_LOGIC;
|
||||||
|
|
||||||
|
|
||||||
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 CP_WAIT:STD_LOGIC_VECTOR(3 downto 0);
|
||||||
|
|
||||||
signal AMIGA_CLK:STD_LOGIC;
|
signal AMIGA_CLK:STD_LOGIC;
|
||||||
signal DS:STD_LOGIC;
|
signal DS:STD_LOGIC;
|
||||||
@@ -244,41 +254,48 @@ begin
|
|||||||
|
|
||||||
ADDRESS_Z3_DECODE: process(AS,reset,FCS)
|
ADDRESS_Z3_DECODE: process(AS,reset,FCS)
|
||||||
begin
|
begin
|
||||||
if(--AS ='0' or
|
if(reset='0')then
|
||||||
reset='0')then
|
|
||||||
LAN_ACCESS <= '0';
|
LAN_ACCESS <= '0';
|
||||||
DQ_SWAP <= '1';
|
DQ_SWAP <= '0';
|
||||||
Z3_ADR <= (others => '1');
|
Z3_ADR <= (others => '1');
|
||||||
|
CP_ACCESS <= '0';
|
||||||
elsif(falling_edge(FCS))then
|
elsif(falling_edge(FCS))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
|
||||||
|
|
||||||
|
if(A(14 downto 13)<"11")then
|
||||||
|
DQ_SWAP <= '1';
|
||||||
|
else
|
||||||
|
DQ_SWAP <= '0';
|
||||||
|
end if;
|
||||||
|
|
||||||
--use D(15 downto 8)& A(23 downto 16) = A(31 downto 16) for quick response
|
--use D(15 downto 8)& A(23 downto 16) = A(31 downto 16) for quick response
|
||||||
|
|
||||||
--lan base
|
--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) & A(23 downto 16)) = LAN_BASEADR and SHUT_UP_Z2(0)='0' )then
|
||||||
if(A(14 downto 13)<"11")then
|
if(D(15 downto 8) = LAN_BASEADR(15 downto 8) and SHUT_UP_Z2(0)='0' )then
|
||||||
DQ_SWAP <= '1';
|
|
||||||
else
|
|
||||||
DQ_SWAP <= '0';
|
|
||||||
end if;
|
|
||||||
LAN_ACCESS <= '1';
|
LAN_ACCESS <= '1';
|
||||||
else
|
else
|
||||||
LAN_ACCESS <= '0';
|
LAN_ACCESS <= '0';
|
||||||
DQ_SWAP <= '1';
|
end if;
|
||||||
|
|
||||||
|
--CP base
|
||||||
|
--if((D(15 downto 8) & A(23 downto 16)) = CP_BASEADR and SHUT_UP_Z2(1)='0' )then
|
||||||
|
if(D(15 downto 8) = CP_BASEADR(15 downto 8) and SHUT_UP_Z2(1)='0' )then
|
||||||
|
CP_ACCESS <= '1';
|
||||||
|
else
|
||||||
|
CP_ACCESS <= '0';
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
end if;
|
end if;
|
||||||
end process ADDRESS_Z3_DECODE;
|
end process ADDRESS_Z3_DECODE;
|
||||||
|
|
||||||
ADDRESS_Z2_DECODE: process(FCS,reset,AS)
|
ADDRESS_Z2_DECODE: process(FCS,reset,AS)
|
||||||
begin
|
begin
|
||||||
if(--FCS ='0' or
|
if(reset='0')then
|
||||||
reset='0')then
|
|
||||||
AUTOCONFIG_Z2_ACCESS <= '0';
|
AUTOCONFIG_Z2_ACCESS <= '0';
|
||||||
IDE_ACCESS <= '0';
|
IDE_ACCESS <= '0';
|
||||||
CP_ACCESS <= '0';
|
|
||||||
elsif(falling_edge(AS))then
|
elsif(falling_edge(AS))then
|
||||||
|
|
||||||
if(A(23 downto 16) = x"E8" and AUTO_CONFIG_Z2_DONE /= "111" and CFIN='0')then
|
if(A(23 downto 16) = x"E8" and AUTO_CONFIG_Z2_DONE /= "111" and CFIN='0')then
|
||||||
@@ -287,12 +304,7 @@ begin
|
|||||||
AUTOCONFIG_Z2_ACCESS <= '0';
|
AUTOCONFIG_Z2_ACCESS <= '0';
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
--CP base
|
|
||||||
if(A(23 downto 16) = CP_BASEADR and SHUT_UP_Z2(1)='0' )then
|
|
||||||
CP_ACCESS <= '1';
|
|
||||||
else
|
|
||||||
CP_ACCESS <= '0';
|
|
||||||
end if;
|
|
||||||
|
|
||||||
--IDE base
|
--IDE base
|
||||||
if(A(23 downto 16) = IDE_BASEADR and SHUT_UP_Z2(2)='0' )then
|
if(A(23 downto 16) = IDE_BASEADR and SHUT_UP_Z2(2)='0' )then
|
||||||
@@ -304,187 +316,7 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end process ADDRESS_Z2_DECODE;
|
end process ADDRESS_Z2_DECODE;
|
||||||
|
|
||||||
--LAN interrupt controll
|
|
||||||
lan_int_proc: process (CLK_EXT,reset)
|
|
||||||
begin
|
|
||||||
if(reset ='0') then
|
|
||||||
LAN_IRQ_D0 <='1';
|
|
||||||
LAN_IRQ_OUT <='1';
|
|
||||||
elsif rising_edge(CLK_EXT) then
|
|
||||||
LAN_IRQ_D0 <= LAN_INT;
|
|
||||||
|
|
||||||
--set/deassert the LAN-interrupt bit
|
|
||||||
if( LAN_INT ='1' --or --no interupt
|
|
||||||
--(LAN_ACCESS = '1' and FCS ='0' and Z3_DS(3) ='0' and RW='0' and
|
|
||||||
-- Z3_ADR(15)='1' and Z3_DATA_IN(30)='1') --deassert via bus controll
|
|
||||||
)then
|
|
||||||
LAN_IRQ_OUT <='1';
|
|
||||||
elsif(
|
|
||||||
(LAN_INT ='0' and LAN_IRQ_D0 = '1' ) --or --falling edge
|
|
||||||
--(LAN_ACCESS = '1' and FCS ='0' and Z3_DS(3) ='0' and RW='0' and
|
|
||||||
-- Z3_ADR(15)='1' and Z3_DATA_IN(30)='0' and LAN_INT_ENABLE ='1') --set via bus controll
|
|
||||||
) then
|
|
||||||
LAN_IRQ_OUT <='0';
|
|
||||||
end if;
|
|
||||||
end if;
|
|
||||||
end process lan_int_proc;
|
|
||||||
|
|
||||||
--clock this signal to avoid glitches due to short resets
|
|
||||||
lan_rst_gen: process (CLK_EXT)
|
|
||||||
begin
|
|
||||||
if falling_edge(CLK_EXT) then
|
|
||||||
if(FCS ='1' or reset = '0' or Z3_DS = "1111" or LAN_ACCESS = '0' or BERR = '0') then
|
|
||||||
LAN_SM_RST <='1';
|
|
||||||
else
|
|
||||||
LAN_SM_RST <='0';
|
|
||||||
end if;
|
|
||||||
end if;
|
|
||||||
end process lan_rst_gen;
|
|
||||||
|
|
||||||
--lan signal generation: all Signals are HIGH active!
|
|
||||||
lan_rw_gen: process (CLK_EXT,LAN_SM_RST)
|
|
||||||
begin
|
|
||||||
if(LAN_SM_RST ='1' ) then
|
|
||||||
LAN_SM <=nop;
|
|
||||||
LAN_RD_S <= '0';
|
|
||||||
LAN_WRH_S <= '0';
|
|
||||||
LAN_WRL_S <= '0';
|
|
||||||
Z3_A_LOW <= '0';
|
|
||||||
LAN_READY <= '0';
|
|
||||||
Z3_DATA(31 downto 0) <= x"FFFFFFFF";
|
|
||||||
DQ_DATA(15 downto 0) <= x"FFFF";
|
|
||||||
elsif rising_edge(CLK_EXT) then
|
|
||||||
--default values
|
|
||||||
LAN_RD_S <= '0';
|
|
||||||
LAN_WRH_S <= '0';
|
|
||||||
LAN_WRL_S <= '0';
|
|
||||||
Z3_A_LOW <= '0';
|
|
||||||
LAN_READY <= '0';
|
|
||||||
case LAN_SM is
|
|
||||||
when nop=>
|
|
||||||
--cycle start!
|
|
||||||
|
|
||||||
-- prepare the data for write
|
|
||||||
-- 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(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';
|
|
||||||
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;
|
|
||||||
|
|
||||||
if(Z3_ADR(15)='1')then
|
|
||||||
LAN_SM <= config_rw;
|
|
||||||
elsif(RW='1')then --read from MSB
|
|
||||||
if(Z3_DS(3 downto 2) < "11")then --determine bushalf
|
|
||||||
LAN_RD_S <= '1';
|
|
||||||
LAN_SM <= wait_read_upper;
|
|
||||||
else
|
|
||||||
LAN_RD_S <= '1';
|
|
||||||
LAN_SM <= wait_read_lower;
|
|
||||||
end if;
|
|
||||||
else
|
|
||||||
|
|
||||||
if(Z3_DS(3 downto 2) < "11")then -- determine bushalf
|
|
||||||
LAN_SM <= start_write_upper;
|
|
||||||
else
|
|
||||||
LAN_SM <= start_write_lower;
|
|
||||||
end if;
|
|
||||||
end if;
|
|
||||||
when start_read_upper=>
|
|
||||||
LAN_RD_S <= '1';
|
|
||||||
LAN_SM <= wait_read_upper;
|
|
||||||
when wait_read_upper=>
|
|
||||||
LAN_RD_S <= '1';
|
|
||||||
LAN_SM<=end_read_upper;
|
|
||||||
when end_read_upper=>
|
|
||||||
--fetch data
|
|
||||||
if(DQ_SWAP='0') then
|
|
||||||
Z3_DATA(31 downto 16) <= DQ;
|
|
||||||
else
|
|
||||||
Z3_DATA(31 downto 16) <= DQ(7 downto 0) & DQ(15 downto 8);
|
|
||||||
end if;
|
|
||||||
if(Z3_DS(1 downto 0) = "11")then -- no lower half
|
|
||||||
LAN_READY <='1';
|
|
||||||
LAN_SM <= end_read_upper; -- stay here until cylce end
|
|
||||||
else
|
|
||||||
Z3_A_LOW <= '1';
|
|
||||||
LAN_SM <= start_read_lower;
|
|
||||||
end if;
|
|
||||||
when start_read_lower=>
|
|
||||||
Z3_A_LOW <= '1';
|
|
||||||
LAN_RD_S <= '1';
|
|
||||||
LAN_SM <= wait_read_lower;
|
|
||||||
when wait_read_lower=>
|
|
||||||
Z3_A_LOW <= '1';
|
|
||||||
LAN_RD_S <= '1';
|
|
||||||
LAN_READY <= '1';
|
|
||||||
LAN_SM<=end_read_lower;
|
|
||||||
when end_read_lower=>
|
|
||||||
--fetch data
|
|
||||||
if(DQ_SWAP='0') then
|
|
||||||
Z3_DATA(15 downto 0) <= DQ;
|
|
||||||
else
|
|
||||||
Z3_DATA(15 downto 0) <= DQ(7 downto 0) & DQ(15 downto 8);
|
|
||||||
end if;
|
|
||||||
LAN_READY <='1';
|
|
||||||
LAN_SM<=end_read_lower; -- stay here until cylce end
|
|
||||||
when start_write_upper=>
|
|
||||||
-- swapped DS3/DS2 here: ENC624 is little endian
|
|
||||||
LAN_WRH_S <= not Z3_DS(2);
|
|
||||||
LAN_WRL_S <= not Z3_DS(3);
|
|
||||||
LAN_SM <= wait_write_upper;
|
|
||||||
when wait_write_upper=>
|
|
||||||
LAN_SM<=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
|
|
||||||
LAN_READY <='1';
|
|
||||||
LAN_SM <= end_write_upper; -- stay here until cylce end
|
|
||||||
else
|
|
||||||
Z3_A_LOW <= '1';
|
|
||||||
LAN_SM <= start_write_lower;
|
|
||||||
end if;
|
|
||||||
when start_write_lower=>
|
|
||||||
Z3_A_LOW <= '1';
|
|
||||||
-- swapped DS0/DS1 here: ENC624 is little endian
|
|
||||||
LAN_WRH_S <= not Z3_DS(0);
|
|
||||||
LAN_WRL_S <= not Z3_DS(1);
|
|
||||||
LAN_SM <= wait_write_lower;
|
|
||||||
when wait_write_lower=>
|
|
||||||
Z3_A_LOW <= '1';
|
|
||||||
LAN_READY <='1';
|
|
||||||
LAN_SM<=end_write_lower;
|
|
||||||
when end_write_lower=>
|
|
||||||
LAN_READY <='1';
|
|
||||||
LAN_SM<=end_write_lower; -- stay here until cylce end
|
|
||||||
when config_rw=>
|
|
||||||
LAN_READY <='1';
|
|
||||||
if(Z3_DS(3) ='0' and RW='0')then
|
|
||||||
LAN_INT_ENABLE <= Z3_DATA_IN(31); --this controlls the output bit
|
|
||||||
elsif(Z3_DS(1) ='0' and RW='0')then
|
|
||||||
LAN_INT_ENABLE <= Z3_DATA_IN(15); --this controlls the output bit
|
|
||||||
end if;
|
|
||||||
LAN_SM<=config_rw; -- stay here until cylce end
|
|
||||||
end case;
|
|
||||||
end if;
|
|
||||||
end process lan_rw_gen;
|
|
||||||
|
|
||||||
--autoconfig
|
--autoconfig
|
||||||
autoconfig_proc: process (reset, AMIGA_CLK)
|
autoconfig_proc: process (reset, AMIGA_CLK)
|
||||||
begin
|
begin
|
||||||
@@ -494,7 +326,7 @@ begin
|
|||||||
D_Z2_OUT<="1111";
|
D_Z2_OUT<="1111";
|
||||||
SHUT_UP_Z2 <="111";
|
SHUT_UP_Z2 <="111";
|
||||||
IDE_BASEADR<=x"FF";
|
IDE_BASEADR<=x"FF";
|
||||||
CP_BASEADR<=x"FF";
|
CP_BASEADR<=x"FFFF";
|
||||||
AUTO_CONFIG_Z2_DONE <="000";
|
AUTO_CONFIG_Z2_DONE <="000";
|
||||||
LAN_BASEADR<=x"FFFF";
|
LAN_BASEADR<=x"FFFF";
|
||||||
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
|
||||||
@@ -507,7 +339,7 @@ begin
|
|||||||
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 <= "1000" ; --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 <= "1000" ; --ZII, No-System-Memory, no ROM
|
||||||
else
|
else
|
||||||
D_Z2_OUT <= "1101" ; --ZII, no System-Memory, (perhaps)ROM
|
D_Z2_OUT <= "1101" ; --ZII, no System-Memory, (perhaps)ROM
|
||||||
end if;
|
end if;
|
||||||
@@ -531,19 +363,19 @@ begin
|
|||||||
when "000101" => --er_flags (Z3)
|
when "000101" => --er_flags (Z3)
|
||||||
D_Z2_OUT <= "1101" ; -- io device no size extension 64kb subsize
|
D_Z2_OUT <= "1101" ; -- io device no size extension 64kb subsize
|
||||||
when "001000" => D_Z2_OUT <= "1111" ; --Ventor ID 0
|
when "001000" => D_Z2_OUT <= "1111" ; --Ventor ID 0
|
||||||
|
|
||||||
when "001001" =>
|
when "001001" =>
|
||||||
if(AUTO_CONFIG_Z2_DONE(0) = '0' or AUTO_CONFIG_Z2_DONE(1) = '0')then
|
if(AUTO_CONFIG_Z2_DONE(0) = '0' or AUTO_CONFIG_Z2_DONE(1) = '0')then
|
||||||
D_Z2_OUT <= "0101" ; --Ventor ID 1
|
D_Z2_OUT <= "0101" ; --Ventor ID 1
|
||||||
else
|
else
|
||||||
D_Z2_OUT <= "0111" ; --Ventor ID 1
|
D_Z2_OUT <= "0111" ; --Ventor ID 1
|
||||||
end if;
|
end if;
|
||||||
when "001010" =>
|
when "001010" =>
|
||||||
if(AUTO_CONFIG_Z2_DONE(0) = '0' or AUTO_CONFIG_Z2_DONE(1) = '0')then
|
if(AUTO_CONFIG_Z2_DONE(0) = '0' or AUTO_CONFIG_Z2_DONE(1) = '0')then
|
||||||
D_Z2_OUT <= "1110" ; --Ventor ID 2
|
D_Z2_OUT <= "1110" ; --Ventor ID 2
|
||||||
else
|
else
|
||||||
D_Z2_OUT <= "1101" ; --Ventor ID 2
|
D_Z2_OUT <= "1101" ; --Ventor ID 2
|
||||||
end if;
|
end if;
|
||||||
when "001011" =>
|
when "001011" =>
|
||||||
if(AUTO_CONFIG_Z2_DONE(0) = '0' or AUTO_CONFIG_Z2_DONE(1) = '0')then
|
if(AUTO_CONFIG_Z2_DONE(0) = '0' or AUTO_CONFIG_Z2_DONE(1) = '0')then
|
||||||
D_Z2_OUT <= "0011" ; --Ventor ID 3 : $0A1C: A1K.org
|
D_Z2_OUT <= "0011" ; --Ventor ID 3 : $0A1C: A1K.org
|
||||||
@@ -562,26 +394,24 @@ begin
|
|||||||
--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" =>
|
||||||
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(1) = '0')then
|
if(AUTO_CONFIG_Z2_DONE(0) = '0')then --reg (1)?!?! Why? it does not work with (0) but it should!
|
||||||
LAN_BASEADR(15 downto 8) <= D(15 downto 8); --Base adress
|
LAN_BASEADR(15 downto 0) <= D(15 downto 0); --Base adress
|
||||||
|
SHUT_UP_Z2(0) <='0'; --enable board
|
||||||
|
AUTO_CONFIG_Z2_DONE_CYCLE(0) <= '1'; --done here
|
||||||
|
elsif(AUTO_CONFIG_Z2_DONE(1) = '0')then --reg (1)?!?! Why? it does not work with (0) but it should!
|
||||||
|
CP_BASEADR(15 downto 0) <= D(15 downto 0); --Base adress
|
||||||
|
SHUT_UP_Z2(1) <='0'; --enable board
|
||||||
|
AUTO_CONFIG_Z2_DONE_CYCLE(1) <= '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')then
|
if(RW='0')then
|
||||||
if(AUTO_CONFIG_Z2_DONE(0) = '0')then
|
if(AUTO_CONFIG_Z2_DONE(2) = '0')then
|
||||||
LAN_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
|
|
||||||
SHUT_UP_Z2(0) <='0'; --enable board
|
|
||||||
AUTO_CONFIG_Z2_DONE_CYCLE(0) <= '1'; --done here
|
|
||||||
elsif(AUTO_CONFIG_Z2_DONE(1) = '0')then
|
|
||||||
CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
|
|
||||||
SHUT_UP_Z2(1) <='0'; --enable board
|
|
||||||
AUTO_CONFIG_Z2_DONE_CYCLE(1) <= '1'; --done here
|
|
||||||
elsif(AUTO_CONFIG_Z2_DONE(2) = '0')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_Z2(2) <= '0'; --enable board
|
SHUT_UP_Z2(2) <= '0'; --enable board
|
||||||
AUTO_CONFIG_Z2_DONE_CYCLE(2) <= '1'; --done here
|
AUTO_CONFIG_Z2_DONE_CYCLE(2) <= '1'; --done here
|
||||||
@@ -599,12 +429,218 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
when others => D_Z2_OUT <= "1111" ;
|
when others => D_Z2_OUT <= "1111" ;
|
||||||
end case;
|
end case;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end process autoconfig_proc; --- that's all
|
end process;
|
||||||
|
|
||||||
|
fcs_neg_edge_detect: process(reset, FCS)
|
||||||
|
begin
|
||||||
|
if(reset ='0') then
|
||||||
|
FCS_N_D0 <='0';
|
||||||
|
elsif(falling_edge(FCS)) then
|
||||||
|
FCS_N_D0 <= not FCS_N_D0; --toggle
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--lan signal generation: all Signals are HIGH active!
|
||||||
|
lan_rw_gen: process (CLK_EXT,reset,FCS )
|
||||||
|
begin
|
||||||
|
if(reset = '0' or FCS='1') then
|
||||||
|
LAN_SM <=nop;
|
||||||
|
LAN_RD_S <= '0';
|
||||||
|
LAN_WRH_S <= '0';
|
||||||
|
LAN_WRL_S <= '0';
|
||||||
|
Z3_A_LOW <= '0';
|
||||||
|
LAN_READY <= '0';
|
||||||
|
Z3_DATA(31 downto 0) <= x"FFFFFFFF";
|
||||||
|
DQ_DATA(15 downto 0) <= x"FFFF";
|
||||||
|
CP_WAIT <="0000";
|
||||||
|
CP_RD_S <= '1';
|
||||||
|
CP_WE_S <= '1';
|
||||||
|
|
||||||
|
elsif rising_edge(CLK_EXT) then
|
||||||
|
--default values
|
||||||
|
LAN_RD_S <= '0';
|
||||||
|
LAN_WRH_S <= '0';
|
||||||
|
LAN_WRL_S <= '0';
|
||||||
|
Z3_A_LOW <= '0';
|
||||||
|
LAN_READY <= '0';
|
||||||
|
CP_RD_S <= '1';
|
||||||
|
CP_WE_S <= '1';
|
||||||
|
|
||||||
|
-- delay for clockport
|
||||||
|
if(CP_ACCESS = '1') then
|
||||||
|
CP_WAIT <= CP_WAIT+1;
|
||||||
|
else
|
||||||
|
CP_WAIT <="0000";
|
||||||
|
end if;
|
||||||
|
case LAN_SM is
|
||||||
|
when nop=>
|
||||||
|
--cycle start!
|
||||||
|
|
||||||
|
-- prepare the data for write
|
||||||
|
-- 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(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';
|
||||||
|
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;
|
||||||
|
|
||||||
|
if(Z3_DS < "1111" and LAN_ACCESS = '1' and FCS='0')then
|
||||||
|
if(Z3_ADR(15)='1')then
|
||||||
|
LAN_SM <= config_rw;
|
||||||
|
elsif(RW='1')then --read from MSB
|
||||||
|
if(Z3_DS(3 downto 2) < "11")then --determine bushalf
|
||||||
|
LAN_RD_S <= '1';
|
||||||
|
LAN_SM <= wait_read_upper;
|
||||||
|
else
|
||||||
|
LAN_RD_S <= '1';
|
||||||
|
LAN_SM <= wait_read_lower;
|
||||||
|
end if;
|
||||||
|
else
|
||||||
|
|
||||||
|
if(Z3_DS(3 downto 2) < "11")then -- determine bushalf
|
||||||
|
LAN_SM <= start_write_upper;
|
||||||
|
else
|
||||||
|
LAN_SM <= start_write_lower;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
elsif(CP_ACCESS ='1' and FCS ='0' and Z3_DS < "1111")then
|
||||||
|
if(RW='1') then
|
||||||
|
CP_RD_S <= '0';
|
||||||
|
LAN_SM <= cp_read;
|
||||||
|
else
|
||||||
|
CP_WE_S <= '0';
|
||||||
|
LAN_SM <= cp_write_wait;
|
||||||
|
end if;
|
||||||
|
else
|
||||||
|
LAN_SM <= nop;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when start_read_upper=>
|
||||||
|
LAN_RD_S <= '1';
|
||||||
|
LAN_SM <= wait_read_upper;
|
||||||
|
when wait_read_upper=>
|
||||||
|
LAN_RD_S <= '1';
|
||||||
|
LAN_SM<=end_read_upper;
|
||||||
|
when end_read_upper=>
|
||||||
|
--fetch data
|
||||||
|
if(DQ_SWAP='0') then
|
||||||
|
Z3_DATA(31 downto 16) <= DQ;
|
||||||
|
else
|
||||||
|
Z3_DATA(31 downto 16) <= DQ(7 downto 0) & DQ(15 downto 8);
|
||||||
|
end if;
|
||||||
|
if(Z3_DS(1 downto 0) = "11")then -- no lower half
|
||||||
|
LAN_READY <='1';
|
||||||
|
LAN_SM <= wait_cycle_end;
|
||||||
|
else
|
||||||
|
Z3_A_LOW <= '1';
|
||||||
|
LAN_SM <= start_read_lower;
|
||||||
|
end if;
|
||||||
|
when start_read_lower=>
|
||||||
|
Z3_A_LOW <= '1';
|
||||||
|
LAN_RD_S <= '1';
|
||||||
|
LAN_SM <= wait_read_lower;
|
||||||
|
when wait_read_lower=>
|
||||||
|
Z3_A_LOW <= '1';
|
||||||
|
LAN_RD_S <= '1';
|
||||||
|
LAN_READY <= '1';
|
||||||
|
LAN_SM<=end_read_lower;
|
||||||
|
when end_read_lower=>
|
||||||
|
--fetch data
|
||||||
|
if(DQ_SWAP='0') then
|
||||||
|
Z3_DATA(15 downto 0) <= DQ;
|
||||||
|
else
|
||||||
|
Z3_DATA(15 downto 0) <= DQ(7 downto 0) & DQ(15 downto 8);
|
||||||
|
end if;
|
||||||
|
LAN_READY <='1';
|
||||||
|
LAN_SM <= wait_cycle_end;
|
||||||
|
when start_write_upper=>
|
||||||
|
-- swapped DS3/DS2 here: ENC624 is little endian
|
||||||
|
LAN_WRH_S <= not Z3_DS(2);
|
||||||
|
LAN_WRL_S <= not Z3_DS(3);
|
||||||
|
LAN_SM <= wait_write_upper;
|
||||||
|
when wait_write_upper=>
|
||||||
|
LAN_SM<=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
|
||||||
|
LAN_READY <='1';
|
||||||
|
LAN_SM <= wait_cycle_end;
|
||||||
|
else
|
||||||
|
Z3_A_LOW <= '1';
|
||||||
|
LAN_SM <= start_write_lower;
|
||||||
|
end if;
|
||||||
|
when start_write_lower=>
|
||||||
|
Z3_A_LOW <= '1';
|
||||||
|
-- swapped DS0/DS1 here: ENC624 is little endian
|
||||||
|
LAN_WRH_S <= not Z3_DS(0);
|
||||||
|
LAN_WRL_S <= not Z3_DS(1);
|
||||||
|
LAN_SM <= wait_write_lower;
|
||||||
|
when wait_write_lower=>
|
||||||
|
Z3_A_LOW <= '1';
|
||||||
|
LAN_READY <='1';
|
||||||
|
LAN_SM<=wait_cycle_end;
|
||||||
|
when wait_cycle_end=>
|
||||||
|
LAN_READY <='1';
|
||||||
|
if(FCS_SM_P_D0 /= FCS_P_D0 or FCS ='1')then
|
||||||
|
LAN_SM <= nop;
|
||||||
|
else
|
||||||
|
LAN_SM<=wait_cycle_end; -- stay here until cylce end
|
||||||
|
end if;
|
||||||
|
when config_rw=>
|
||||||
|
LAN_READY <='1';
|
||||||
|
if(Z3_DS(3) ='0' and RW='0')then
|
||||||
|
LAN_INT_ENABLE <= Z3_DATA_IN(31); --this controlls the output bit
|
||||||
|
elsif(Z3_DS(1) ='0' and RW='0')then
|
||||||
|
LAN_INT_ENABLE <= Z3_DATA_IN(15); --this controlls the output bit
|
||||||
|
end if;
|
||||||
|
LAN_SM <= wait_cycle_end;
|
||||||
|
when cp_read=>
|
||||||
|
CP_RD_S <= '0';
|
||||||
|
Z3_DATA(31 downto 0) <= DQ & DQ; -- bus mirroring
|
||||||
|
if(CP_WAIT(3) = '1') then --wait enough for CP-read
|
||||||
|
LAN_READY <='1';
|
||||||
|
LAN_SM<=wait_cycle_end;
|
||||||
|
else
|
||||||
|
LAN_SM<=cp_read; -- stay here until cp is ready
|
||||||
|
end if;
|
||||||
|
when cp_write_wait=>
|
||||||
|
CP_WE_S <= '0';
|
||||||
|
if(CP_WAIT(3) = '1') then --wait enough for CP-write
|
||||||
|
LAN_READY <='1';
|
||||||
|
LAN_SM<= wait_cycle_end; --deassert CP_W
|
||||||
|
else
|
||||||
|
LAN_SM<=cp_write_wait;
|
||||||
|
end if;
|
||||||
|
end case;
|
||||||
|
end if;
|
||||||
|
end process lan_rw_gen;
|
||||||
|
|
||||||
|
|
||||||
|
--for the future
|
||||||
|
CP_WE <= CP_WE_S when FCS='0' else '1';
|
||||||
|
CP_RD <= CP_RD_S when FCS='0' else '1';
|
||||||
|
CP_CS <= not CP_ACCESS;
|
||||||
|
|
||||||
LAN_CS <= LAN_ACCESS when reset='1' and Z3_ADR(15)='0' else LAN_CS_RST;
|
LAN_CS <= LAN_ACCESS when reset='1' and Z3_ADR(15)='0' else LAN_CS_RST;
|
||||||
LAN_WRL <= LAN_WRL_S when FCS='0' and reset = '1' else LAN_WR_RST;
|
LAN_WRL <= LAN_WRL_S when FCS='0' and reset = '1' else LAN_WR_RST;
|
||||||
@@ -624,37 +660,35 @@ begin
|
|||||||
|
|
||||||
|
|
||||||
--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' or CP_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='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
|
|
||||||
(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' or CP_ACCESS = '1') else
|
||||||
(others => 'Z');
|
(others => 'Z');
|
||||||
|
|
||||||
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 reset='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' or CP_ACCESS='1') else
|
||||||
D when RW='0' and AS='0' and CP_ACCESS ='1' else
|
|
||||||
(others => 'Z');
|
(others => 'Z');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INT2_OUT <= '0' when LAN_IRQ_OUT = '0' and LAN_INT_ENABLE = '1' else
|
INT2_OUT <= '0' when LAN_INT = '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' or CP_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') 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' or CP_ACCESS = '1') else 'Z'; --is Cache inhibit on Z3!
|
||||||
|
|
||||||
DTACK <= '0' when FCS='0' and LAN_READY = '1' else 'Z';
|
DTACK <= '0' when FCS='0' and LAN_READY = '1' else 'Z';
|
||||||
|
|
||||||
@@ -696,25 +730,7 @@ begin
|
|||||||
ROM_B <= "00";
|
ROM_B <= "00";
|
||||||
|
|
||||||
|
|
||||||
--cp signal generation
|
|
||||||
cp_rw_gen: process (AMIGA_CLK)
|
|
||||||
begin
|
|
||||||
if falling_edge(AMIGA_CLK) then
|
|
||||||
--default values
|
|
||||||
CP_RD_S <= '1';
|
|
||||||
CP_WE_S <= '1';
|
|
||||||
if(CP_ACCESS = '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; --the clockport write must be low exactly one 7MHz cycle!
|
|
||||||
end if;
|
|
||||||
end process cp_rw_gen;
|
|
||||||
|
|
||||||
--for the future
|
|
||||||
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_ACCESS;
|
|
||||||
|
|
||||||
end Behavioral;
|
end Behavioral;
|
||||||
|
|
||||||
@@ -1,494 +0,0 @@
|
|||||||
----------------------------------------------------------------------------------
|
|
||||||
-- Company:
|
|
||||||
-- Engineer:
|
|
||||||
--
|
|
||||||
-- Create Date: 22:08:29 12/13/2016
|
|
||||||
-- Design Name:
|
|
||||||
-- Module Name: LAN_IDE_CP - 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;
|
|
||||||
INT_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_CFG : out STD_LOGIC_VECTOR (4 downto 1);
|
|
||||||
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 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
|
|
||||||
--init the clock!
|
|
||||||
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=>
|
|
||||||
LAN_CS_RST<='0';
|
|
||||||
LAN_WR_RST<='0';
|
|
||||||
LAN_RST_SM<=done;
|
|
||||||
end case;
|
|
||||||
else
|
|
||||||
LAN_CS_RST<='0';
|
|
||||||
LAN_WR_RST<='0';
|
|
||||||
LAN_RST_SM<=nop;
|
|
||||||
end if;
|
|
||||||
end if;
|
|
||||||
end process clock_init;
|
|
||||||
|
|
||||||
ADDRESS_DECODE: process(DECODE_RESET,AS)
|
|
||||||
begin
|
|
||||||
if(DECODE_RESET ='0')then
|
|
||||||
autoconfig <= '0';
|
|
||||||
ide <= '0';
|
|
||||||
lan_adr <= '0';
|
|
||||||
lan_adr_sw <= '0';
|
|
||||||
cp <= '0';
|
|
||||||
lancp <= '0';
|
|
||||||
elsif(falling_edge(AS))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';
|
|
||||||
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)
|
|
||||||
begin
|
|
||||||
if 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)
|
|
||||||
begin
|
|
||||||
if 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_rw_gen: process (reset,AMIGA_CLK)
|
|
||||||
begin
|
|
||||||
if (reset = '0') then
|
|
||||||
IDE_ENABLE <= '1';
|
|
||||||
IDE_R_S <= '1';
|
|
||||||
IDE_W_S <= '1';
|
|
||||||
ROM_OE_S <= '1';
|
|
||||||
elsif falling_edge(AMIGA_CLK) then
|
|
||||||
--default values
|
|
||||||
IDE_R_S <= '1';
|
|
||||||
IDE_W_S <= '1';
|
|
||||||
ROM_OE_S <= '1';
|
|
||||||
if(ide='1' and AS='0')then
|
|
||||||
if(RW='0')then
|
|
||||||
--the write goes to the hdd!
|
|
||||||
IDE_ENABLE <= '0'; -- enable IDE on first read
|
|
||||||
IDE_W_S <= '0';
|
|
||||||
else
|
|
||||||
IDE_R_S <= IDE_ENABLE; --read from IDE instead from ROM
|
|
||||||
ROM_OE_S <= not IDE_ENABLE;
|
|
||||||
end if;
|
|
||||||
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, (perhaps)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
|
|
||||||
AUTO_CONFIG_DONE_CYCLE <= '1' & AUTOBOOT_OFF; --done here, if Autoboot = 1 skip ide part!
|
|
||||||
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';
|
|
||||||
LAN_CFG <= "ZZZZ";
|
|
||||||
|
|
||||||
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!
|
|
||||||
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_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);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--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' 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
|
|
||||||
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";
|
|
||||||
ROM_OE <= ROM_OE_S when AS='0' and AUTOBOOT_OFF = '0' else '1';
|
|
||||||
|
|
||||||
-- INT_OUT <= 'Z';
|
|
||||||
INT_OUT <= '0' when
|
|
||||||
(LAN_IRQ_OUT = '0' and LAN_INT_ENABLE = '1')
|
|
||||||
or 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 <= DTACK_S when --TRANSFER_IN_PROGRES ='1' or
|
|
||||||
-- AUTOCONFIG_IN_PROGRES ='1'
|
|
||||||
-- else 'Z';
|
|
||||||
|
|
||||||
DTACK <= '0' when ide='1' and AS='0' and IDE_WAIT='1' else 'Z';
|
|
||||||
-- DTACK <= 'Z';
|
|
||||||
A <= (others => 'Z');
|
|
||||||
MTACK <= 'Z';
|
|
||||||
|
|
||||||
|
|
||||||
end Behavioral;
|
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ NGDBUILD Design Results Summary:
|
|||||||
Number of errors: 0
|
Number of errors: 0
|
||||||
Number of warnings: 0
|
Number of warnings: 0
|
||||||
|
|
||||||
Total memory usage is 4418692 kilobytes
|
Total memory usage is 4418684 kilobytes
|
||||||
|
|
||||||
Writing NGD file "LAN_IDE_CP.ngd" ...
|
Writing NGD file "LAN_IDE_CP.ngd" ...
|
||||||
Total REAL time to NGDBUILD completion: 5 sec
|
Total REAL time to NGDBUILD completion: 5 sec
|
||||||
|
|||||||
@@ -419,3 +419,220 @@ 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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.syr"
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.syr"
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.syr"
|
||||||
|
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.syr"
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.syr"
|
||||||
|
xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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/LAN_IDE_CP.xst" -ofn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/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
|
||||||
@@ -20,6 +20,7 @@ DS1 S:PIN78
|
|||||||
FCS S:PIN77
|
FCS S:PIN77
|
||||||
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
|
||||||
@@ -120,82 +121,83 @@ 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_1 EXP24_ EXP25_ AUTO_CONFIG_Z2_DONE_CYCLE<2> SHUT_UP_Z2<1>
|
PARTITION FB1_1 EXP24_ SHUT_UP_Z2<2> EXP25_ CP_BASEADR<7>
|
||||||
D_5_IOBUFE D_4_IOBUFE EXP26_ IDE_CS_0_OBUF
|
D_5_IOBUFE D_4_IOBUFE CP_BASEADR<6> IDE_CS_0_OBUF
|
||||||
AUTO_CONFIG_Z2_DONE_CYCLE<1> IDE_CS_1_OBUF LAN_BASEADR<9> IDE_A_0_OBUF$BUF0
|
CP_BASEADR<5> IDE_CS_1_OBUF CP_BASEADR<4> IDE_A_0_OBUF$BUF0
|
||||||
LAN_BASEADR<8> IDE_A_2_OBUF$BUF0 IDE_A_1_OBUF$BUF0 D_Z2_OUT<0>
|
CP_BASEADR<1> IDE_A_2_OBUF$BUF0 IDE_A_1_OBUF$BUF0 CP_BASEADR<0>
|
||||||
IDE_R_OBUF D_Z2_OUT<2>
|
IDE_R_OBUF D_Z2_OUT<2>
|
||||||
PARTITION FB2_1 LAN_SM_FSM_FFd2 A_LAN_4_OBUF A_LAN_7_OBUF
|
PARTITION FB2_1 DQ<8>_BUFR.MC A_LAN_4_OBUF A_LAN_7_OBUF DQ_8_IOBUFE/DQ_8_IOBUFE_TRST
|
||||||
PARTITION FB2_5 A_LAN_6_OBUF ROM_B_0_OBUF$BUF7 DQ_5_IOBUFE/DQ_5_IOBUFE_TRST ROM_B_0_OBUF$BUF5
|
A_LAN_6_OBUF ROM_B_0_OBUF$BUF7 IDE_BASEADR<0> ROM_B_0_OBUF$BUF5
|
||||||
LAN_RD_S D_6_IOBUFE EXP27_ D_3_IOBUFE
|
IDE_BASEADR<1> D_6_IOBUFE EXP26_ D_3_IOBUFE
|
||||||
EXP28_ D_7_IOBUFE D_1_IOBUFE LAN_SM_FSM_FFd3
|
EXP27_ D_7_IOBUFE D_1_IOBUFE EXP28_
|
||||||
D_8_IOBUFE EXP29_
|
D_8_IOBUFE EXP29_
|
||||||
PARTITION FB3_1 $OpTx$BIN_STEP$140 IDE_W_OBUF EXP30_
|
PARTITION FB3_2 IDE_W_OBUF
|
||||||
PARTITION FB3_14 ROM_B_0_OBUF$BUF9 ROM_B_0_OBUF$BUF0 SHUT_UP_Z2<2>/SHUT_UP_Z2<2>_CLKF CP_WE_QUIRK
|
PARTITION FB3_10 LAN_A_INIT<3> SHUT_UP_Z2<2>/SHUT_UP_Z2<2>_CLKF CP_WE_QUIRK Z3_ADR<9>
|
||||||
EXP31_
|
ROM_B_0_OBUF$BUF9 ROM_B_0_OBUF$BUF0 Z3_ADR<8> Z3_ADR<7>
|
||||||
PARTITION FB4_1 IDE_BASEADR<6> D_0_IOBUFE EXP32_ IDE_BASEADR<4>
|
LAN_IRQ_OUT
|
||||||
A_LAN_1_OBUF A_LAN_0_OBUF IDE_BASEADR<3> A_LAN_3_OBUF
|
PARTITION FB4_1 IDE_BASEADR<7> D_0_IOBUFE EXP30_ IDE_BASEADR<5>
|
||||||
IDE_BASEADR<2> IDE_BASEADR<1> IDE_BASEADR<0> A_LAN_2_OBUF
|
A_LAN_1_OBUF A_LAN_0_OBUF IDE_BASEADR<4> A_LAN_3_OBUF
|
||||||
CP_BASEADR<0> A_LAN_5_OBUF EXP33_ D_Z2_OUT<1>
|
IDE_BASEADR<3> IDE_BASEADR<2> CP_BASEADR<3> A_LAN_2_OBUF
|
||||||
EXP34_ IDE_BASEADR<5>
|
CP_BASEADR<2> A_LAN_5_OBUF EXP31_ D_Z2_OUT<1>
|
||||||
PARTITION FB5_1 D_8_IOBUFE/D_8_IOBUFE_TRST CP_CS_OBUF SHUT_UP_Z2<2> LAN_BASEADR<10>
|
EXP32_ IDE_BASEADR<6>
|
||||||
ROM_OE_OBUF CP_BASEADR<7> CP_BASEADR<3> CP_BASEADR<2>
|
PARTITION FB5_1 EXP33_ CP_CS_OBUF EXP34_ D_8_IOBUFE/D_8_IOBUFE_TRST
|
||||||
EXP35_ D_2_IOBUFE CP_BASEADR<1> D_9_IOBUFE
|
ROM_OE_OBUF AUTOCONFIG_Z2_ACCESS
|
||||||
EXP36_ D_10_IOBUFE D_11_IOBUFE EXP37_
|
PARTITION FB5_9 EXP35_ D_2_IOBUFE EXP36_ D_9_IOBUFE
|
||||||
D_12_IOBUFE IDE_BASEADR<7>
|
EXP37_ D_10_IOBUFE D_11_IOBUFE EXP38_
|
||||||
PARTITION FB6_1 LAN_D_INIT<8> ROM_B_0_OBUF$BUF6 A_LAN_12_OBUF LAN_IRQ_D0
|
D_12_IOBUFE IDE_ACCESS/IDE_ACCESS_RSTF__$INT
|
||||||
A_LAN_13_OBUF A_LAN_10_OBUF FCS_SM_P_D0 A_LAN_11_OBUF
|
PARTITION FB6_1 EXP39_ ROM_B_0_OBUF$BUF6 A_LAN_12_OBUF
|
||||||
LAN_WR_RST A_LAN_8_OBUF LAN_RST_SM_FSM_FFd3 LAN_RST_SM_FSM_FFd2
|
PARTITION FB6_5 A_LAN_13_OBUF A_LAN_10_OBUF Z3_ADR<6> A_LAN_11_OBUF
|
||||||
LAN_RST_SM_FSM_FFd1 A_LAN_9_OBUF LAN_ACCESS EXP38_
|
Z3_ADR<5> A_LAN_8_OBUF Z3_ADR<13> Z3_ADR<12>
|
||||||
LAN_A_INIT<3> LAN_IRQ_OUT
|
Z3_ADR<11> A_LAN_9_OBUF Z3_ADR<10> INT_VECTOR_CYCLE
|
||||||
PARTITION FB7_1 Z3_ADR<4> ROM_OE_S D_13_IOBUFE IDE_W_S
|
EXP40_ IDE_ACCESS
|
||||||
D_14_IOBUFE EXP39_ IDE_ENABLE CP_WE_S
|
PARTITION FB7_1 Z3_ADR<4> EXP41_ D_13_IOBUFE Z3_ADR<3>
|
||||||
CP_RD_S AUTO_CONFIG_Z2_DONE_CYCLE<0> AUTO_CONFIG_Z2_DONE<2> D_15_IOBUFE
|
D_14_IOBUFE Z3_ADR_0 EXP42_ LAN_BASEADR<9>
|
||||||
IDE_R_S AUTO_CONFIG_Z2_DONE<1> AUTO_CONFIG_Z2_DONE<0> AUTOCONFIG_Z2_ACCESS
|
LAN_BASEADR<8> LAN_BASEADR<15> LAN_BASEADR<14> D_15_IOBUFE
|
||||||
EXP40_ D_Z2_OUT<3>
|
EXP43_ Z3_ADR<2> LAN_BASEADR<13> LAN_BASEADR<12>
|
||||||
PARTITION FB8_1 Z3_ADR<2> DQ_12_IOBUFE DQ_14_IOBUFE EXP41_
|
LAN_BASEADR<11> LAN_BASEADR<10>
|
||||||
LAN_WRH_OBUF EXP42_ SHUT_UP_Z2<0> LAN_CS_OBUF
|
PARTITION FB8_1 DQ_DATA<12> DQ_12_IOBUFE DQ_14_IOBUFE EXP44_
|
||||||
LAN_BASEADR<7> LAN_RD_OBUF LAN_BASEADR<5> LAN_BASEADR<4>
|
LAN_WRH_OBUF EXP45_ LAN_SM_FSM_FFd4 LAN_CS_OBUF
|
||||||
LAN_BASEADR<3> Z3_ADR<3> LAN_BASEADR<2> LAN_BASEADR<1>
|
DQ_DATA<6> LAN_RD_OBUF LAN_WRH_S DQ_DATA<14>
|
||||||
LAN_BASEADR<0> LAN_BASEADR<6>
|
EXP46_ DQ_DATA<4> EXP47_ EXP48_
|
||||||
PARTITION FB9_1 Z3_DATA<24> EXP43_ DQ_DATA<6> Z3_DATA<16>
|
EXP49_ EXP50_
|
||||||
EXP44_ EXP45_ DQ_DATA<5> DQ_DATA<15>
|
PARTITION FB9_1 LAN_WR_RST LAN_RST_SM_FSM_FFd1 LAN_IRQ_D0 LAN_D_INIT<8>
|
||||||
EXP46_ EXP47_ Z3_DATA<0> DQ_DATA<14>
|
LAN_D_INIT<1> LAN_CS_RST LAN_A_INIT<6> LAN_RST_SM_FSM_FFd3
|
||||||
EXP48_ Z3_DATA<1> EXP49_ DQ_DATA<13>
|
LAN_RST_SM_FSM_FFd2 SHUT_UP_Z2<1> Z3_DATA<0> SHUT_UP_Z2<0>
|
||||||
Z3_DATA<2> EXP50_
|
AUTO_CONFIG_Z2_DONE_CYCLE<2> Z3_DATA<1> AUTO_CONFIG_Z2_DONE_CYCLE<1> AUTO_CONFIG_Z2_DONE_CYCLE<0>
|
||||||
|
Z3_DATA<2> AUTO_CONFIG_Z2_DONE<2>
|
||||||
PARTITION FB10_1 DQ<4>_BUFR.MC DQ_1_IOBUFE DQ_0_IOBUFE EXP51_
|
PARTITION FB10_1 DQ<4>_BUFR.MC DQ_1_IOBUFE DQ_0_IOBUFE EXP51_
|
||||||
DQ_3_IOBUFE DQ_2_IOBUFE EXP52_ DQ_5_IOBUFE
|
DQ_3_IOBUFE DQ_2_IOBUFE EXP52_ DQ_5_IOBUFE
|
||||||
EXP53_ _19_ DQ_7_IOBUFE DQ_6_IOBUFE
|
EXP53_ _19_ DQ_7_IOBUFE DQ_6_IOBUFE
|
||||||
EXP54_ _18_ EXP55_ EXP56_
|
EXP54_ _18_ EXP55_ EXP56_
|
||||||
DQ_10_IOBUFE EXP57_
|
DQ_10_IOBUFE EXP57_
|
||||||
PARTITION FB11_1 LAN_SM_FSM_FFd1 EXP58_ Z3_DATA<3>
|
PARTITION FB11_1 Z3_DATA<30> Z3_DATA<29> Z3_DATA<3> Z3_DATA<28>
|
||||||
PARTITION FB11_5 Z3_DATA<4> EXP59_ LAN_SM_FSM_FFd4 Z3_A_LOW
|
Z3_DATA<4> Z3_DATA<27> Z3_DATA<22> Z3_DATA<21>
|
||||||
EXP60_ Z3_DATA<5> Z3_DATA<6> ROM_B_0_OBUF$BUF8
|
Z3_DATA<20> Z3_DATA<5> Z3_DATA<6> ROM_B_0_OBUF$BUF8
|
||||||
DQ<8>_BUFR.MC ROM_B_0_OBUF DQ_DATA<8> EXP61_
|
Z3_DATA<19> ROM_B_0_OBUF EXP58_ DQ_DATA<8>
|
||||||
CP_WE_OBUF DQ_DATA<0>
|
CP_WE_OBUF DQ_DATA<0>
|
||||||
PARTITION FB12_1 CP_BASEADR<4> ROM_B_0_OBUF$BUF4 LAN_BASEADR<14> LAN_BASEADR<13>
|
PARTITION FB12_1 EXP59_ ROM_B_0_OBUF$BUF4 LAN_SM_RST EXP60_
|
||||||
DQ_15_IOBUFE LAN_BASEADR<12> LAN_BASEADR<11> DQ_13_IOBUFE
|
DQ_15_IOBUFE LAN_SM_FSM_FFd1 EXP61_ DQ_13_IOBUFE
|
||||||
EXP62_ DQ_11_IOBUFE EXP63_ DQ_9_IOBUFE
|
EXP62_ DQ_11_IOBUFE EXP63_ DQ_9_IOBUFE
|
||||||
EXP64_ EXP65_ EXP66_ LAN_BASEADR<15>
|
EXP64_ EXP65_ EXP66_ LAN_ACCESS
|
||||||
CP_BASEADR<6> CP_BASEADR<5>
|
EXP67_ DQ_SWAP
|
||||||
PARTITION FB13_1 Z3_ADR<7> CP_RD_OBUF DQ_DATA<1> Z3_ADR<12>
|
PARTITION FB13_1 EXP68_ CP_RD_OBUF Z3_DATA<31> Z3_DATA<23>
|
||||||
Z3_ADR<11> LAN_WRL_S LAN_D_INIT<1> Z3_DATA<7>
|
LAN_INT_ENABLE EXP69_ DQ_DATA<5> Z3_DATA<7>
|
||||||
LAN_CS_RST DQ_SWAP LAN_A_INIT<6> LAN_INT_ENABLE
|
EXP70_ EXP71_ DQ_DATA<3> DQ_DATA<15>
|
||||||
LAN_READY LAN_WRL_OBUF DQ_DATA<9> Z3_ADR<13>
|
EXP72_ LAN_WRL_OBUF EXP73_ DQ_DATA<11>
|
||||||
EXP67_ DQ_DATA<7>
|
LAN_WRL_S DQ_DATA<13>
|
||||||
PARTITION FB14_1 CP_ACCESS EXP68_ ROM_B_0_OBUF$BUF2
|
PARTITION FB14_1 EXP74_ D_Z2_OUT<3> ROM_B_0_OBUF$BUF2 Z3_ADR_1
|
||||||
PARTITION FB14_5 FCS_P_D0 Z3_ADR_1 Z3_ADR_0 Z3_ADR<9>
|
ROM_OE_S IDE_W_S IDE_R_S IDE_ENABLE
|
||||||
Z3_ADR<8> Z3_ADR<6> CFOUT_OBUF EXP69_
|
CP_WE_S CP_RD_S CFOUT_OBUF AUTO_CONFIG_Z2_DONE<1>
|
||||||
IDE_ACCESS SLAVE_OBUF ROM_B_0_OBUF$BUF1 Z3_ADR<5>
|
AUTO_CONFIG_Z2_DONE<0> SLAVE_OBUF ROM_B_0_OBUF$BUF1 EXP75_
|
||||||
Z3_ADR<10> EXP70_
|
D_Z2_OUT<0> EXP76_
|
||||||
PARTITION FB15_1 DQ_DATA<10> Z3_DATA<31> Z3_DATA<30> EXP71_
|
PARTITION FB15_1 EXP77_ EXP78_ EXP79_ LAN_SM_FSM_FFd3
|
||||||
DQ_DATA<4> Z3_DATA<29> Z3_DATA<23> EXP72_
|
LAN_SM_FSM_FFd2 EXP80_ Z3_A_LOW DQ_DATA<7>
|
||||||
EXP73_ DQ_DATA<2> DQ_DATA<12> ROM_B_0_OBUF$BUF10
|
EXP81_ DQ_DATA<9> EXP82_ ROM_B_0_OBUF$BUF10
|
||||||
Z3_DATA<22> Z3_DATA<15> Z3_DATA<14> Z3_DATA<21>
|
LAN_RD_S Z3_DATA<15> Z3_DATA<14> LAN_READY
|
||||||
Z3_DATA<13> EXP74_
|
Z3_DATA<13> DQ_DATA<1>
|
||||||
PARTITION FB16_1 LAN_WRH_S Z3_DATA<12> Z3_DATA<11> Z3_DATA<28>
|
PARTITION FB16_1 EXP83_ Z3_DATA<12> Z3_DATA<11>
|
||||||
Z3_DATA<27> Z3_DATA<10> Z3_DATA<26> Z3_DATA<9>
|
PARTITION FB16_5 Z3_DATA<26> Z3_DATA<10> Z3_DATA<25> Z3_DATA<9>
|
||||||
Z3_DATA<25> ROM_B_0_OBUF$BUF3 Z3_DATA<8> EXP75_
|
Z3_DATA<24> ROM_B_0_OBUF$BUF3 Z3_DATA<8> Z3_DATA<18>
|
||||||
DQ_DATA<11> Z3_DATA<20> Z3_DATA<19> Z3_DATA<18>
|
Z3_DATA<17> Z3_DATA<16> EXP84_ DQ_DATA<10>
|
||||||
Z3_DATA<17> DQ_DATA<3>
|
DQ_DATA<2> EXP85_
|
||||||
|
|
||||||
+1490
-1490
File diff suppressed because it is too large.
Load diff
+4155
-4356
File diff suppressed because it is too large.
Load diff
@@ -1,3 +1,3 @@
|
|||||||
XILINX-XDB 0.1 STUB 0.1 ASCII
|
XILINX-XDB 0.1 STUB 0.1 ASCII
|
||||||
XILINX-XDM V1.6e
|
XILINX-XDM V1.6e
|
||||||
$d3:5=6<2.D|Yv+BHL\WQCW,8>;"I?:;%MsP}"EAGUXXH^+152-@4723-E{Xu*MIO]PP@V#9=:%H??n;%MsP}"EAGUXXH^+152-@7YW\V::m6*@pUz'FLHX[]O[(<:?.E0\TQY69h1/C}Zw$CKM[VRBX-;?<#J=_QV\64g<,Fz_t)LFN^QWAU"6<9$O>R^[_23b?!Iw\q.IECQ\TDR'516)L;U[XR:>a:&LtQ~#J@DT_YK_$063*A4XX]U>=l5+OqV{ GOIWZ^N\)?;0/F1[URX>8>0(B~[x%@JJZUSMY.:8= ^179'KuR,KCES^ZJP%374+SNE<1/^hx+7:*3>5<7!o1#<7>50("+4?6=8 ;;7%??0182456=99:;%<=4(03445<69>:;6<?801+27>.6<9:;6<:?01820567!8:0$<9?0;3445<6?9:"==5'1923>4>783;3<='>0:*1356=:>:;6?9?0(33?-4?89094=>52923-46< ::;<7=?0180456.:81#?=>?:2234?5789#+$>;?0;1645<4=9:"==5'3423>637839><='k;)634?2783>;<$??;)4345<189:1:=>?)028,3?783<2<=49912*55=/?9:;6:>?0;5345/682"<9=>57423>2378 ;;7%7?018:456=19:;%<5?1:31?46438:;?6??2292465<99>87<>:3:3326=68>80=<=41020?476;2;:>>5>1218543438;=?6?>72925=5<98397<<<;0037>759:1:>9=41370?441;2;94>5>2808565<9::87<=>3:3066=6;:90=>:<;0167>74>:1:?:=412:0?45>:2;??6?;0292075<9=9:96?;:NWWTPR=IVFJB1?<:1<1?43538<:<6?9:HLLQQ<C48?1<3?>;049MKIR\3NZ0<;50?08524<90;0>?5=039157=5:;19?<>4228JJJSS2H69?7?12:076>42:28=>6<82:0;51=52F__\XZ5IEG\GV:6294:?6<5OTVSQQ<UGDUI0<4?>0906>57:29:>6==2:106>53:29>>6=61290>JSSX\^1EIKPA=094;7<<;1?<?5;139777=3<;1?9?5;6397<7=318?087AZTQWW>IGIWJLL094>>0966>37:2?:>6;=2:706>33:2?=>6;82:7;6>3>92<97;>=;731?3253?<97;6=;7;2?24<?980;<<47508304<??80;:<479083<4<09804<<48308<64<0<804;<48608<=7<1;12=?56239:77=><;129?56639:30=F48:556O311<-TDB23H6:=374A=32:+VFL<1J0<<19:C?578)XHN>7L2>3?;8E9746'ZJH85N<06==>G;9=4%\LJ:;@>21;?<I5;>2#^ND49B840912K7=;0!P@F6?D:6?730M1?8>/RB@0=F482556O319<-TDB23H6:5374A=3::+VFL=1J0<07;@>2:+VFL<1J0?>19:C?658)XHN>7L2=1?;8E9466'ZJH85N<30==>G;:;4%\LJ8;@>17?79=2K7>>06;@>17;(WIM>0M1<18:C?6;(WIM>0M1=18:C?7;(WIM>0M1:18:C?0;(WIM>0M1;18:C?1;(WIM>0M1818:C?2;(WIM>0M1918:C?3;(WIM>0M1618:C?<;(WIM>0M1718:C?=;(WIM90MCJ6;@LMKQGSMM80M^84AR,SEA1<IZUBNXHl;@WWKGIH\VEMJ<>4ATVLFJISWFLM"]OK109BQQIEGF^TCKHPICWE51=F]]EHCCHFG^X1[DEDMZY:56OZTNALJCO@WS8TMNMJSR,@HN@6>2K^XBM@NGKD[_4XIJIN_^ K169BQQIDGGLBKRT=_@A@AVU)L8;<7L[[OBMMBLAXR;UJONK\S/F15f=F]]EHCCHFG^X1[DEDMZY%H?Q_T^22g>GR\FIDBKGH_[0\EFEB[Z$O>R^[_03;?DSSGJEEJDIPZ3]BGFCT['OS\<j4ATVLGJHAANUQ>ROLCDQP*@^WWY^T<<j4ATVLGJHAANUQ>ROLCDQP*@^WWY^T=?74ATVLGJHAANUQ>ROLCDQP*@^WW}ybakaalgg[kcsW8<0MXZ@CNLEMBY]:VKHOH]\.P3;?DSSGJEEJDIPZ3]BGFCT['XNK<74ATVLGJHAANUQ>ROLCDQP*WUSN;<0MXZ@CNLEMBY]:VKHOH]\_uqjiftbi}ooS}|cd^35?DSSGVIDBKGH_[0\@JHB494:56OZTN]@KK@NOVP9SIAAE=2=*FC6j2K^XBQLOODJCZ\5WMEEI1>1.BNHB4><I\^DSNAAFHE\^7YCGGO7<3 K189BQQIXKFDMEJQU2^FLJ@:76'N:=45NUUM\GJHAANUQ>RJ@ND>3:+B59h1JYYAPCNLEMBY]:VNDBH2?>/G[T4`<I\^DSNAAFHE\^7YCGGO7<3 JXQ]SPZ66n2K^XBQLOODJCZ\5WMEEI1>1.DZS[URX9;h0MXZ@_BMMBLAXR;UOCCK30?,F\UYs{`gyicobee]maqY602K^XBQLOODJCZ\5WMEEI1>1.P3b?DSSGVIDBKGH_[0\@JHB494%^HI>b:CVPJYDGGLBKRT=_EMMA969&[Y_J?64ATVL[FIIN@MTV?QKOOG?4;Ys{`gh~ho{ee]svibX9?1JYYAPCNLEMBY]:VNDBH2>>0;8EPRHWJEEJDIPZ3]GKKC;97$HI<l4ATVL[FIIN@MTV?QKOOG?5;(DDBL:46OZTN]@KK@NOVP9SIAAE=3=*A7>3H__CRM@NGKD[_4XLFDN0<0!D03:?DSSGVIDBKGH_[0\@JHB484%H??n;@WWKZEHFOCLSW<PDNLF848)MQZ9n6OZTN]@KK@NOVP9SIAAE=3=*@^WW}ybakaalgg[kcsW820MXZ@_BMMBLAXR;UOCCK31?,R5d=F]]ETOB@IIF]Y6ZBHFL6:2#\JG0`8EPRHWJEEJDIPZ3]GKKC;97$Y_YH=8:CVPJYDGGLBKRT=_EMMA979W}yban|jaugg[utklV;=7L[[O^ALJCO@WS8THB@J<3<2=>GR\FUHCCHFG^X1[AIIM585"NK>b:CVPJYDGGLBKRT=_EMMA949&JF@J<64ATVL[FIIN@MTV?QKOOG?6;(C901JYYAPCNLEMBY]:VNDBH2=>/F25<=F]]ETOB@IIF]Y6ZBHFL692#J=1`9BQQIXKFDMEJQU2^FLJ@:56'OS\<h4ATVL[FIIN@MTV?QKOOG?6;(BPYU[XR>>f:CVPJYDGGLBKRT=_EMMA949&LR[S]ZP13`8EPRHWJEEJDIPZ3]GKKC;:7$NT]Q{shoqakgjmmUeiyQ>8:CVPJYDGGLBKRT=_EMMA949&X;j7L[[O^ALJCO@WS8THB@J<3<-V@A6j2K^XBQLOODJCZ\5WMEEI1<1.SQWB7><I\^DSNAAFHE\^7YCGGO7>3Q{sho`v`gsmmU{~ajP1b9BQQIXKFDMEJQU2^FLJ@YDQJFN0=0=1:CVPJYDGGLBKRT=_EMMAZE^KEO7<3 LLJD2a>GR\FUHCCHFG^X1[AIIMVIROAK30?,G5c=F]]ETOB@IIF]Y6ZBHFLUHUNBJ<1<-@47a3H__CRM@NGKD[_4XLFDNSNWLLD>3:+B5:=1JYYAPCNLEMBY]:VNDBHQLYBNF858)L;U[XR>=4:CVPJYDGGLBKRT=_EMMAZE^KEO7<3 K2^RW[4473H__CRM@NGKD[_4XLFDNSNWLLD>3:+C_X:;0MXZ@_BMMBLAXR;UOCCKPCXAOA969&LR[Sy}fmsgmehccWgoS<k4ATVL[FIIN@MTV?QKOOG\G\EKM5:5"\<?;@WWKZEHFOCLSW<PDNLF[F_DDL6;2#\JG338EPRHWJEEJDIPZ3]GKKCXKPIGI1>1.SQWB7c<I\^DSNAAFHE\^7YCGGOTOTMCE=2=[qunejxnmykk_qpo`Z4c3H__CRM@NGKD[_4XLFDNSNWLLD>3:Zrtadiyilzjd^zlvZ7d3H__CRM@NGKD[_4XLFDNSNWLLD>2:77<I\^DSNAAFHE\^7YCGGOTOTMCE=3=*FJLN8o0MXZ@_BMMBLAXR;UOCCKPCXAOA979&M;m7L[[O^ALJCO@WS8THB@J_B[@H@:66'N:=k5NUUM\GJHAANUQ>RJ@ND]@]FJB484%H?<;;@WWKZEHFOCLSW<PDNLF[F_DDL6:2#J=_QV\472<I\^DSNAAFHE\^7YCGGOTOTMCE=3=*A4XX]U:=h5NUUM\GJHAANUQ>RJ@ND]@]FJB484%]?>4ATVL[FIIN@MTV?QKOOG\G\EKM5;5"_KH209BQQIXKFDMEJQU2^FLJ@YDQJFN0<0!RRVE6`=F]]ETOB@IIF]Y6ZBHFLUHUNBJ<0<\pvojk{ojxhjPpsng[7b<I\^DSNAAFHE\^7YCGGOTOTMCE=3=[qunejxnmykk_ymq[4e<I\^DSNAAFHE\^7YCGGOTOTMCE=0=64=F]]ETOB@IIF]Y6ZBHFLUHUNBJ<3<-GIMA9l1JYYAPCNLEMBY]:VNDBHQLYBNF878)L8l0MXZ@_BMMBLAXR;UOCCKPCXAOA949&M;:j6OZTN]@KK@NOVP9SIAAE^AZGIC;:7$O>?:4ATVL[FIIN@MTV?QKOOG\G\EKM585"I<PPU]361=F]]ETOB@IIF]Y6ZBHFLUHUNBJ<3<-@7YW\V;9<6OZTN]@KK@NOVP9SIAAE^AZGIC;:7$NT]<:;@WWKZEHFOCLSW<PDNLF[F_DDL692#KWP^RW[5423H__CRM@NGKD[_4XLFDNSNWLLD>1:+C_XVZ_S<=>;@WWKZEHFOCLSW<PDNLF[F_DDL692#KWP^vpmhtbfhgnhR`jt^3f?DSSGVIDBKGH_[0\@JHBWJSH@H2=>/S14>GR\FUHCCHFG^X1[AIIMVIROAK32?,QAB4Line truncated
|
$e:55=23-Xnz)94(183>5/a3!:1<7>& )294?6.991#==>?:0234?7789#:?6&>1623>470890:=:>?)018,427890:8=>?:06345/682":;=>51623>4178 ;;7%?70182<56=91:;%<>4(3534?408909;=>&119+6=672;2;<7<701+24>.489:1?=>?:2234,463!9;<=4<01297567!)"89=>53423>6378 ;;7%=:0180156=;<:;%i5'4129056=<9:"==5'6123>36783<;<='>0:*5=56=>0:;6;7?0(33?-17890<<=>57123-46< >?;<79:0184156.991#5=>?:8234??789#:7=?4139246=68990==?<;0217>77;:1:<9=41170?461;2;;;?5>1292555<98;87<?=3:3276=69<90=<8<;0347>760:1:=4<413185764388:?6?=4292605<9;<87<<73:31=7=6;:1:?==41230?455;2;8?>5>35185634389=?6?<72927=5<9:397<:<;0637>73::1:8>?:;069KPRW]]0JSAOA<0194;4<9<80=;??;049MKIR\3N7=84?>03853<NFF__6I_31483:7=6?;1:5<5=2:036>46:289>6<<11917?OIG\^1M1<<:0<1?7253;?97?8=;351?7>6<281CXZ_UU8J@@YD[5;1<3?<;38LQQVR\3XDARL31;2=5>553::97>?=;201?6553:>97>;=;2;27>5=G\^[YY4FDD]B87<7681?>6:?2:626>24:2>?>6::2:656>2?:2>2=85;:NWWTPR=DHDTOKI34;3=5>353<:978?=;401?0553<>9788=;451?0>53<3:7;<46108244<>=80:;<469082<7<?;1<<?58139407=0=;1<:?587394<7=01;13<?57139;67=?;;139?57639;37=?0812>67>2:;16>?4:23?>67:2:;56>?0=2K7==06;@>24;(WIM?0M1?>>89B8479&YKO96O313<:?D:6:7$[MI;4A=30:<=F4895"]OK5:C?518>3H6:83 _AE78E972601J0<;1.QCG1>G;9?427L2>6?,SEA3<I5;<245N<05=*UGC=2K7=506;@>2<;(WIM?0M1?6>89B84?9&YKO86O31?:8E979&YKO96O321<:?D:587$[MI;4A=02:<=F4;;5"]OK5:C?678>3H69>3 _AE58E944284>7L2=3?;8E9446'ZJH95N<3<;?D:56'ZJH95N<2<;?D:46'ZJH95N<5<;?D:36'ZJH95N<4<;?D:26'ZJH95N<7<;?D:16'ZJH95N<6<;?D:06'ZJH95N<9<;?D:?6'ZJH95N<8<;?D:>6'ZJH>5NNE;8EKHH\H^NH?5NS79BW+VFL>1J_RGMUGa8EPRHJFE_SBHI119BQQIEGF^TCKH!P@F25>GR\FHDCYQ@FG]JFP@6<2K^XBM@NGKD[_4XIJIN_^?6;@WWKFIIN@MTV?QNCBGPW+EKCO;=7L[[OBMMBLAXR;UJONK\S/F23>GR\FIDBKGH_[0\EFEB[Z$O=<94ATVLGJHAANUQ>ROLCDQP*A46k2K^XBM@NGKD[_4XIJIN_^ K2^RW[57d3H__CNAAFHE\^7YFKJOX_#J=_QV\54e<I\^DOB@IIF]Y6ZGDKLYX"I<PPU]153=F]]EHCCHFG^X1[DEDMZY%]<64ATVLGJHAANUQ>ROLCDQP*WC@901JYYALOODJCZ\5WHIHI^]!RRVE63=F]]EHCCHFG^X1[DEDMZYTx~gbcsgbp`bXx{foS<84ATVL[FIIN@MTV?QKOOG?4;7>3H__CRM@NGKD[_4XLFDN0=0!CD3a?DSSGVIDBKGH_[0\@JHB494%OAEI199BQQIXKFDMEJQU2^FLJ@:76'N:56OZTN]@KK@NOVP9SIAAE=2=*A7612K^XBQLOODJCZ\5WMEEI1>1.E02<>GR\FUHCCHFG^X1[AIIM5:5"\?n;@WWKZEHFOCLSW<PDNLF858)ZLM:n6OZTN]@KK@NOVP9SIAAE=2=*WUSN;20MXZ@_BMMBLAXR;UOCCK30?]wwlkdzlkiiQrmf\53=F]]ETOB@IIF]Y6ZBHFL6:2<74ATVL[FIIN@MTV?QKOOG?5;(DM8h0MXZ@_BMMBLAXR;UOCCK31?,@HN@602K^XBQLOODJCZ\5WMEEI1?1.E3:?DSSGVIDBKGH_[0\@JHB484%H<?6;@WWKZEHFOCLSW<PDNLF848)L;;37L[[O^ALJCO@WS8THB@J<0<-U4g<I\^DSNAAFHE\^7YCGGO7=3 ]EF3a?DSSGVIDBKGH_[0\@JHB484%^^ZI299BQQIXKFDMEJQU2^FLJ@:66V~xe`m}e`vf`ZvudmU::6OZTN]@KK@NOVP9SIAAE=0=5<=F]]ETOB@IIF]Y6ZBHFL692#MJ1c9BQQIXKFDMEJQU2^FLJ@:56'IGGK?7;@WWKZEHFOCLSW<PDNLF878)L830MXZ@_BMMBLAXR;UOCCK32?,G54?<I\^DSNAAFHE\^7YCGGO7>3 K20:8EPRHWJEEJDIPZ3]GKKC;:7$Z=l5NUUM\GJHAANUQ>RJ@ND>1:+TBO8h0MXZ@_BMMBLAXR;UOCCK32?,QWQ@502K^XBQLOODJCZ\5WMEEI1<1_uqjiftbi}ooS}|cd^3`?DSSGVIDBKGH_[0\@JHBWJSH@H2?>338EPRHWJEEJDIPZ3]GKKCXKPIGI1>1.BNHB4c<I\^DSNAAFHE\^7YCGGOTOTMCE=2=*A7a3H__CRM@NGKD[_4XLFDNSNWLLD>3:+B69o1JYYAPCNLEMBY]:VNDBHQLYBNF858)L;8?7L[[O^ALJCO@WS8THB@J_B[@H@:76'N9S]ZP0368EPRHWJEEJDIPZ3]GKKCXKPIGI1>1.E0\TQY69l1JYYAPCNLEMBY]:VNDBHQLYBNF858)Y;:0MXZ@_BMMBLAXR;UOCCKPCXAOA969&[OL><5NUUM\GJHAANUQ>RJ@ND]@]FJB494%^^ZI2d9BQQIXKFDMEJQU2^FLJ@YDQJFN0=0Ptrkngwcf|lnT|bk_3f8EPRHWJEEJDIPZ3]GKKCXKPIGI1>1_uqjiftbi}ooSua}_0a8EPRHWJEEJDIPZ3]GKKCXKPIGI1?1209BQQIXKFDMEJQU2^FLJ@YDQJFN0<0!CMIE5`=F]]ETOB@IIF]Y6ZBHFLUHUNBJ<0<-@4`<I\^DSNAAFHE\^7YCGGOTOTMCE=3=*A76n2K^XBQLOODJCZ\5WMEEIRMVCMG?5;(C:;>0MXZ@_BMMBLAXR;UOCCKPCXAOA979&M8T\YQ?259BQQIXKFDMEJQU2^FLJ@YDQJFN0<0!D3]SPZ76m2K^XBQLOODJCZ\5WMEEIRMVCMG?5;(V:91JYYAPCNLEMBY]:VNDBHQLYBNF848)ZLM9=6OZTN]@KK@NOVP9SIAAE^AZGIC;97$Y_YH=e:CVPJYDGGLBKRT=_EMMAZE^KEO7=3Q{sho`v`gsmmU{~ajP2e9BQQIXKFDMEJQU2^FLJ@YDQJFN0<0Ptrkngwcf|lnTtb|P1b9BQQIXKFDMEJQU2^FLJ@YDQJFN0?0=1:CVPJYDGGLBKRT=_EMMAZE^KEO7>3 LLJD2a>GR\FUHCCHFG^X1[AIIMVIROAK32?,G5c=F]]ETOB@IIF]Y6ZBHFLUHUNBJ<3<-@47a3H__CRM@NGKD[_4XLFDNSNWLLD>1:+B5:=1JYYAPCNLEMBY]:VNDBHQLYBNF878)L;U[XR>=4:CVPJYDGGLBKRT=_EMMAZE^KEO7>3 K2^RW[47b3H__CRM@NGKD[_4XLFDNSNWLLD>1:+W582K^XBQLOODJCZ\5WMEEIRMVCMG?6;(UMN8:7L[[O^ALJCO@WS8THB@J_B[@H@:56'XXXK<j;@WWKZEHFOCLSW<PDNLF[F_DDL692Rz|ilaqadrblVzy`iQ=d:CVPJYDGGLBKRT=_EMMAZE^KEO7>3Q{sho`v`gsmmUscQ7;@]2[LDRN11JS?QFBTD;?DY4W@H^J55N_5]JFP@?3HU>SDLZF99B[3YNJ\L37LQ8_H@VB==FWEKE0=0l;@]OEK:76'ZJH45N_MCM8469l2KT@L@311<-TDB>3HUGMC2>1?f8EZJFF5;:2#^ND89B[IGI4885h6OPL@L?578)XHNi7LQCAO>27?6912KT@L@312<g?DYKIG6:?3 _AE:8EZJFF5;5o6OPL@L?5;(WIM20MRBNN=0=g>GXDHD7>3 _AE:8EZJFF595o6OPL@L?7;(WIM20MRBNN=6=g>GXDHD783 _AE:8EZJFF5?5o6OPL@L?1;(WIM20MRBNN=4=g>GXDHD7:3 _AE:8EZJFF5=5o6OPL@L?3;(WIM20MRBNN=:=g>GXDHD743 _AE:8EZJFF535o6OPL@L?=;(WIMi0MRBNN^2\KGSAm2KT@L@P0^MAQC(Cn2KT@L@P0^MAQC(C9o1JSAOA_1]LFP@)L;;;7LQCAO]3[JDRN'OS\<;4A^NBJZ6XGK_M"HV__QV\443<IVFJBR>POCWE*@^WWY^T=??4A^NBJZ6XGK_M"HV__uqjiwciidooSck{_d9B[IGIW9UDNXH!Qe9B[IGIW8:TCO[If:C\HDHX99UDNXH!D028EZJFFV;;SBLZF/F255=FWEKES<>POCWE*A4a3HUGMCQ>0^MAQC(Vl2KT@L@P10]LFP@a3HUGMCQ>1^MAQC(C991JSAOA_03\KGSA&M;:<6OPL@L\54YHJ\L%H?h4A^NBJZ76WFH^J#_k;@]OEKY6:VEIYKh4A^NBJZ75WFH^J#J>0:C\HDHX9;UDNXH!D033?DYKIGU:>RAMUG,G6c=FWEKES<<POCWE*Tb<IVFJBR?<_N@VBc=FWEKES<=POCWE*A7Line truncated
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
XILINX-XDB 0.1 STUB 0.1 ASCII
|
XILINX-XDB 0.1 STUB 0.1 ASCII
|
||||||
XILINX-XDM V1.6e
|
XILINX-XDM V1.6e
|
||||||
$92g4=792;:96?;:NWWTPR=IVFJB1?<:1<24>712@DDYY4K<0794;7638<1ECAZT;FR843=87;;7?=5IOMVP?G;::0:2<:42;MVPUSS2@NNSN]31;2=56=52F__\XZ5RNO\F97=87;87>4@UURVP?OCMVK7>7>11497>JSSX\^1@L@PCGE?0?79=2K7==0k;@>24;Yffm:;<=k4A=33:Zgil9:;<<k4A=33:Zgil9:;<?k4A=33:Zgil9:;<>;4A=32:0=F488596O312<6?D:6<7?0M1?:>49B8409=2K7=:0:;@>2<;3<I5;2295N<0<6?D:587?0M1<>>49B8749?2K7>>4>>49B8759<2K7>3:4A=1=0>G;<7>0M1;14:C?2;2<I5=586O38?68E9?9<2KEH?:4AOF00>GIL=>0MCJ:4:CM@32<IGN<86OAD908EV1<IZUBNXHl;@WWKGIH\VEMJ<?4ATVLFJISWFLMSDLZF068EPRHKFDMEJQU2^C@G@UT9>1JYYALOODJCZ\5WHIHI^]PN13;?DSSGJEEJDIPZ3]BGFCT[VD;=<94ATVLGJHAANUQ>ROLCDQP[K7602K^XBM@NGKD[_4XIJIN_^QA103`?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?00f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?10g8EPRHKFDMEJQU2^C@G@UTWhdo<=>?113g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?033g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?023g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?053g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?043g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?073g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?063g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?093g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?0835?DSSGVIDBKGH_[0\@JHB494::6OZTN]@KK@NOVP9SIAAE=3=53=F]]ETOB@IIF]Y6ZBHFL692<;4ATVL[FIIN@MTV?QKOOG\443<I\^DSNAAFHE\^7YCGGOT=<;4ATVL[FIIN@MTV?QKOOG\64e<I\^DSNAAFHE\^7YCGGOTOTMCE=2=5f=F]]ETOB@IIF]Y6ZBHFLUHUNBJ<0<2g>GR\FUHCCHFG^X1[AIIMVIROAK32?3a?DSSGVIDBKGH_[0\@JHBWJSH@HQ?229BQQIXKFDMEJQU2^FLJ@YDQJFNS=Qbuy2345433H__CRM@NGKD[_4XLFDNSNWLLD]3[hs89:;=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV:Taxv?0122472<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ip~789:9>95NUUM\GJHAANUQ>RJ@ND]@]FJBW9Ufyu>?01110>GR\FUHCCHFG^X1[AIIMVIROAKP0^ov|5678=8?7L[[O^ALJCO@WS8THB@J_B[@H@Y7Wds<=>?5368EPRHWJEEJDIPZ3]GKKCXKPIGIR>Pmtz34561:=1JYYAPCNLEMBY]:VNDBHQLYBNF[5Yj}q:;<=9=4:CVPJYDGGLBKRT=_EMMAZE^KEOT<Rczx1234=433H__CRM@NGKD[_4XLFDNSNWLLD]3[hs89:;5?=4ATVL[FIIN@MTV?QKOOG\G\EKMV:Tbbz?01310>GR\FUHCCHFG^X1[AIIMVIROAKP0^llp567988?7L[[O^ALJCO@WS8THB@J_B[@H@Y7Wge<=>>2368EPRHWJEEJDIPZ3]GKKCXKPIGIR>Pnnv345749k1JYYAPCNLEMBY]:VNDBHQLYBNF[4443H__CRM@NGKD[_4XLFDNSNWLLD]2[hs89:;>95NUUM\GJHAANUQ>RJ@ND]@]FJBW8Ufyu>?01311>GR\FUHCCHFG^X1[AIIMVIROAKP1^ov|56788:986OZTN]@KK@NOVP9SIAAE^AZGICX9Vg~t=>?0307?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_lw{4567;;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xe|r;<=>;259BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qbuy234535<2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zkrp9:;<;<;;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w0123372<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789:3>95NUUM\GJHAANUQ>RJ@ND]@]FJBW8Ufyu>?01;2f>GR\FUHCCHFG^X1[AIIMVIROAKP2318EPRHWJEEJDIPZ3]GKKCXKPIGIR<Pmtz34565<2K^XBQLOODJCZ\5WMEEIRMVCMG\6Zkrp9:;<<<;;@WWKZEHFOCLSW<PDNLF[F_DDLU9S`{w0123672<I\^DSNAAFHE\^7YCGGOTOTMCE^0\ip~789:8>95NUUM\GJHAANUQ>RJ@ND]@]FJBW;Ufyu>?01610>GR\FUHCCHFG^X1[AIIMVIROAKP2^ov|5678<8?7L[[O^ALJCO@WS8THB@J_B[@H@Y5Wds<=>?6368EPRHWJEEJDIPZ3]GKKCXKPIGIR<Pmtz34560:=1JYYAPCNLEMBY]:VNDBHQLYBNF[7Yj}q:;<=6=4:CVPJYDGGLBKRT=_EMMAZE^KEOT>Rczx1234<7c3H__CRM@NGKD[_4XLFDNSb|?012?4;7b3H__CRM@NGKD[_4XLFDNSb|?012?4;76l2K^XBQLOODJCZ\5WMEEIRa}01238486m2K^XBQLOODJCZ\5WMEEIRa}012384869m1JYYAPCNLEMBY]:VNDBHQ`r12349499l1JYYAPCNLEMBY]:VNDBHQ`r12349499k1JS<>PIN@VB@d<IV;:SDAMUGGa?DY6:VCDNXHJb:C\56YNGK_MIo5N_06\MJDRNLh0MR?:_HMAQCCe3HU::RG@BTDFf>GX9>UBCO[IEc9B[4>XAFH^JHl4A^3:[LIE]OO37LQ>_H@VBg=FW;:TEBLZFD`8EZ46W@EIYKKm;@]16ZOHJ\LNn6OP22]JKGSAM11JS?QFBTD;?DY4W@H^J55N_5]JFP@?3HU>SDLZF99B[3YNJ\L37LQ8_H@VBd=FW1UBCO[IE`9B[<YNGK_MI55N_MCM858>3HUGMC2>0?;8EZJFF5;:245N_MCM8449j2KT@L@31283:<=FWEKE0<=18:C\HDH;9720MRBNN=0=<>GXDHD7?364A^NBJ92902KT@L@35?:8EZJFF5<546OPL@L?3;><IVFJB1618:C\HDH;17i0MRBNN^2\KGSAn2KT@L@P0^ov|56788:0MRBNN^2\ip~789::==5N_MCM[5Yj}q:;<=<k;@]OEKY68VEIYK??;@]OEKY68Vg~t=>?0038EZJFFV;;S`{w0123547<IVFJBR??_lw{4567:m1JSAOA_03\KGSA991JSAOA_03\ip~789::=6OPL@L\54Yj}q:;<=?>1:C\HDHX98Ufyu>?010g?DYKIGU:>RAMUG33?DYKIGU:>Rczx123447<IVFJBR?=_lw{456798;0MRBNN^31[hs89:;>i5N_MCM[45XGK_M==5N_MCM[45Xe|r;<=>>1:C\HDHX9:Ufyu>?01325>GXDHDT=>Qbuy23454d3HUGMCQ>_N@VBc=FWEKES<Qbuy2345773HUGMCQ>_lw{456798:0MRBNN^3\ip~789:9o6OPL@L\6ZIE]Ol0MRBNN^0\ip~789::<6OPL@L\6Zkrp9:;<<??;@]OEKY5Wds<=>?2028EZJFFV8Taxv?012055=FWEKES?Qbuy23452682KT@L@P2^ov|5678<i0MRBNN^1\KGSAn2KT@L@P3^ov|56788:0MRBNN^1\ip~789::==5N_MCM[6Yj}q:;<=<>0:C\HDHX;Vg~t=>?0233?DYKIGU8S`{w0123046<IVFJBR=Pmtz34562991JSAOA_2]nq}6789<:<6OPL@L\7Zkrp9:;<:??;@]OEKY4Wds<=>?8b9B[IGIW=UDNXHi;@]OEKY3Wds<=>?119B[IGIW=Ufyu>?01324>GXDHDT8Rczx12347773HUGMCQ;_lw{4567;8:0MRBNN^6\ip~789:?==5N_MCM[1Yj}q:;<=;l;@]OEKY2WFH^Jk5N_MCM[0Yj}q:;<=??;@]OEKY2Wds<=>?1028EZJFFV?Taxv?012155=FWEKES8Qbuy23455682KT@L@P5^ov|5678=;;7LQCAO]6[hs89:;9n5N_MCM[3YHJ\Lm7LQCAO]5[hs89:;==5N_MCM[3Yj}q:;<=?>0:C\HDHX>Vg~t=>?0333?DYKIGU=S`{w0123746<IVFJBR8Pmtz34563k2KT@L@P7^MAQC`<IVFJBR9Pmtz3456682KT@L@P7^ov|56788;;7LQCAO]4[hs89:;>n5N_MCM[=YHJ\Lm7LQCAO];[hs89:;==5N_MCM[=Yj}q:;<=?>0:C\HDHX0Vg~t=>?03a8EZJFFV3TCO[If:C\HDHX1Vg~t=>?0028EZJFFV3Taxv?012255=FWEKES4Qbuy2345433KOY^55MUR]JJCI63J80O<94C0]JFP@53J9<7N=PICWE6>EB<2IMEC74CGKM[LDRN<1HJB[[6:AEKPR6i2IMCXZPOCWE55=DNF__Snc_ds3456692IMCXZPclr\at6789;<7NBD_DZWg>EKCVOSXRGMUG18GIT>3JEFADZ[EE;8GUYFKJOX_<?4CQ]BGFCT[Vkeh=>?0008GUYFKJOX_Road12344743JZTMNMJSR]bja6789;;=>5LP^C@G@UTWhdo<=>?1031?FVXIJIN_^Qnne234546:2I[SLMLERQ\ekb789:8=?5LP^C@G@UTWhdo<=>?4008GUYFKJOX_Road123407Line truncated
|
$9404=792;:96?;:NWWTPR=IVFJB1?<:1<24>712@DDYY4K<0794;7638<1ECAZT;FR843=87;;7?=5IOMVP?G;::0:2<:42;MVPUSS2@NNSN]31;2=56=52F__\XZ5RNO\F97=87;87>4@UURVP?OCMVK7>7>11497>JSSX\^1@L@PCGE?0?79=2K7==0k;@>24;Yffm:;<=k4A=33:Zgil9:;<<k4A=33:Zgil9:;<?k4A=33:Zgil9:;<>;4A=32:0=F488596O312<6?D:6<7?0M1?:>49B8409=2K7=:0:;@>2<;3<I5;2295N<0<6?D:587?0M1<>>49B8749?2K7>>4>>49B8759<2K7>3:4A=1=0>G;<7>0M1;14:C?2;2<I5=586O38?68E9?9<2KEH?:4AOF00>GIL=>0MCJ:4:CM@=4<IZ=0M^QFBTD`?DSSGKEDXRAIF038EPRHJFE_SBHI_H@VB42<I\^DOB@IIF]Y6ZGDKLYX=:5NUUM@KK@NOVP9SLMLERQ\J57?3H__CNAAFHE\^7YFKJOX_R@?10a8EPRHKFDMEJQU2^C@G@UTWhdo<=>?1e9BQQIDGGLBKRT=_@A@AVUXign;<=>>1d9BQQIDGGLBKRT=_@A@AVUXign;<=>>00f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?20f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?30f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?40f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?50f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?60f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?70f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?80f8EPRHKFDMEJQU2^C@G@UTWhdo<=>?9048EPRHWJEEJDIPZ3]GKKC;87;=7L[[O^ALJCO@WS8THB@J<0<22>GR\FUHCCHFG^X1[AIIM585=85NUUM\GJHAANUQ>RJ@ND]35==F]]ETOB@IIF]Y6ZBHFLU;SC?>9:CVPJYDGGLBKRT=_EMMAZ6XF8;:96OZTN]@KK@NOVP9SIAAE^321>GR\FUHCCHFG^X1[AIIMV8:o6OZTN]@KK@NOVP9SIAAE^AZGIC;87;h7L[[O^ALJCO@WS8THB@J_B[@H@:668i0MXZ@_BMMBLAXR;UOCCKPCXAOA9499k1JYYAPCNLEMBY]:VNDBHQLYBNF[5443H__CRM@NGKD[_4XLFDNSNWLLD]3[hs89:;>95NUUM\GJHAANUQ>RJ@ND]@]FJBW9Ufyu>?01311>GR\FUHCCHFG^X1[AIIMVIROAKP0^ov|56788:986OZTN]@KK@NOVP9SIAAE^AZGICX8Vg~t=>?0307?DSSGVIDBKGH_[0\@JHBWJSH@HQ?_lw{4567;;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ6Xe|r;<=>;259BQQIXKFDMEJQU2^FLJ@YDQJFNS=Qbuy234535<2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;<;<;;@WWKZEHFOCLSW<PDNLF[F_DDLU;S`{w0123372<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ip~789:3>95NUUM\GJHAANUQ>RJ@ND]@]FJBW9Ufyu>?01;17>GR\FUHCCHFG^X1[AIIMVIROAKP0^llp5679;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ6Xff~;<=?>259BQQIXKFDMEJQU2^FLJ@YDQJFNS=Qaou234445<2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zhh|9:;=>?m;@WWKZEHFOCLSW<PDNLF[F_DDLU:>>5NUUM\GJHAANUQ>RJ@ND]@]FJBW8Ujbi>?0107?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_`lg45679;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xign;<=>=259BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qnne234555<2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zgil9:;<9<;;@WWKZEHFOCLSW<PDNLF[F_DDLU:Sl`k0123172<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ekb789:=>>5NUUM\GJHAANUQ>RJ@ND]@]FJBW8Ufyu>?0107?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_lw{45679;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xe|r;<=>=259BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qbuy234555<2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zkrp9:;<9<;;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w0123172<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789:==o5NUUM\GJHAANUQ>RJ@ND]@]FJBW;887L[[O^ALJCO@WS8THB@J_B[@H@Y5Wds<=>?259BQQIXKFDMEJQU2^FLJ@YDQJFNS?Qbuy234575<2K^XBQLOODJCZ\5WMEEIRMVCMG\6Zkrp9:;<?<;;@WWKZEHFOCLSW<PDNLF[F_DDLU9S`{w0123772<I\^DSNAAFHE\^7YCGGOTOTMCE^0\ip~789:?>95NUUM\GJHAANUQ>RJ@ND]@]FJBW;Ufyu>?01710>GR\FUHCCHFG^X1[AIIMVIROAKP2^ov|5678?;o7L[[O^ALJCO@WS8THB@J_np3456;87;n7L[[O^ALJCO@WS8THB@J_np3456;87;:h6OZTN]@KK@NOVP9SIAAE^mq4567484:i6OZTN]@KK@NOVP9SIAAE^mq4567484:=i5NUUM\GJHAANUQ>RJ@ND]lv5678585=h5NUUM\GJHAANUQ>RJ@ND]lv5678585=o5N_02\MJDRNLh0MR?>_HMAQCCe3HU:>RG@BTDFf>GX9:UBCO[IEc9B[42XAFH^JHl4A^36[LIE]OOi7LQ>6^KLFP@Bj2KT=:QFOCWEAg=FW82TEBLZFD`8EZ7>W@EIYKK7;@]2[LDRNk1JS?>PIN@VB@d<IV8:SDAMUGGa?DY5:VCDNXHJb:C\66YNGK_MI55N_3]JFP@?3HU8SDLZF99B[1YNJ\L37LQ:_H@VB==FW?UBNXH7;@]4[LDRNh1JS5QFOCWEAd=FW0UBCO[IE99B[IGI49427LQCAO>24;?<IVFJB1?>>89B[IGI4885n6OPL@L?56<7601JSAOA<01=<>GXDHD7=364A^NBJ94902KT@L@33?:8EZJFF5>546OPL@L?1;><IVFJB1818:C\HDH;?720MRBNN=:=<>GXDHD753m4A^NBJZ6XGK_Mj6OPL@L\4Zkrp9:;<<>4A^NBJZ6Xe|r;<=>>119B[IGIW9Ufyu>?010g?DYKIGU:<RAMUG33?DYKIGU:<Rczx123447<IVFJBR??_lw{456798;0MRBNN^33[hs89:;>i5N_MCM[47XGK_M==5N_MCM[47Xe|r;<=>>1:C\HDHX98Ufyu>?01325>GXDHDT=<Qbuy23454c3HUGMCQ>2^MAQC773HUGMCQ>2^ov|56788;0MRBNN^31[hs89:;=<?4A^NBJZ75Wds<=>?2e9B[IGIW89TCO[I119B[IGIW89Taxv?01225>GXDHDT=>Qbuy23457692KT@L@P12]nq}67898h7LQCAO]2[JDRNo1JSAOA_0]nq}6789;;7LQCAO]2[hs89:;=<>4A^NBJZ7Xe|r;<=>=c:C\HDHX:VEIYKh4A^NBJZ4Xe|r;<=>>0:C\HDHX:Vg~t=>?0033?DYKIGU9S`{w0123646<IVFJBR<Pmtz34564991JSAOA_3]nq}6789>:<6OPL@L\6Zkrp9:;<8m4A^NBJZ5XGK_Mj6OPL@L\7Zkrp9:;<<>4A^NBJZ5Xe|r;<=>>119B[IGIW:Ufyu>?01024>GXDHDT?Rczx12346773HUGMCQ<_lw{4567<8:0MRBNN^1\ip~789:>==5N_MCM[6Yj}q:;<=8>0:C\HDHX;Vg~t=>?0633?DYKIGU8S`{w0123<f=FWEKES9Q@BTDe?DYKIGU?S`{w012355=FWEKES9Qbuy23457682KT@L@P4^ov|5678;;;7LQCAO]7[hs89:;?<>4A^NBJZ2Xe|r;<=>;119B[IGIW=Ufyu>?017`?DYKIGU>SBLZFg9B[IGIW<Ufyu>?0133?DYKIGU>S`{w0123546<IVFJBR;Pmtz34565991JSAOA_4]nq}67899:<6OPL@L\1Zkrp9:;<9??;@]OEKY2Wds<=>?5b9B[IGIW?UDNXHi;@]OEKY1Wds<=>?119B[IGIW?Ufyu>?01324>GXDHDT:Rczx12347773HUGMCQ9_lw{4567;8:0MRBNN^4\ip~789:?o6OPL@L\3ZIE]Ol0MRBNN^5\ip~789::<6OPL@L\3Zkrp9:;<<??;@]OEKY0Wds<=>?2b9B[IGIW1UDNXHi;@]OEKY?Wds<=>?119B[IGIW1Ufyu>?01324>GXDHDT4Rczx12347e<IVFJBR7POCWEb>GXDHDT5Rczx123446<IVFJBR7Pmtz34566991JSAOA_8]nq}67898?7OK]R99AQVYNFOE:7N<4C058G4YNJ\L97N=8;B1\MGSA:2IN86MIIO;8GCOIW@H^J85LFNWW2>EAG\^:m6MIOTV\KGSA991HJB[[_bos[`w789::=6MIOTV\ghvXmx:;<=?8;BNH[@^Sk2IGGRKWT^KAQC5<KEX27NABMHVWAA?<KYUJONK\S038GUYFKJOX_Road123444<KYUJONK\S^cm`56788;87N^PABAFWVYffm:;<=??129@TZGDKLYXSl`k012354743JZTMNMJSR]bja6789;9=>5LP^C@G@UTWhdo<=>?1231?FVXIJIN_^Qnne234546:2I[SLMLERQ\ekb789:8=?5LP^C@G@ULine truncated
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
XILINX-XDB 0.1 STUB 0.1 ASCII
|
XILINX-XDB 0.1 STUB 0.1 ASCII
|
||||||
XILINX-XDM V1.6e
|
XILINX-XDM V1.6e
|
||||||
$9f`5=23-;B8<;4$0K770=#9@?>96*>N506?!7I<=?0(<@;8008 Wcqazcdb7.>.37:$!><.V;B8<Q<8:$\5L24W:20*R?F54]0<> X9G>9S964&^3M01Y302,T=C:7_53844=69<1:87AZTQWW>DYKIG6:?7>111922?OIG\^1H1?::1<25>712@DDYY4KQ=36>58682886D@@UU8B875=97;?7?4@UURVP?OCMVIX0<4?>0186?IR\Y__6_AB_C>2>586;291CXZ_UU8J@@YF4;0;2<;44;MVPUSS2EKESNHH<582:0=F48:5h6O311<\ekb789:n7L2>0?]bja6789;n7L2>0?]bja67898n7L2>0?]bja67899>7L2>1?78E9756<1J0<=15:C?51823H6:93;4A=35:0=F48=596O319<6?D:617>0M1?15:C?65823H69=3;4A=01:2=F4;91=3;4A=00:1=F4;4?7L2<>59B81833H6>295N<7<7?D:06=1J050;;@>::6=FFM>0MCJ=4:CM@62<IGN?86OAD468EKB1<2KEH::4AOF;6>GT?2KXSDLZFb9BQQIEGF^TCKH>1:CVPJDHG]UDJKQFBTD20>GR\FIDBKGH_[0\EFEB[Z;<7L[[OBMMBLAXR;UJONK\S^L35==F]]EHCCHFG^X1[DEDMZYTB=?>7:CVPJEHFOCLSW<PABAFWVYI9820MXZ@CNLEMBY]:VKHOH]\_O325f=F]]EHCCHFG^X1[DEDMZYTmcj?0122`>GR\FIDBKGH_[0\EFEB[ZUjbi>?0132a>GR\FIDBKGH_[0\EFEB[ZUjbi>?01335a=F]]EHCCHFG^X1[DEDMZYTmcj?01215a=F]]EHCCHFG^X1[DEDMZYTmcj?01205a=F]]EHCCHFG^X1[DEDMZYTmcj?01275a=F]]EHCCHFG^X1[DEDMZYTmcj?01265a=F]]EHCCHFG^X1[DEDMZYTmcj?01255a=F]]EHCCHFG^X1[DEDMZYTmcj?01245a=F]]EHCCHFG^X1[DEDMZYTmcj?012;5a=F]]EHCCHFG^X1[DEDMZYTmcj?012:53=F]]ETOB@IIF]Y6ZBHFL6;2<84ATVL[FIIN@MTV?QKOOG?5;713H__CRM@NGKD[_4XLFDN0?0>5:CVPJYDGGLBKRT=_EMMAZ66=2K^XBQLOODJCZ\5WMEEIR?>5:CVPJYDGGLBKRT=_EMMAZ46k2K^XBQLOODJCZ\5WMEEIRMVCMG?4;7d3H__CRM@NGKD[_4XLFDNSNWLLD>2:4e<I\^DSNAAFHE\^7YCGGOTOTMCE=0=5g=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_100?DSSGVIDBKGH_[0\@JHBWJSH@HQ?_lw{4567:=1JYYAPCNLEMBY]:VNDBHQLYBNF[5Yj}q:;<=?=5:CVPJYDGGLBKRT=_EMMAZE^KEOT<Rczx1234465<2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;<?<;;@WWKZEHFOCLSW<PDNLF[F_DDLU;S`{w0123772<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ip~789:?>95NUUM\GJHAANUQ>RJ@ND]@]FJBW9Ufyu>?01710>GR\FUHCCHFG^X1[AIIMVIROAKP0^ov|5678?8?7L[[O^ALJCO@WS8THB@J_B[@H@Y7Wds<=>?7368EPRHWJEEJDIPZ3]GKKCXKPIGIR>Pmtz3456?:=1JYYAPCNLEMBY]:VNDBHQLYBNF[5Yj}q:;<=7=3:CVPJYDGGLBKRT=_EMMAZE^KEOT<R``t123572<I\^DSNAAFHE\^7YCGGOTOTMCE^2\jjr789;:>95NUUM\GJHAANUQ>RJ@ND]@]FJBW9Uecy>?00010>GR\FUHCCHFG^X1[AIIMVIROAKP0^llp5679:;i7L[[O^ALJCO@WS8THB@J_B[@H@Y6::1JYYAPCNLEMBY]:VNDBHQLYBNF[4Yj}q:;<=<;;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w0123573<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789::<?:4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?012161=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_0]nq}67899986OZTN]@KK@NOVP9SIAAE^AZGICX9Vg~t=>?0507?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_lw{4567=;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xe|r;<=>9259BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qbuy234515<2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zkrp9:;<5<;;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w0123=4d<I\^DSNAAFHE\^7YCGGOTOTMCE^017>GR\FUHCCHFG^X1[AIIMVIROAKP2^ov|5678;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ4Xe|r;<=>>259BQQIXKFDMEJQU2^FLJ@YDQJFNS?Qbuy234545<2K^XBQLOODJCZ\5WMEEIRMVCMG\6Zkrp9:;<><;;@WWKZEHFOCLSW<PDNLF[F_DDLU9S`{w0123072<I\^DSNAAFHE\^7YCGGOTOTMCE^0\ip~789:>>95NUUM\GJHAANUQ>RJ@ND]@]FJBW;Ufyu>?01410>GR\FUHCCHFG^X1[AIIMVIROAKP2^ov|5678>8?7L[[O^ALJCO@WS8THB@J_B[@H@Y5Wds<=>?8368EPRHWJEEJDIPZ3]GKKCXKPIGIR<Pmtz3456>9m1JYYAPCNLEMBY]:VNDBHQ`r12349699l1JYYAPCNLEMBY]:VNDBHQ`r123496998n0MXZ@_BMMBLAXR;UOCCKPos2345:668o0MXZ@_BMMBLAXR;UOCCKPos2345:668;o7L[[O^ALJCO@WS8THB@J_np3456;:7;n7L[[O^ALJCO@WS8THB@J_np3456;:7;i7LQ>0^KLFP@Bj2KT=<QFOCWEAg=FW88TEBLZFD`8EZ74W@EIYKKm;@]20ZOHJ\LNn6OP14]JKGSAMk1JS<8PIN@VB@d<IV;<SDAMUGGa?DY60VCDNXHJb:C\5<YNGK_MI55N_0]JFP@e3HU9<RG@BTDFf>GX:8UBCO[IEc9B[74XAFH^JHl4A^00[LIE]OO37LQ=_H@VB==FW:UBNXH7;@]7[LDRN11JS8QFBTD;?DY1W@H^J55N_6]JFP@f3HU3SDAMUGGb?DY>W@EIYKK7;@]OEK:7601JSAOA<02==>GXDHD7=<06;@]OEK:6:7h0MRBNN=30>58>3HUGMC2>3?:8EZJFF5;546OPL@L?6;><IVFJB1=18:C\HDH;<720MRBNN=7=<>GXDHD7:364A^NBJ91902KT@L@38?:8EZJFF535o6OPL@L\4ZIE]Ol0MRBNN^2\ip~789::<6OPL@L\4Zkrp9:;<<??;@]OEKY7Wds<=>?2e9B[IGIW8:TCO[I119B[IGIW8:Taxv?01225>GXDHDT==Qbuy23457692KT@L@P11]nq}67898o7LQCAO]25ZIE]O;;7LQCAO]25Zkrp9:;<<?4A^NBJZ76Wds<=>?1038EZJFFV;:S`{w01236a=FWEKES<<POCWE55=FWEKES<<Pmtz3456692KT@L@P13]nq}6789;:=6OPL@L\57Yj}q:;<=<k;@]OEKY6;VEIYK??;@]OEKY6;Vg~t=>?0038EZJFFV;8S`{w0123547<IVFJBR?<_lw{4567:j1JSAOA_0]LFP@a3HUGMCQ>_lw{4567991JSAOA_0]nq}6789;:<6OPL@L\5Zkrp9:;<?m4A^NBJZ4XGK_Mj6OPL@L\6Zkrp9:;<<>4A^NBJZ4Xe|r;<=>>119B[IGIW;Ufyu>?01024>GXDHDT>Rczx12346773HUGMCQ=_lw{4567<8:0MRBNN^0\ip~789:>o6OPL@L\7ZIE]Ol0MRBNN^1\ip~789::<6OPL@L\7Zkrp9:;<<??;@]OEKY4Wds<=>?2028EZJFFV9Taxv?012055=FWEKES>Qbuy23452682KT@L@P3^ov|5678<;;7LQCAO]0[hs89:;:<>4A^NBJZ5Xe|r;<=>8119B[IGIW:Ufyu>?01:`?DYKIGU?SBLZFg9B[IGIW=Ufyu>?0133?DYKIGU?S`{w0123546<IVFJBR:Pmtz34565991JSAOA_5]nq}67899:<6OPL@L\0Zkrp9:;<9??;@]OEKY3Wds<=>?5b9B[IGIW<UDNXHi;@]OEKY2Wds<=>?119B[IGIW<Ufyu>?01324>GXDHDT9Rczx12347773HUGMCQ:_lw{4567;8:0MRBNN^7\ip~789:?==5N_MCM[0Yj}q:;<=;l;@]OEKY1WFH^Jk5N_MCM[3Yj}q:;<=??;@]OEKY1Wds<=>?1028EZJFFV<Taxv?012155=FWEKES;Qbuy23455682KT@L@P6^ov|5678=i0MRBNN^5\KGSAn2KT@L@P7^ov|56788:0MRBNN^5\ip~789::==5N_MCM[2Yj}q:;<=<l;@]OEKY?WFH^Jk5N_MCM[=Yj}q:;<=??;@]OEKY?Wds<=>?1028EZJFFV2Taxv?0121g>GXDHDT5RAMUGd8EZJFFV3Taxv?01224>GXDHDT5Rczx12344773HUGMCQ6_lw{4567:=1II_\6;CGQVZOE]O90NXH>0:@VMIBX\HXLIYO]CI:8FPUXAGLD=6M=;B34?F7XAK_M>6M<7:A0[LDRN;1HI95LFHL:?F@NFVCIYK;4CGMVP3=DNF__=l5LFNWW[JDRN8:0OKAZT^antZcv89:;=<5LFNWW[fkwWl{;<=>>3:AOO2=DDBUNTYm4CMI\A]RXAK_M?6MCR89@KHKN\]OO56M__@A@AVULine truncated
|
$8125=23-;B8<;4$0K770=#9@?>96*>N506?!7I<=?0(<@;8008 Wcqazcdb7.>.37:$!><.V;B8<Q<8:$\5L24W:20*R?F54]0<> X9G>9S964&^3M01Y302,T=C:7_53844=69<1:87AZTQWW>DYKIG6:?7>111922?OIG\^1H1?::1<25>712@DDYY4KQ=36>58682886D@@UU8B875=97;?7?4@UURVP?OCMVIX0<4?>0186?IR\Y__6_AB_C>2>586;291CXZ_UU8J@@YF4;0;2<;44;MVPUSS2EKESNHH<582:0=F48:5h6O311<\ekb789:n7L2>0?]bja6789;n7L2>0?]bja67898n7L2>0?]bja67899>7L2>1?78E9756<1J0<=15:C?51823H6:93;4A=35:0=F48=596O319<6?D:617>0M1?15:C?65823H69=3;4A=01:2=F4;91=3;4A=00:1=F4;4?7L2<>59B81833H6>295N<7<7?D:06=1J050;;@>::6=FFM>0MCJ=4:CM@62<IGN?86OAD468EKB?:2KX;6O\_H@VBf=F]]EICBZPOGD25>GR\FHDCYQ@FG]JFP@6<2K^XBM@NGKD[_4XIJIN_^?8;@WWKFIIN@MTV?QNCBGPWZH7911JYYALOODJCZ\5WHIHI^]PN132g>GR\FIDBKGH_[0\EFEB[ZUjbi>?013g?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?003f?DSSGJEEJDIPZ3]BGFCT[Vkeh=>?0022`>GR\FIDBKGH_[0\EFEB[ZUjbi>?0102`>GR\FIDBKGH_[0\EFEB[ZUjbi>?0112`>GR\FIDBKGH_[0\EFEB[ZUjbi>?0162`>GR\FIDBKGH_[0\EFEB[ZUjbi>?0172`>GR\FIDBKGH_[0\EFEB[ZUjbi>?0142`>GR\FIDBKGH_[0\EFEB[ZUjbi>?0152`>GR\FIDBKGH_[0\EFEB[ZUjbi>?01:2`>GR\FIDBKGH_[0\EFEB[ZUjbi>?01;22>GR\FUHCCHFG^X1[AIIM5:5=;5NUUM\GJHAANUQ>RJ@ND>2:40<I\^DSNAAFHE\^7YCGGO7>3?:;@WWKZEHFOCLSW<PDNLF[57?3H__CRM@NGKD[_4XLFDNS=QA10;8EPRHWJEEJDIPZ3]GKKCX8VD:=<;4ATVL[FIIN@MTV?QKOOG\543<I\^DSNAAFHE\^7YCGGOT><m4ATVL[FIIN@MTV?QKOOG\G\EKM5:5=n5NUUM\GJHAANUQ>RJ@ND]@]FJB484:o6OZTN]@KK@NOVP9SIAAE^AZGIC;:7;i7L[[O^ALJCO@WS8THB@J_B[@H@Y7::1JYYAPCNLEMBY]:VNDBHQLYBNF[5Yj}q:;<=<;;@WWKZEHFOCLSW<PDNLF[F_DDLU;S`{w0123573<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ip~789::<?:4ATVL[FIIN@MTV?QKOOG\G\EKMV:Taxv?012161=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_1]nq}67899986OZTN]@KK@NOVP9SIAAE^AZGICX8Vg~t=>?0507?DSSGVIDBKGH_[0\@JHBWJSH@HQ?_lw{4567=;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ6Xe|r;<=>9259BQQIXKFDMEJQU2^FLJ@YDQJFNS=Qbuy234515<2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;<5<;;@WWKZEHFOCLSW<PDNLF[F_DDLU;S`{w0123=75<I\^DSNAAFHE\^7YCGGOTOTMCE^2\jjr789;986OZTN]@KK@NOVP9SIAAE^AZGICX8Vddx=>?1007?DSSGVIDBKGH_[0\@JHBWJSH@HQ?_omw4566:;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ6Xff~;<=?<1c9BQQIXKFDMEJQU2^FLJ@YDQJFNS<<<;@WWKZEHFOCLSW<PDNLF[F_DDLU:Sl`k012361=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_0]bja6789;986OZTN]@KK@NOVP9SIAAE^AZGICX9Vkeh=>?0307?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_`lg4567;;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xign;<=>;259BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qnne234535<2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zgil9:;<;<<;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w012361=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_0]nq}6789;986OZTN]@KK@NOVP9SIAAE^AZGICX9Vg~t=>?0307?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_lw{4567;;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xe|r;<=>;259BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qbuy234535<2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zkrp9:;<;?m;@WWKZEHFOCLSW<PDNLF[F_DDLU9>>5NUUM\GJHAANUQ>RJ@ND]@]FJBW;Ufyu>?0107?DSSGVIDBKGH_[0\@JHBWJSH@HQ=_lw{45679;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ4Xe|r;<=>=259BQQIXKFDMEJQU2^FLJ@YDQJFNS?Qbuy234555<2K^XBQLOODJCZ\5WMEEIRMVCMG\6Zkrp9:;<9<;;@WWKZEHFOCLSW<PDNLF[F_DDLU9S`{w0123172<I\^DSNAAFHE\^7YCGGOTOTMCE^0\ip~789:==i5NUUM\GJHAANUQ>RJ@ND]lv56785:5=h5NUUM\GJHAANUQ>RJ@ND]lv56785:5=<j4ATVL[FIIN@MTV?QKOOG\kw67896:2<k4ATVL[FIIN@MTV?QKOOG\kw67896:2<?k;@WWKZEHFOCLSW<PDNLF[jt789:7>3?j;@WWKZEHFOCLSW<PDNLF[jt789:7>3?m;@]24ZOHJ\LNn6OP10]JKGSAMk1JS<<PIN@VB@d<IV;8SDAMUGGa?DY6<VCDNXHJb:C\50YNGK_MIo5N_04\MJDRNLh0MR?8_HMAQCCe3HU:4RG@BTDFf>GX90UBCO[IE99B[4YNJ\Li7LQ=0^KLFP@Bj2KT><QFOCWEAg=FW;8TEBLZFD`8EZ44W@EIYKK7;@]1[LDRN11JS>QFBTD;?DY3W@H^J55N_4]JFP@?3HU=SDLZF99B[2YNJ\Lj7LQ7_HMAQCCf3HU2SDAMUGG;?DYKIG6;245N_MCM846912KT@L@310<:?DYKIG6:>3l4A^NBJ97429427LQCAO>27;><IVFJB1?18:C\HDH;:720MRBNN=1=<>GXDHD78364A^NBJ93902KT@L@36?:8EZJFF5=546OPL@L?<;><IVFJB171c:C\HDHX8VEIYKh4A^NBJZ6Xe|r;<=>>0:C\HDHX8Vg~t=>?0033?DYKIGU;S`{w01236a=FWEKES<>POCWE55=FWEKES<>Pmtz3456692KT@L@P11]nq}6789;:=6OPL@L\55Yj}q:;<=<k;@]OEKY69VEIYK??;@]OEKY69Vg~t=>?0038EZJFFV;:S`{w0123547<IVFJBR?>_lw{4567:m1JSAOA_00\KGSA991JSAOA_00\ip~789::=6OPL@L\57Yj}q:;<=?>1:C\HDHX9;Ufyu>?010g?DYKIGU:?RAMUG33?DYKIGU:?Rczx123447<IVFJBR?<_lw{456798;0MRBNN^30[hs89:;>n5N_MCM[4YHJ\Lm7LQCAO]2[hs89:;==5N_MCM[4Yj}q:;<=?>0:C\HDHX9Vg~t=>?03a8EZJFFV8TCO[If:C\HDHX:Vg~t=>?0028EZJFFV8Taxv?012255=FWEKES?Qbuy23454682KT@L@P2^ov|5678:;;7LQCAO]1[hs89:;8<>4A^NBJZ4Xe|r;<=>:c:C\HDHX;VEIYKh4A^NBJZ5Xe|r;<=>>0:C\HDHX;Vg~t=>?0033?DYKIGU8S`{w0123646<IVFJBR=Pmtz34564991JSAOA_2]nq}6789>:<6OPL@L\7Zkrp9:;<8??;@]OEKY4Wds<=>?6028EZJFFV9Taxv?012455=FWEKES>Qbuy2345>d3HUGMCQ;_N@VBc=FWEKES9Qbuy2345773HUGMCQ;_lw{456798:0MRBNN^6\ip~789:9==5N_MCM[1Yj}q:;<==>0:C\HDHX<Vg~t=>?0533?DYKIGU?S`{w01231f=FWEKES8Q@BTDe?DYKIGU>S`{w012355=FWEKES8Qbuy23457682KT@L@P5^ov|5678;;;7LQCAO]6[hs89:;?<>4A^NBJZ3Xe|r;<=>;119B[IGIW<Ufyu>?017`?DYKIGU=SBLZFg9B[IGIW?Ufyu>?0133?DYKIGU=S`{w0123546<IVFJBR8Pmtz34565991JSAOA_7]nq}67899:<6OPL@L\2Zkrp9:;<9m4A^NBJZ1XGK_Mj6OPL@L\3Zkrp9:;<<>4A^NBJZ1Xe|r;<=>>119B[IGIW>Ufyu>?010`?DYKIGU3SBLZFg9B[IGIW1Ufyu>?0133?DYKIGU3S`{w0123546<IVFJBR6Pmtz34565k2KT@L@P9^MAQC`<IVFJBR7Pmtz3456682KT@L@P9^ov|56788;;7LQCAO]:[hs89:;>95MESP:?GCUZVCIYK=4BTD24>DRAENTXL\HEUCQGM><J\YTECH@1:A1?F703J;TEO[I2:A03>E4W@H^J?5LE59@BLH>3JLBBRGMUG78GCIR\?1HJB[[1`9@BJSSWFH^J<>4CGMVPZejxVoz<=>?109@BJSSWjg{Sh?01227>EKC>1H@FQJXUa8GIMXMQ^TEO[I3:AOV<=DGDGBXYKK9:AS[DEDMZY:=6M__@A@AVULine truncated
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
XILINX-XDB 0.1 STUB 0.1 ASCII
|
XILINX-XDB 0.1 STUB 0.1 ASCII
|
||||||
XILINX-XDM V1.6e
|
XILINX-XDM V1.6e
|
||||||
$`634=712:Tbbz?0122<>6Xff~;<=>Pilr\4Zhh|9:;<<?4139247=69;1:>?5>33920`=6<3KT@L@31283:d=6<3N7=>4?>02851<NFY__6I2>3;2=56=6<3FJBROPIOKW845=87;>7<:5OTVSQQ<FWEKE0<=50?32?42=G\^[YY4^<0194;g<9=0Z0<=50?d851<];VKO^1?::3<1?43f38<1H1?::1<a?40=LX6:97>111922?BVWMK_M1?::1<2=>712M[THLZN_lw{45644:;1=;0>3:35>AWXe|r;<=>31483:45<9?0OS`{w0123867=9?4n7<85D`vbE972294n7<85D`vbF972294:<6?9:HLLQQ<C48?1<3?>;049MKIR\3NZ0<;50?33?40=AGZ^X7J31483:42<9?0BB][[:EcweD:6=3:5=95>6;KMTPR=Lh~jN1?::1<22>712@D[YY4[rhFbpd:6=3:5=95>6;NBJZDF[LKO^1?::1<27>712EKESIQFNHV?50<768;0=;4@UURVP?W;9<0;2<84178LQQVR\3Xnxb{<0794;g<9?0Z0<;50?386d=5;3K7>>4>>02866<NFF__6L2=3;3=`>4=AMOTO^2>:1<20>4=G\^[YY4FDD]@W97=87;87?4@UURVP?THEVH7=7>1c:09VJKXJ5;1<3?4302877<];VNJXL2<1;2=5d=42H__CRM@NGKD[_4XLFDN0?4?>3287?GR\FUHCCHFG^X1[AIIMVIROAK32;2=64=42H__CRM@NGKD[_4XLFDNSb|?012?6?690291H1<50?a87?OCMVK7>7>1e:19MKVR\3N7>7>11290>JSSX\^1EIKPA=094;`<;3E^X][[:P>1>58?3:0Z0?4?>0387?UO]]U^\RT=<383:4=302>1H1=50?d80?BXR;UDYY2<:1<23>2=LVP9SB[[_lw{456149082h5;:HLSQQ<C4:0;2h5;:MCM[F@@4=0:2<;44;MVPUSS2EKESNHH<582:c=32F__\XZ5Q=194;><<3[7?7>11:72?37<?813=<57:BR\FDUBIMX7;7>18::9@91=87i047Jnt`C?3?69k221HlznB=594;75310BHHQMARGB@W:0294n754FNQWW>A:0294:>665IORVP?Bf|hK7;7>1139;>LHW]]0OmyoM<683:c=?2F__\XZ5Q=594;><03[7;7>11:;6?D:687;;7L2>0?]Y7ZBF\H692i5N<02=[dhc89:;>=5N<02=[dhc89:;Sdc_@>24;Yffm:;<=?:;@>25;773H6:=3QU3^FBPD:46<1J0<<1119B8449WS9THLZN<5<6?D:6;7;;7L2>3?]Y7ZBF\H6>285N<06=55=F48>5SW=PD@VB83823H6:93??;@>21;Y];VNJXL28>49B8409991J0<81_[1\@DRF414>7L2>7?33?D:6?7UQ?RJNT@>::0=F4825=<5N<0:=[_5XLH^J0<>15:C?5<8692K7=40PZ2]GEQG;984?7L2>>49B8769981J0?>1_[1\@DRF488596O320<25>G;:84TV>QKAUC?56823H69>3?>;@>16;Y];VNJXL2>4?58E944284>7L2=3?32?D:5;7UQ?RJNT@>21;2<I58586O33?68E929<2K793:4A=4=0>G;?7>0M161f:C?<;Y];VNJXL2?>59B8<8a3H622RT<_ECWE979;2KNNn5NEC]jiuYFMK;j7LKM_np34566i2KNNRa}0123[lkwWHOISb|?01227>GKJj1J@OQfmq]BHG7>3HGBKLQLLJ3;?DKNOHUH@FQfmq]BILAFWJF@=<?4ALKDEZEKCVrd~=>?059BJA413HDO>O?9;@LG6G433HDO?;5NNE1A53=FFM9I>;5NNE1A71=FFM>=7L@K4C35?DHC<K8=7L@K4C15?DHC<K>=7L@K5C35?DHC=K8=7L@K5C15?DHC=K>=7L@K5C71?DUd3H__COA@T^MEB42<I\^DOB@IIF]Y6ZGDKLYX=n5NUUM@KK@NOVP9SLMLERQ\ekb789:8i6OZTNALJCO@WS8TMNMJSR]bja6789Uba}QNUUM@KK@NOVP9SLMLERQ\ekb789::=k5NUUM@KK@NOVP9SLMLERQ\ghvXmx:;<=<?;@WWKFIIN@MTV?QNCBGPWZejxVoz<=>?1328EPRHKFDMEJQU2^C@G@UTWjg{Sh?012165=F]]EHCCHFG^X1[DEDMZYTo`~Pep234555;2K^XBM@NGKD[_4XIJIN_^Qlmq]fu5678Vcf|<=4ATVL[FIIN@MTV?QKOOG22>GR\FUHCCHFG^X1[AIIM5:5=;5NUUM\GJHAANUQ>RJ@ND>2:4><I\^DSNAAFHE\^7YCGGO7>7>1179BQQIXKFDMEJQU2^FLJ@:568i0MXZ@_BMMBLAXR;UOCCKPCXAOA9699j1JYYAPCNLEMBY]:VNDBHQLYBNF8486m2K^XBQLOODJCZ\5WMEEIRMVCMG?6?699j1JYYAPCNLEMBY]:VNDBHQLYBNF8786j2K^XBQLOODJCZ\5WMEEIRMVCMG\475<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ekb789:?o6OZTN]@KK@NOVP9SIAAE^AZGICX8Vkeh=>?0^kntZGR\FUHCCHFG^X1[AIIMVIROAKP0^cm`56788887L[[O^ALJCO@WS8THB@J_B[@H@Y7Wds<=>?259BQQIXKFDMEJQU2^FLJ@YDQJFNS=Qbuy234575=2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;<<?=5:CVPJYDGGLBKRT=_EMMAZE^KEOT<Rczx1234775<2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;<><8;@WWKZEHFOCLSW<PDNLF[F_DDLU;S`{w0123[lkw::1JYYAPCNLEMBY]:VNDBHQLYBNF[5Yj}q:;<<<;;@WWKZEHFOCLSW<PDNLF[F_DDLU;S`{w0122573<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ip~789;:=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV:Taxv?0131573<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ip~789;8=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV:Taxv?0137572<I\^DSNAAFHE\^7YCGGOTOTMCE^2\ip~789;>>:5NUUM\GJHAANUQ>RJ@ND]@]FJBW9Ufyu>?00]jiu443H__CRM@NGKD[_4XLFDNSNWLLD]3[kis89::8n5NUUM\GJHAANUQ>RJ@ND]@]FJBW9Uecy>?00]jiuYF]]ETOB@IIF]Y6ZBHFLUHUNBJ_1]mkq6788;9>6OZTN]@KK@NOVP9SIAAE^AZGICX8Vey<=>?4`9BQQIXKFDMEJQU2^FLJ@YDQJFNS=Q`r1234ZojxVK^XBQLOODJCZ\5WMEEIRMVCMG\4Ziu89:;=<l4ATVL[FIIN@MTV?QKOOG\G\EKMV;9?6OZTN]@KK@NOVP9SIAAE^AZGICX9Vg~t=>?0368EPRHWJEEJDIPZ3]GKKCXKPIGIR?Pmtz34566:<1JYYAPCNLEMBY]:VNDBHQLYBNF[4Yj}q:;<=?>249BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qbuy234546:=1JYYAPCNLEMBY]:VNDBHQLYBNF[4Yj}q:;<===7:CVPJYDGGLBKRT=_EMMAZE^KEOT=Rczx1234Zojx;90MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xe|r;<=?=4:CVPJYDGGLBKRT=_EMMAZE^KEOT=Rczx12354423H__CRM@NGKD[_4XLFDNSNWLLD]2[hs89::=<<;;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w0122673<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789;9=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?0130573<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789;?=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?0136573<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789;==?;4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?0134572<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789;3>:5NUUM\GJHAANUQ>RJ@ND]@]FJBW8Ufyu>?00]jiu7e3H__CRM@NGKD[_4XLFDNSNWLLD]166=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_3]nq}67898?7L[[O^ALJCO@WS8THB@J_B[@H@Y5Wds<=>?1378EPRHWJEEJDIPZ3]GKKCXKPIGIR<Pmtz345669;?0MXZ@_BMMBLAXR;UOCCKPCXAOAZ4Xe|r;<=>=1368EPRHWJEEJDIPZ3]GKKCXKPIGIR<Pmtz34564:>1JYYAPCNLEMBY]:VNDBHQLYBNF[7Yj}q:;<=Qfmq00?DSSGVIDBKGH_[0\@JHBWJSH@HQ=_lw{4566:=1JYYAPCNLEMBY]:VNDBHQLYBNF[7Yj}q:;<<?=6:CVPJYDGGLBKRT=_EMMAZE^KEOT>Rczx1235466:<1JYYAPCNLEMBY]:VNDBHQLYBNF[7Yj}q:;<<?>249BQQIXKFDMEJQU2^FLJ@YDQJFNS?Qbuy234475:=1JYYAPCNLEMBY]:VNDBHQLYBNF[7Yj}q:;<<<=5:CVPJYDGGLBKRT=_EMMAZE^KEOT>Rczx1235775<2K^XBQLOODJCZ\5WMEEIRMVCMG\6Zkrp9:;=><:;@WWKZEHFOCLSW<PDNLF[F_DDLU9S`{w012274423H__CRM@NGKD[_4XLFDNSNWLLD]1[hs89::8<<:;@WWKZEHFOCLSW<PDNLF[F_DDLU9S`{w012214423H__CRM@NGKD[_4Line truncated
|
$8g34=712:Tbbz?0122<>6Xff~;<=>Pilr\4Zhh|9:;<<?4139247=69;1:>?5>33920`=6<3KT@L@31283:d=6<3N7=>4?>02851<NFY__6I2>3;2=56=6<3FJBROPIOKW845=87;>7<:5OTVSQQ<FWEKE0<=50?32?42=G\^[YY4^<0194;g<9=0Z0<=50?d851<];VKO^1?::3<1?43f38<1H1?::1<a?40=LX6:97>111922?BVWMK_M1?::1<2=>712M[THLZN_lw{45644:;1=;0>3:35>AWXe|r;<=>31483:45<9?0OS`{w0123867=9?4:<6?9:HLLQQ<C48?1<3?>;049MKIR\3NZ0<;50?33?40=AGZ^X7J31483:40<9?0BB][[:Upj@drf48?1<3?;;049HDHXJHYNMI\31483:45<9?0GMCQK_HLJP972294:=6?9:NWWTPR=Y5;>6=0>6:35>JSSX\^1^h}zlu>21?69i2;=6\2>5;2=5>4f3;91M1<<:0<24>442@DDYY4N<3195;b<:3COIRM\<083:42<:3E^X][[:HFF[FU;93:5=>5=:NWWTPR=ZFGTN1?50?a86?THEVH7=7>11:124>552S9THLZN<2394;7f3:0JYYAPCNLEMBY]:VNDBH2=:1<14>5=I\^DSNAAFHE\^7YCGGOTOTMCE=094;463:0JYYAPCNLEMBY]:VNDBHQ`r123494=8720?7J32;2=g>5=AMOTM1<50?g87?OIX\^1H1<50?30?6<H]]Z^X7GKE^C?6?69n291CXZ_UU8R87<761186\2=:1<25>5=[A__SX^PZ3>1>5863=2087J33;2=b>2=LVP9SB[[<283:41<<3NTV?Q@UU]nq}678?6;6>0j;58JJUSS2M686=0j;58OEKYDNN6?6<0>5:69KPRW]]0GMCQLFF>7>48a3=0DYY^ZT;S?7?6902>1]1=50?3814=192=:75?>;98@TZDF[LKO^1950?:8<?B;?3:5o665D`vbE91=87i047Jnt`@?3?699;136DJJ_CCPADBU4>0;2h57:HLSQQ<C4>0;2<<48;KMTPR=Lh~jM1950?31?=<NFY__6Io{aC>4>58a310DYY^ZT;S?3?690221]1950?38=0=F48:5==5N<02=[_5XLH^J0?0k;@>24;Yffm:;<=<?;@>24;Yffm:;<=Qfmq]B8469Whdo<=>?149B8479991J0<?1_[1\@DRF4:4>7L2>2?33?D:6:7UQ?RJNT@>7:0=F4895==5N<01=[_5XLH^J080:;@>20;773H6:83QU3^FBPD:16<1J0<;1119B8439WS9THLZN<6<6?D:6>7;;7L2>6?]Y7ZBF\H63285N<05=55=F48=5SW=PD@VB8<823H6:43?>;@>2<;Y];VNJXL2>0?78E97>68;0M1?6>^X0[AGSI5;:295N<0<6?D:587;:7L2=0?]Y7ZBF\H6:>3;4A=02:47<I58:2RT<_ECWE9746<1J0?<1109B8749WS9THLZN<06=3>G;::0:285N<31=54=F4;95SW=PD@VB8439<2K7>3:4A=1=0>G;<7>0M1;14:C?2;2<I5=586O38?d8E9>9WS9THLZN<1<7?D:>6o1J040PZ2]GEQG;9790MHLl;@GA[lkwWHOI=l5NEC]lv56788k0MHLPos2345YneyUJIOQ`r123445<IEHh7LBM_hos[DJE901JADIN_BNH5==FE@MJSNBD_hos[DKNOHUH@F?>1:CNMBGXKEATtb|?0127?DHC:?1JBI<M179BJA4E:=1JBI=9;@LG7G713HDO?O<9;@LG7G533HDO8;5NNE6A53=FFM>I>;5NNE6A73=FFM>I8;5NNE7A53=FFM?I>;5NNE7A73=FFM?I8;5NNE7A17=F[j1JYYAMONV\KC@6<2K^XBM@NGKD[_4XIJIN_^?l;@WWKFIIN@MTV?QNCBGPWZgil9:;<>k4ATVLGJHAANUQ>ROLCDQP[dhc89:;Sdc_@WWKFIIN@MTV?QNCBGPWZgil9:;<<?i;@WWKFIIN@MTV?QNCBGPWZejxVoz<=>?219BQQIDGGLBKRT=_@A@AVUXkdzTi|>?01314>GR\FIDBKGH_[0\EFEB[ZUha}Qjq12347473H__CNAAFHE\^7YFKJOX_Rmbp^gr4567;;90MXZ@CNLEMBY]:VKHOH]\_bos[`w789:Te`~>3:CVPJYDGGLBKRT=_EMMA40<I\^DSNAAFHE\^7YCGGO7<3?9;@WWKZEHFOCLSW<PDNLF848602K^XBQLOODJCZ\5WMEEI1<50?35?DSSGVIDBKGH_[0\@JHB4;4:o6OZTN]@KK@NOVP9SIAAE^AZGIC;87;h7L[[O^ALJCO@WS8THB@J_B[@H@:668o0MXZ@_BMMBLAXR;UOCCKPCXAOA94=87;h7L[[O^ALJCO@WS8THB@J_B[@H@:568h0MXZ@_BMMBLAXR;UOCCKPCXAOAZ65;2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zgil9:;<9m4ATVL[FIIN@MTV?QKOOG\G\EKMV:Tmcj?012\mhvXI\^DSNAAFHE\^7YCGGOTOTMCE^2\ekb789::>>5NUUM\GJHAANUQ>RJ@ND]@]FJBW9Ufyu>?0107?DSSGVIDBKGH_[0\@JHBWJSH@HQ?_lw{45679;?0MXZ@_BMMBLAXR;UOCCKPCXAOAZ6Xe|r;<=>>1378EPRHWJEEJDIPZ3]GKKCXKPIGIR>Pmtz345659;>0MXZ@_BMMBLAXR;UOCCKPCXAOAZ6Xe|r;<=><269BQQIXKFDMEJQU2^FLJ@YDQJFNS=Qbuy2345Yney887L[[O^ALJCO@WS8THB@J_B[@H@Y7Wds<=>>259BQQIXKFDMEJQU2^FLJ@YDQJFNS=Qbuy234475=2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;=<?=5:CVPJYDGGLBKRT=_EMMAZE^KEOT<Rczx1235775=2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;=>?=5:CVPJYDGGLBKRT=_EMMAZE^KEOT<Rczx1235175<2K^XBQLOODJCZ\5WMEEIRMVCMG\4Zkrp9:;=8<8;@WWKZEHFOCLSW<PDNLF[F_DDLU;S`{w0122[lkw::1JYYAPCNLEMBY]:VNDBHQLYBNF[5Yig}:;<<:l;@WWKZEHFOCLSW<PDNLF[F_DDLU;Sca{0122[lkwWH__CRM@NGKD[_4XLFDNSNWLLD]3[kis89::=?<4ATVL[FIIN@MTV?QKOOG\G\EKMV:Tc>?016b?DSSGVIDBKGH_[0\@JHBWJSH@HQ?_np3456XadzTMXZ@_BMMBLAXR;UOCCKPCXAOAZ6Xg{:;<=?>b:CVPJYDGGLBKRT=_EMMAZE^KEOT=?=4ATVL[FIIN@MTV?QKOOG\G\EKMV;Tmcj?0127g>GR\FUHCCHFG^X1[AIIMVIROAKP1^cm`5678Vcf|ROZTN]@KK@NOVP9SIAAE^AZGICX9Vkeh=>?0000?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_`lg4566<j1JYYAPCNLEMBY]:VNDBHQLYBNF[4Yffm:;<<Qfmq]BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qnne234475;2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zkrp9:;<?:4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?012263=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_0]nq}6789;;=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?0122570<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789::==<9;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w01235475>2K^XBQLOODJCZ\5WMEEIRMVCMG\5Zkrp9:;<<<>279BQQIXKFDMEJQU2^FLJ@YDQJFNS<Qbuy2345749;<0MXZ@_BMMBLAXR;UOCCKPCXAOAZ7Xe|r;<=>>4005?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_lw{45679<;9:6OZTN]@KK@NOVP9SIAAE^AZGICX9Vg~t=>?004263=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_0]nq}6789;<=?84ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?0122<4423H__CRM@NGKD[_4XLFDNSNWLLD]2[hs89:;=4<;;@WWKZEHFOCLSW<PDNLF[F_DDLU:S`{w0123673<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789:9=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?0120573<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789:?=?;4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?0126573<I\^DSNAAFHE\^7YCGGOTOTMCE^3\ip~789:==?:4ATVL[FIIN@MTV?QKOOG\G\EKMV;Taxv?012460=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_0]nq}6789=:>95NUUM\GJHAANUQ>RJ@ND]@]FJBW8Ufyu>?01:11>GR\FUHCCHFG^X1[AIIMVIROAKP1^ov|56781;986OZTN]@KK@NOVP9SIAAE^AZGICX9Vg~t=>?0806?DSSGVIDBKGH_[0\@JHBWJSH@HQ>_lw{4567188<7L[[O^ALJCO@WS8THB@J_B[@H@Y6Wds<=>?_hos5g=F]]ETOB@IIF]Y6ZBHFLUHUNBJ_300?DSSGVIDBKGH_[0\@JHBWJSH@HQ=_lw{4567:=1JYYAPCNLEMBY]:VNDBHQLYBNF[7Yj}q:;<=?=5:CVPJYDGGLBKRT=_EMMAZE^KEOT>Rczx1234465>2K^XBQLOODJCZ\5WMEEIRMVCMG\6Zkrp9:;<<>>249BQQILine truncated
|
||||||
@@ -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
|
||||||
|
|
||||||
2-28-2019 10:58PM
|
3- 7-2019 11:51PM
|
||||||
|
|
||||||
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 '|'
|
||||||
@@ -118,7 +118,7 @@ P97|A<16>|I/O|I/O|BIDIR|||||||||
|
|||||||
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|TIE||I/O||||||||||
|
P101|MTCR|I|I/O|INPUT|||||||||
|
||||||
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|||||||||
|
||||||
|
|||||||
@@ -15,4 +15,4 @@
|
|||||||
sr (SLOW|FAST|slow|fast) "SLOW"
|
sr (SLOW|FAST|slow|fast) "SLOW"
|
||||||
dir (BIDIR|bidir|INPUT|input|OUTPUT|output) "BIDIR">
|
dir (BIDIR|bidir|INPUT|input|OUTPUT|output) "BIDIR">
|
||||||
]>
|
]>
|
||||||
<ibis><part arch="xc9500xl" device="XC95288XL" pkg="TQ144" spg="-10"/><pin dir="input" nm="Z3" no="79"/><pin dir="input" nm="FCS" no="77"/><pin dir="input" nm="CLK_EXT" no="30"/><pin dir="input" nm="RESET" no="143"/><pin dir="input" nm="RW" no="83"/><pin dir="input" nm="A<5>" no="49"/><pin dir="input" nm="A<4>" no="50"/><pin dir="input" nm="A<2>" no="54"/><pin dir="input" nm="A<1>" no="57"/><pin dir="input" nm="AS" no="80"/><pin dir="input" nm="UDS" no="81"/><pin dir="input" nm="LDS" no="82"/><pin dir="input" nm="DS1" no="78"/><pin dir="input" nm="DS0" no="93"/><pin dir="input" nm="A<3>" no="52"/><pin dir="input" nm="A<6>" no="51"/><pin dir="input" nm="LAN_INT" no="111"/><pin dir="input" nm="CFIN" no="104"/><pin dir="input" nm="A<7>" no="53"/><pin dir="input" nm="AUTOBOOT_OFF" no="75"/><pin dir="input" nm="C1" no="103"/><pin dir="input" nm="C3" no="102"/><pin dir="input" nm="CP_IRQ" no="31"/><pin dir="output" nm="A_LAN<2>" no="6" sr="fast"/><pin dir="output" nm="A_LAN<4>" no="9" sr="fast"/><pin dir="output" nm="A_LAN<5>" no="7" sr="fast"/><pin dir="output" nm="ROM_OE" no="35" sr="fast"/><pin dir="output" nm="A_LAN<0>" no="4" sr="fast"/><pin dir="output" nm="A_LAN<10>" no="138" sr="fast"/><pin dir="output" nm="A_LAN<11>" no="139" sr="fast"/><pin dir="output" nm="A_LAN<12>" no="136" sr="fast"/><pin dir="output" nm="A_LAN<13>" no="137" sr="fast"/><pin dir="output" nm="A_LAN<1>" no="3" sr="fast"/><pin dir="output" nm="A_LAN<3>" no="5" sr="fast"/><pin dir="output" nm="A_LAN<6>" no="11" sr="fast"/><pin dir="output" nm="A_LAN<7>" no="10" sr="fast"/><pin dir="output" nm="A_LAN<8>" no="140" sr="fast"/><pin dir="output" nm="A_LAN<9>" no="142" sr="fast"/><pin dir="output" nm="CP_CS" no="34" sr="fast"/><pin dir="output" nm="CP_RD" no="71" sr="fast"/><pin dir="output" nm="CP_WE" no="70" sr="fast"/><pin dir="output" nm="IDE_R" no="27" sr="fast"/><pin dir="output" nm="IDE_W" no="28" sr="fast"/><pin dir="output" nm="LAN_CS" no="133" sr="fast"/><pin dir="output" nm="LAN_WRH" no="132" sr="fast"/><pin dir="output" nm="LAN_WRL" no="76" sr="fast"/><pin dir="output" nm="LAN_RD" no="134" sr="fast"/><pin dir="output" nm="SLAVE" no="106" sr="fast"/><pin dir="output" nm="DTACK" no="85" sr="fast"/><pin dir="output" nm="INT6_OUT" no="68" sr="fast"/><pin dir="output" nm="INT2_OUT" no="32" sr="fast"/><pin dir="output" nm="CFOUT" no="105" sr="fast"/><pin dir="output" nm="IDE_A<0>" no="24" sr="fast"/><pin dir="output" nm="IDE_A<1>" no="26" sr="fast"/><pin dir="output" nm="IDE_A<2>" no="25" sr="fast"/><pin dir="output" nm="IDE_CS<0>" no="22" sr="fast"/><pin dir="output" nm="IDE_CS<1>" no="23" sr="fast"/><pin dir="output" nm="OWN" no="107" sr="fast"/><pin dir="output" nm="OVR" no="100" sr="fast"/><pin dir="output" nm="MTACK" no="96" sr="fast"/><pin dir="output" nm="LAN_CFG<4>" no="110" sr="fast"/><pin dir="output" nm="LAN_CFG<3>" no="13" sr="fast"/><pin dir="output" nm="LAN_CFG<2>" no="135" sr="fast"/><pin dir="output" nm="LAN_CFG<1>" no="12" sr="fast"/><pin dir="output" nm="ROM_B<1>" no="69" sr="fast"/><pin dir="output" nm="ROM_B<0>" no="33" sr="fast"/><pin dir="bidir" nm="A<8>" no="56" sr="fast"/><pin dir="bidir" nm="A<18>" no="94" sr="fast"/><pin dir="bidir" nm="A<19>" no="92" sr="fast"/><pin dir="bidir" nm="A<20>" no="91" sr="fast"/><pin dir="bidir" nm="A<21>" no="88" sr="fast"/><pin dir="bidir" nm="A<22>" no="87" sr="fast"/><pin dir="bidir" nm="A<23>" no="86" sr="fast"/><pin dir="bidir" nm="A<9>" no="58" sr="fast"/><pin dir="bidir" nm="A<10>" no="59" sr="fast"/><pin dir="bidir" nm="A<11>" no="60" sr="fast"/><pin dir="bidir" nm="A<12>" no="61" sr="fast"/><pin dir="bidir" nm="A<13>" no="64" sr="fast"/><pin dir="bidir" nm="A<14>" no="66" sr="fast"/><pin dir="bidir" nm="A<15>" no="74" sr="fast"/><pin dir="bidir" nm="A<16>" no="97" sr="fast"/><pin dir="bidir" nm="A<17>" no="95" sr="fast"/><pin dir="bidir" nm="DQ<10>" no="129" sr="fast"/><pin dir="bidir" nm="DQ<11>" no="115" sr="fast"/><pin dir="bidir" nm="DQ<1>" no="117" sr="fast"/><pin dir="bidir" nm="DQ<4>" no="124" sr="fast"/><pin dir="bidir" nm="DQ<8>" no="128" sr="fast"/><pin dir="bidir" nm="DQ<9>" no="116" sr="fast"/><pin dir="bidir" nm="D<0>" no="2" sr="fast"/><pin dir="bidir" nm="D<10>" no="41" sr="fast"/><pin dir="bidir" nm="D<11>" no="43" sr="fast"/><pin dir="bidir" nm="D<12>" no="44" sr="fast"/><pin dir="bidir" nm="D<13>" no="45" sr="fast"/><pin dir="bidir" nm="D<14>" no="46" sr="fast"/><pin dir="bidir" nm="D<15>" no="48" sr="fast"/><pin dir="bidir" nm="D<1>" no="17" sr="fast"/><pin dir="bidir" nm="D<2>" no="39" sr="fast"/><pin dir="bidir" nm="D<3>" no="15" sr="fast"/><pin dir="bidir" nm="D<4>" nLine truncated
|
<ibis><part arch="xc9500xl" device="XC95288XL" pkg="TQ144" spg="-10"/><pin dir="input" nm="Z3" no="79"/><pin dir="input" nm="CLK_EXT" no="30"/><pin dir="input" nm="FCS" no="77"/><pin dir="input" nm="RW" no="83"/><pin dir="input" nm="AS" no="80"/><pin dir="input" nm="RESET" no="143"/><pin dir="input" nm="A<2>" no="54"/><pin dir="input" nm="A<4>" no="50"/><pin dir="input" nm="A<1>" no="57"/><pin dir="input" nm="A<5>" no="49"/><pin dir="input" nm="A<6>" no="51"/><pin dir="input" nm="UDS" no="81"/><pin dir="input" nm="LDS" no="82"/><pin dir="input" nm="A<3>" no="52"/><pin dir="input" nm="LAN_INT" no="111"/><pin dir="input" nm="DS1" no="78"/><pin dir="input" nm="DS0" no="93"/><pin dir="input" nm="CFIN" no="104"/><pin dir="input" nm="MTCR" no="101"/><pin dir="input" nm="A<7>" no="53"/><pin dir="input" nm="AUTOBOOT_OFF" no="75"/><pin dir="input" nm="C1" no="103"/><pin dir="input" nm="C3" no="102"/><pin dir="input" nm="CP_IRQ" no="31"/><pin dir="output" nm="A_LAN<2>" no="6" sr="fast"/><pin dir="output" nm="A_LAN<4>" no="9" sr="fast"/><pin dir="output" nm="A_LAN<5>" no="7" sr="fast"/><pin dir="output" nm="ROM_OE" no="35" sr="fast"/><pin dir="output" nm="A_LAN<0>" no="4" sr="fast"/><pin dir="output" nm="A_LAN<10>" no="138" sr="fast"/><pin dir="output" nm="A_LAN<11>" no="139" sr="fast"/><pin dir="output" nm="A_LAN<12>" no="136" sr="fast"/><pin dir="output" nm="A_LAN<13>" no="137" sr="fast"/><pin dir="output" nm="A_LAN<1>" no="3" sr="fast"/><pin dir="output" nm="A_LAN<3>" no="5" sr="fast"/><pin dir="output" nm="A_LAN<6>" no="11" sr="fast"/><pin dir="output" nm="A_LAN<7>" no="10" sr="fast"/><pin dir="output" nm="A_LAN<8>" no="140" sr="fast"/><pin dir="output" nm="A_LAN<9>" no="142" sr="fast"/><pin dir="output" nm="CP_RD" no="71" sr="fast"/><pin dir="output" nm="CP_WE" no="70" sr="fast"/><pin dir="output" nm="IDE_R" no="27" sr="fast"/><pin dir="output" nm="IDE_W" no="28" sr="fast"/><pin dir="output" nm="LAN_CS" no="133" sr="fast"/><pin dir="output" nm="LAN_WRH" no="132" sr="fast"/><pin dir="output" nm="LAN_WRL" no="76" sr="fast"/><pin dir="output" nm="LAN_RD" no="134" sr="fast"/><pin dir="output" nm="SLAVE" no="106" sr="fast"/><pin dir="output" nm="DTACK" no="85" sr="fast"/><pin dir="output" nm="OVR" no="100" sr="fast"/><pin dir="output" nm="INT6_OUT" no="68" sr="fast"/><pin dir="output" nm="INT2_OUT" no="32" sr="fast"/><pin dir="output" nm="CFOUT" no="105" sr="fast"/><pin dir="output" nm="CP_CS" no="34" sr="fast"/><pin dir="output" nm="IDE_A<0>" no="24" sr="fast"/><pin dir="output" nm="IDE_A<1>" no="26" sr="fast"/><pin dir="output" nm="IDE_A<2>" no="25" sr="fast"/><pin dir="output" nm="IDE_CS<0>" no="22" sr="fast"/><pin dir="output" nm="IDE_CS<1>" no="23" sr="fast"/><pin dir="output" nm="OWN" no="107" sr="fast"/><pin dir="output" nm="MTACK" no="96" sr="fast"/><pin dir="output" nm="LAN_CFG<4>" no="110" sr="fast"/><pin dir="output" nm="LAN_CFG<3>" no="13" sr="fast"/><pin dir="output" nm="LAN_CFG<2>" no="135" sr="fast"/><pin dir="output" nm="LAN_CFG<1>" no="12" sr="fast"/><pin dir="output" nm="ROM_B<1>" no="69" sr="fast"/><pin dir="output" nm="ROM_B<0>" no="33" sr="fast"/><pin dir="bidir" nm="A<8>" no="56" sr="fast"/><pin dir="bidir" nm="A<18>" no="94" sr="fast"/><pin dir="bidir" nm="A<19>" no="92" sr="fast"/><pin dir="bidir" nm="A<20>" no="91" sr="fast"/><pin dir="bidir" nm="A<21>" no="88" sr="fast"/><pin dir="bidir" nm="A<22>" no="87" sr="fast"/><pin dir="bidir" nm="A<23>" no="86" sr="fast"/><pin dir="bidir" nm="A<9>" no="58" sr="fast"/><pin dir="bidir" nm="A<10>" no="59" sr="fast"/><pin dir="bidir" nm="A<11>" no="60" sr="fast"/><pin dir="bidir" nm="A<12>" no="61" sr="fast"/><pin dir="bidir" nm="A<13>" no="64" sr="fast"/><pin dir="bidir" nm="A<14>" no="66" sr="fast"/><pin dir="bidir" nm="A<15>" no="74" sr="fast"/><pin dir="bidir" nm="A<16>" no="97" sr="fast"/><pin dir="bidir" nm="A<17>" no="95" sr="fast"/><pin dir="bidir" nm="DQ<10>" no="129" sr="fast"/><pin dir="bidir" nm="DQ<11>" no="115" sr="fast"/><pin dir="bidir" nm="DQ<1>" no="117" sr="fast"/><pin dir="bidir" nm="DQ<4>" no="124" sr="fast"/><pin dir="bidir" nm="DQ<8>" no="128" sr="fast"/><pin dir="bidir" nm="DQ<9>" no="116" sr="fast"/><pin dir="bidir" nm="D<0>" no="2" sr="fast"/><pin dir="bidir" nm="D<10>" no="41" sr="fast"/><pin dir="bidir" nm="D<11>" no="43" sr="fast"/><pin dir="bidir" nm="D<12>" no="44" sr="fast"/><pin dir="bidir" nm="D<13>" no="45" sr="fast"/><pin dir="bidir" nm="D<14>" no="46" sr="fast"/><pin dir="bidir" nm="D<15>" no="48" sr="fast"/><pin dir="bidir" nm="D<1>" no="17" sr="fast"/><pin dir="bidir" nm="D<2>" no="39" sr="fast"/><pin dir="bidir" nm="D<3>" no="15" sr="fastLine truncated
|
||||||
+2089
-2290
File diff suppressed because it is too large.
Load diff
@@ -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 : Compact
|
FSM Encoding Algorithm : Gray
|
||||||
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 : 1
|
Optimization Effort : 2
|
||||||
Keep Hierarchy : Yes
|
Keep Hierarchy : Yes
|
||||||
Netlist Hierarchy : As_Optimized
|
Netlist Hierarchy : As_Optimized
|
||||||
RTL Output : Yes
|
RTL Output : Yes
|
||||||
@@ -71,7 +71,7 @@ wysiwyg : NO
|
|||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
Setting FSM Encoding Algorithm to : OPT
|
Setting FSM Encoding Algorithm to : Gray
|
||||||
|
|
||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
@@ -110,22 +110,22 @@ INFO:Xst:2561 - Always blocking tristate driving signal <A> in unit <LAN_IDE_CP>
|
|||||||
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/LAN_IDE_CP.vhd".
|
Related source file is "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/LAN_IDE_CP.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 <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 <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.
|
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:646 - Signal <LAN_SM_RST> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
|
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:646 - Signal <LAN_CYCLE_IN_PROGRESS> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
|
WARNING:Xst:1780 - Signal <CONFIG_READY> is never used or assigned. This unconnected signal will be trimmed during the optimization process.
|
||||||
INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>.
|
INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>.
|
||||||
Found finite state machine <FSM_0> for signal <LAN_SM>.
|
Found finite state machine <FSM_0> for signal <LAN_SM>.
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
| States | 13 |
|
| States | 13 |
|
||||||
| Transitions | 26 |
|
| Transitions | 19 |
|
||||||
| Inputs | 9 |
|
| Inputs | 4 |
|
||||||
| Outputs | 14 |
|
| Outputs | 14 |
|
||||||
| Clock | CLK_EXT (rising_edge) |
|
| Clock | CLK_EXT (rising_edge) |
|
||||||
| Reset | RESET (negative) |
|
| Reset | LAN_SM_RST (positive) |
|
||||||
| Reset type | asynchronous |
|
| Reset type | asynchronous |
|
||||||
| Reset State | nop |
|
| Reset State | nop |
|
||||||
| Power Up State | nop |
|
| Power Up State | nop |
|
||||||
| Encoding | compact |
|
| Encoding | gray |
|
||||||
| Implementation | automatic |
|
| Implementation | automatic |
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
Found finite state machine <FSM_1> for signal <LAN_RST_SM>.
|
Found finite state machine <FSM_1> for signal <LAN_RST_SM>.
|
||||||
@@ -139,7 +139,7 @@ INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>.
|
|||||||
| Reset type | asynchronous |
|
| Reset type | asynchronous |
|
||||||
| Reset State | nop |
|
| Reset State | nop |
|
||||||
| Power Up State | nop |
|
| Power Up State | nop |
|
||||||
| Encoding | compact |
|
| Encoding | gray |
|
||||||
| Implementation | automatic |
|
| Implementation | automatic |
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
Found 16-bit tristate buffer for signal <D>.
|
Found 16-bit tristate buffer for signal <D>.
|
||||||
@@ -167,32 +167,31 @@ INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>.
|
|||||||
Found 1-bit tristate buffer for signal <A<10>>.
|
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<9>>.
|
||||||
Found 1-bit tristate buffer for signal <A<8>>.
|
Found 1-bit tristate buffer for signal <A<8>>.
|
||||||
Found 1-bit xor2 for signal <AMIGA_CLK$xor0000> created at line 183.
|
Found 1-bit xor2 for signal <AMIGA_CLK$xor0000> created at line 179.
|
||||||
Found 3-bit register for signal <AUTO_CONFIG_Z2_DONE>.
|
Found 3-bit register for signal <AUTO_CONFIG_Z2_DONE>.
|
||||||
Found 3-bit register for signal <AUTO_CONFIG_Z2_DONE_CYCLE>.
|
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 <AUTOCONFIG_Z2_ACCESS>.
|
||||||
Found 1-bit register for signal <CP_ACCESS>.
|
Found 1-bit register for signal <CP_ACCESS>.
|
||||||
Found 8-bit comparator equal for signal <CP_ACCESS$cmp_eq0000> created at line 295.
|
Found 8-bit comparator equal for signal <CP_ACCESS$cmp_eq0000> created at line 292.
|
||||||
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 4-bit register for signal <D_Z2_OUT>.
|
||||||
|
Found 4-bit comparator less for signal <DQ$cmp_lt0000> created at line 637.
|
||||||
Found 16-bit register for signal <DQ_DATA>.
|
Found 16-bit register for signal <DQ_DATA>.
|
||||||
Found 1-bit register for signal <DQ_SWAP>.
|
Found 1-bit register for signal <DQ_SWAP>.
|
||||||
Found 2-bit comparator less for signal <DQ_SWAP$cmp_lt0000> created at line 262.
|
Found 2-bit comparator less for signal <DQ_SWAP$cmp_lt0000> created at line 264.
|
||||||
Found 1-bit register for signal <FCS_N_D0>.
|
|
||||||
Found 1-bit register for signal <FCS_P_D0>.
|
|
||||||
Found 1-bit register for signal <FCS_SM_P_D0>.
|
|
||||||
Found 1-bit register for signal <IDE_ACCESS>.
|
Found 1-bit register for signal <IDE_ACCESS>.
|
||||||
Found 8-bit comparator equal for signal <IDE_ACCESS$cmp_eq0000> created at line 302.
|
Found 8-bit comparator equal for signal <IDE_ACCESS$cmp_eq0000> created at line 299.
|
||||||
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 14-bit register for signal <LAN_A_INIT>.
|
Found 14-bit register for signal <LAN_A_INIT>.
|
||||||
Found 1-bit register for signal <LAN_ACCESS>.
|
Found 1-bit register for signal <LAN_ACCESS>.
|
||||||
Found 16-bit comparator equal for signal <LAN_ACCESS$cmp_eq0000> created at line 271.
|
Found 8-bit comparator equal for signal <LAN_ACCESS$cmp_eq0000> created at line 263.
|
||||||
Found 16-bit register for signal <LAN_BASEADR>.
|
Found 16-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 16-bit register for signal <LAN_D_INIT>.
|
||||||
@@ -201,8 +200,8 @@ INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>.
|
|||||||
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 1-bit register for signal <LAN_READY>.
|
||||||
Found 4-bit comparator less for signal <LAN_SM$cmp_lt0000> created at line 419.
|
Found 2-bit comparator less for signal <LAN_SM$cmp_lt0000> created at line 389.
|
||||||
Found 2-bit comparator less for signal <LAN_SM$cmp_lt0001> created at line 423.
|
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>.
|
||||||
@@ -213,7 +212,7 @@ INFO:Xst:1799 - State start_read_upper is never reached in FSM <LAN_SM>.
|
|||||||
Found 32-bit register for signal <Z3_DATA>.
|
Found 32-bit register for signal <Z3_DATA>.
|
||||||
Summary:
|
Summary:
|
||||||
inferred 2 Finite State Machine(s).
|
inferred 2 Finite State Machine(s).
|
||||||
inferred 77 D-type flip-flop(s).
|
inferred 59 D-type flip-flop(s).
|
||||||
inferred 6 Comparator(s).
|
inferred 6 Comparator(s).
|
||||||
inferred 1 Xor(s).
|
inferred 1 Xor(s).
|
||||||
inferred 58 Tristate(s).
|
inferred 58 Tristate(s).
|
||||||
@@ -224,18 +223,17 @@ Unit <LAN_IDE_CP> synthesized.
|
|||||||
HDL Synthesis Report
|
HDL Synthesis Report
|
||||||
|
|
||||||
Macro Statistics
|
Macro Statistics
|
||||||
# Registers : 86
|
# Registers : 71
|
||||||
1-bit register : 78
|
1-bit register : 62
|
||||||
14-bit register : 2
|
14-bit register : 2
|
||||||
16-bit register : 2
|
16-bit register : 3
|
||||||
3-bit register : 1
|
3-bit register : 1
|
||||||
4-bit register : 1
|
4-bit register : 1
|
||||||
8-bit register : 2
|
8-bit register : 2
|
||||||
# Comparators : 6
|
# Comparators : 6
|
||||||
16-bit comparator equal : 1
|
|
||||||
2-bit comparator less : 2
|
2-bit comparator less : 2
|
||||||
4-bit comparator less : 1
|
4-bit comparator less : 1
|
||||||
8-bit comparator equal : 2
|
8-bit comparator equal : 3
|
||||||
# Tristates : 28
|
# Tristates : 28
|
||||||
1-bit tristate buffer : 26
|
1-bit tristate buffer : 26
|
||||||
16-bit tristate buffer : 2
|
16-bit tristate buffer : 2
|
||||||
@@ -248,37 +246,37 @@ Macro Statistics
|
|||||||
* Advanced HDL Synthesis *
|
* Advanced HDL Synthesis *
|
||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
Optimizing FSM <LAN_RST_SM/FSM> on signal <LAN_RST_SM[1:3]> with compact encoding.
|
Optimizing FSM <LAN_RST_SM/FSM> on signal <LAN_RST_SM[1:3]> with gray encoding.
|
||||||
------------------------
|
------------------------
|
||||||
State | Encoding
|
State | Encoding
|
||||||
------------------------
|
------------------------
|
||||||
nop | 000
|
nop | 000
|
||||||
wait0 | 100
|
wait0 | 001
|
||||||
clr | 101
|
clr | 011
|
||||||
clr_commit | 111
|
clr_commit | 010
|
||||||
wait1 | 001
|
wait1 | 110
|
||||||
set | 011
|
set | 111
|
||||||
set_commit | 010
|
set_commit | 101
|
||||||
done | 110
|
done | 100
|
||||||
------------------------
|
------------------------
|
||||||
Optimizing FSM <LAN_SM/FSM> on signal <LAN_SM[1:4]> with compact encoding.
|
Optimizing FSM <LAN_SM/FSM> on signal <LAN_SM[1:4]> with gray encoding.
|
||||||
-------------------------------
|
-------------------------------
|
||||||
State | Encoding
|
State | Encoding
|
||||||
-------------------------------
|
-------------------------------
|
||||||
nop | 0000
|
nop | 0000
|
||||||
start_read_upper | unreached
|
start_read_upper | unreached
|
||||||
wait_read_upper | 1111
|
wait_read_upper | 0011
|
||||||
end_read_upper | 1100
|
end_read_upper | 0101
|
||||||
start_read_lower | 0110
|
start_read_lower | 0100
|
||||||
wait_read_lower | 0111
|
wait_read_lower | 0010
|
||||||
end_read_lower | 0001
|
end_read_lower | 1100
|
||||||
start_write_upper | 1011
|
start_write_upper | 0110
|
||||||
wait_write_upper | 1110
|
wait_write_upper | 1101
|
||||||
end_write_upper | 0100
|
end_write_upper | 1111
|
||||||
start_write_lower | 0011
|
start_write_lower | 0111
|
||||||
wait_write_lower | 1101
|
wait_write_lower | 1110
|
||||||
wait_cycle_end | 0010
|
end_write_lower | 1010
|
||||||
config_rw | 0101
|
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 <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 <12>. This FF/Latch will be trimmed during the optimization process.
|
||||||
@@ -308,11 +306,10 @@ Advanced HDL Synthesis Report
|
|||||||
|
|
||||||
Macro Statistics
|
Macro Statistics
|
||||||
# FSMs : 2
|
# FSMs : 2
|
||||||
# Registers : 76
|
# Registers : 59
|
||||||
Flip-Flops : 76
|
Flip-Flops : 59
|
||||||
# Comparators : 3
|
# Comparators : 3
|
||||||
16-bit comparator equal : 1
|
8-bit comparator equal : 3
|
||||||
8-bit comparator equal : 2
|
|
||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
@@ -341,35 +338,43 @@ WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <LAN_A_INIT_4> has a
|
|||||||
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_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_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: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_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>
|
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=s : SHUT_UP_Z2_1
|
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_2
|
||||||
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_0
|
|
||||||
implementation constraint: INIT=s : D_Z2_OUT_0
|
|
||||||
implementation constraint: INIT=r : LAN_INT_ENABLE
|
|
||||||
implementation constraint: INIT=s : SHUT_UP_Z2_0
|
|
||||||
implementation constraint: INIT=s : SHUT_UP_Z2_2
|
|
||||||
implementation constraint: INIT=r : LAN_SM_FSM_FFd4
|
|
||||||
implementation constraint: INIT=r : LAN_SM_FSM_FFd3
|
|
||||||
implementation constraint: INIT=r : LAN_SM_FSM_FFd2
|
|
||||||
implementation constraint: INIT=s : LAN_A_INIT_3
|
|
||||||
implementation constraint: INIT=r : LAN_SM_FSM_FFd1
|
|
||||||
implementation constraint: INIT=s : LAN_A_INIT_6
|
|
||||||
implementation constraint: INIT=s : D_Z2_OUT_3
|
|
||||||
implementation constraint: INIT=s : D_Z2_OUT_2
|
implementation constraint: INIT=s : D_Z2_OUT_2
|
||||||
implementation constraint: INIT=s : D_Z2_OUT_1
|
implementation constraint: INIT=s : D_Z2_OUT_1
|
||||||
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_1
|
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_1
|
||||||
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_2
|
|
||||||
implementation constraint: INIT=r : LAN_D_INIT_1
|
|
||||||
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_2
|
|
||||||
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_1
|
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_1
|
||||||
|
implementation constraint: INIT=r : LAN_INT_ENABLE
|
||||||
|
implementation constraint: INIT=s : SHUT_UP_Z2_1
|
||||||
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_0
|
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_0
|
||||||
|
implementation constraint: INIT=s : D_Z2_OUT_0
|
||||||
|
implementation constraint: INIT=s : D_Z2_OUT_3
|
||||||
|
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_CYCLE_0
|
||||||
|
implementation constraint: INIT=r : AUTO_CONFIG_Z2_DONE_2
|
||||||
|
implementation constraint: INIT=s : LAN_A_INIT_3
|
||||||
|
implementation constraint: INIT=s : LAN_A_INIT_6
|
||||||
|
implementation constraint: INIT=r : LAN_D_INIT_1
|
||||||
implementation constraint: INIT=r : LAN_D_INIT_8
|
implementation constraint: INIT=r : LAN_D_INIT_8
|
||||||
|
implementation constraint: INIT=s : SHUT_UP_Z2_2
|
||||||
|
implementation constraint: INIT=s : SHUT_UP_Z2_0
|
||||||
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_SM_FSM_FFd2
|
||||||
|
implementation constraint: INIT=r : LAN_SM_FSM_FFd3
|
||||||
|
implementation constraint: INIT=r : LAN_SM_FSM_FFd4
|
||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
* Partition Report *
|
* Partition Report *
|
||||||
@@ -401,42 +406,40 @@ Design Statistics
|
|||||||
# IOs : 117
|
# IOs : 117
|
||||||
|
|
||||||
Cell Usage :
|
Cell Usage :
|
||||||
# BELS : 1292
|
# BELS : 1402
|
||||||
# AND2 : 404
|
# AND2 : 452
|
||||||
# AND3 : 63
|
# AND3 : 66
|
||||||
# AND4 : 17
|
# AND4 : 23
|
||||||
# AND5 : 1
|
# AND5 : 1
|
||||||
# AND6 : 2
|
# AND8 : 3
|
||||||
# AND7 : 1
|
|
||||||
# AND8 : 4
|
|
||||||
# GND : 1
|
# GND : 1
|
||||||
# INV : 480
|
# INV : 532
|
||||||
# OR2 : 250
|
# OR2 : 243
|
||||||
# OR3 : 34
|
# OR3 : 53
|
||||||
# OR4 : 1
|
# OR4 : 3
|
||||||
# XOR2 : 34
|
# XOR2 : 25
|
||||||
# FlipFlops/Latches : 142
|
# FlipFlops/Latches : 134
|
||||||
# FD : 3
|
# FD : 4
|
||||||
# FDC : 22
|
# FDC : 21
|
||||||
# FDCE : 7
|
# FDCE : 7
|
||||||
# FDP : 41
|
# FDP : 41
|
||||||
# FDPE : 69
|
# FDPE : 61
|
||||||
# IO Buffers : 114
|
# IO Buffers : 115
|
||||||
# IBUF : 23
|
# IBUF : 24
|
||||||
# IOBUFE : 48
|
# IOBUFE : 48
|
||||||
# OBUF : 33
|
# OBUF : 33
|
||||||
# OBUFE : 10
|
# OBUFE : 10
|
||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
|
|
||||||
Total REAL time to Xst completion: 14.00 secs
|
Total REAL time to Xst completion: 9.00 secs
|
||||||
Total CPU time to Xst completion: 13.75 secs
|
Total CPU time to Xst completion: 9.07 secs
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
Total memory usage is 4534768 kilobytes
|
Total memory usage is 4534748 kilobytes
|
||||||
|
|
||||||
Number of errors : 0 ( 0 filtered)
|
Number of errors : 0 ( 0 filtered)
|
||||||
Number of warnings : 48 ( 0 filtered)
|
Number of warnings : 56 ( 0 filtered)
|
||||||
Number of infos : 10 ( 0 filtered)
|
Number of infos : 10 ( 0 filtered)
|
||||||
|
|
||||||
+510
-502
File diff suppressed because it is too large.
Load diff
@@ -107,7 +107,7 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
end_write_upper,
|
end_write_upper,
|
||||||
start_write_lower,
|
start_write_lower,
|
||||||
wait_write_lower,
|
wait_write_lower,
|
||||||
wait_cycle_end,
|
end_write_lower,
|
||||||
config_rw
|
config_rw
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -135,6 +135,7 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
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_READY: std_logic;
|
signal LAN_READY: std_logic;
|
||||||
|
signal CONFIG_READY: std_logic;
|
||||||
signal LAN_IRQ_D0: std_logic;
|
signal LAN_IRQ_D0: std_logic;
|
||||||
signal LAN_IRQ_OUT: std_logic;
|
signal LAN_IRQ_OUT: std_logic;
|
||||||
signal Z3_ADR:STD_LOGIC_VECTOR(15 downto 2);
|
signal Z3_ADR:STD_LOGIC_VECTOR(15 downto 2);
|
||||||
@@ -144,12 +145,6 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
signal Z3_DS:STD_LOGIC_VECTOR(3 downto 0);
|
signal Z3_DS:STD_LOGIC_VECTOR(3 downto 0);
|
||||||
signal Z3_A_LOW:STD_LOGIC;
|
signal Z3_A_LOW:STD_LOGIC;
|
||||||
signal LAN_SM_RST:STD_LOGIC;
|
signal LAN_SM_RST:STD_LOGIC;
|
||||||
signal FCS_P_D0:STD_LOGIC;
|
|
||||||
signal FCS_N_D0:STD_LOGIC;
|
|
||||||
signal FCS_SM_P_D0:STD_LOGIC;
|
|
||||||
signal FCS_SM_N_D0:STD_LOGIC;
|
|
||||||
signal LAN_CYCLE_IN_PROGRESS:STD_LOGIC;
|
|
||||||
|
|
||||||
|
|
||||||
signal CP_RD_S: std_logic;
|
signal CP_RD_S: std_logic;
|
||||||
signal CP_WE_S: std_logic;
|
signal CP_WE_S: std_logic;
|
||||||
@@ -160,6 +155,7 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
|
|
||||||
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 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";
|
||||||
signal LAN_D_INIT:STD_LOGIC_VECTOR(15 downto 0) := x"0000";
|
signal LAN_D_INIT:STD_LOGIC_VECTOR(15 downto 0) := x"0000";
|
||||||
@@ -249,37 +245,38 @@ begin
|
|||||||
|
|
||||||
ADDRESS_Z3_DECODE: process(AS,reset,FCS)
|
ADDRESS_Z3_DECODE: process(AS,reset,FCS)
|
||||||
begin
|
begin
|
||||||
if(--AS ='0' or
|
if(reset='0')then
|
||||||
reset='0')then
|
|
||||||
LAN_ACCESS <= '0';
|
LAN_ACCESS <= '0';
|
||||||
DQ_SWAP <= '1';
|
DQ_SWAP <= '1';
|
||||||
Z3_ADR <= (others => '1');
|
Z3_ADR <= (others => '1');
|
||||||
|
INT_VECTOR_CYCLE <='0';
|
||||||
elsif(falling_edge(FCS))then
|
elsif(falling_edge(FCS))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
|
||||||
|
|
||||||
if(A(14 downto 13)<"11")then
|
INT_VECTOR_CYCLE <= not MTCR; --is this s special int vector cycle?!?
|
||||||
DQ_SWAP <= '1';
|
|
||||||
else
|
|
||||||
DQ_SWAP <= '0';
|
|
||||||
end if;
|
|
||||||
|
|
||||||
--use D(15 downto 8)& A(23 downto 16) = A(31 downto 16) for quick response
|
--use D(15 downto 8)& A(23 downto 16) = A(31 downto 16) for quick response
|
||||||
|
|
||||||
--lan base
|
--lan base
|
||||||
if(Z3='1' and (D(15 downto 8) & A(23 downto 16)) = LAN_BASEADR and SHUT_UP_Z2(0)='0' )then
|
--if(Z3='1' and (D(15 downto 8) & A(23 downto 16)) = LAN_BASEADR and SHUT_UP_Z2(0)='0' )then
|
||||||
|
if(Z3='1' and (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';
|
LAN_ACCESS <= '1';
|
||||||
else
|
else
|
||||||
LAN_ACCESS <= '0';
|
LAN_ACCESS <= '0';
|
||||||
|
DQ_SWAP <= '1';
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end process ADDRESS_Z3_DECODE;
|
end process ADDRESS_Z3_DECODE;
|
||||||
|
|
||||||
ADDRESS_Z2_DECODE: process(FCS,reset,AS)
|
ADDRESS_Z2_DECODE: process(FCS,reset,AS)
|
||||||
begin
|
begin
|
||||||
if(--FCS ='0' or
|
if(reset='0' or FCS='1')then
|
||||||
reset='0')then
|
|
||||||
AUTOCONFIG_Z2_ACCESS <= '0';
|
AUTOCONFIG_Z2_ACCESS <= '0';
|
||||||
IDE_ACCESS <= '0';
|
IDE_ACCESS <= '0';
|
||||||
CP_ACCESS <= '0';
|
CP_ACCESS <= '0';
|
||||||
@@ -292,14 +289,14 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
|
|
||||||
--CP base
|
--CP base
|
||||||
if(A(23 downto 16) = CP_BASEADR and SHUT_UP_Z2(1)='0' )then
|
if(A(23 downto 16) = CP_BASEADR and SHUT_UP_Z2(1)='0' and LAN_ACCESS = '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' )then
|
if(A(23 downto 16) = IDE_BASEADR and SHUT_UP_Z2(2)='0' and LAN_ACCESS = '0' )then
|
||||||
IDE_ACCESS <= '1';
|
IDE_ACCESS <= '1';
|
||||||
else
|
else
|
||||||
IDE_ACCESS <= '0';
|
IDE_ACCESS <= '0';
|
||||||
@@ -337,7 +334,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 BERR = '0') then
|
if(FCS ='1' or reset = '0' or Z3_DS = "1111" or LAN_ACCESS = '0' or INT_VECTOR_CYCLE ='1') then
|
||||||
LAN_SM_RST <='1';
|
LAN_SM_RST <='1';
|
||||||
else
|
else
|
||||||
LAN_SM_RST <='0';
|
LAN_SM_RST <='0';
|
||||||
@@ -345,30 +342,10 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end process lan_rst_gen;
|
end process lan_rst_gen;
|
||||||
|
|
||||||
fcs_pos_edge_detect: process(reset, FCS)
|
|
||||||
begin
|
|
||||||
if(reset ='0') then
|
|
||||||
FCS_P_D0 <='0';
|
|
||||||
elsif(rising_edge(FCS)) then
|
|
||||||
FCS_P_D0 <= not FCS_P_D0; --toggle
|
|
||||||
end if;
|
|
||||||
end process;
|
|
||||||
|
|
||||||
fcs_neg_edge_detect: process(reset, FCS)
|
|
||||||
begin
|
|
||||||
if(reset ='0') then
|
|
||||||
FCS_N_D0 <='0';
|
|
||||||
elsif(falling_edge(FCS)) then
|
|
||||||
FCS_N_D0 <= not FCS_N_D0; --toggle
|
|
||||||
end if;
|
|
||||||
end process;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--lan signal generation: all Signals are HIGH active!
|
--lan signal generation: all Signals are HIGH active!
|
||||||
lan_rw_gen: process (CLK_EXT,reset )
|
lan_rw_gen: process (CLK_EXT,LAN_SM_RST)
|
||||||
begin
|
begin
|
||||||
if(reset = '0' ) then
|
if(LAN_SM_RST ='1' ) then
|
||||||
LAN_SM <=nop;
|
LAN_SM <=nop;
|
||||||
LAN_RD_S <= '0';
|
LAN_RD_S <= '0';
|
||||||
LAN_WRH_S <= '0';
|
LAN_WRH_S <= '0';
|
||||||
@@ -377,9 +354,6 @@ begin
|
|||||||
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";
|
DQ_DATA(15 downto 0) <= x"FFFF";
|
||||||
FCS_SM_P_D0 <='0';
|
|
||||||
FCS_SM_N_D0 <='0';
|
|
||||||
LAN_CYCLE_IN_PROGRESS <='0';
|
|
||||||
elsif rising_edge(CLK_EXT) then
|
elsif rising_edge(CLK_EXT) then
|
||||||
--default values
|
--default values
|
||||||
LAN_RD_S <= '0';
|
LAN_RD_S <= '0';
|
||||||
@@ -387,13 +361,6 @@ begin
|
|||||||
LAN_WRL_S <= '0';
|
LAN_WRL_S <= '0';
|
||||||
Z3_A_LOW <= '0';
|
Z3_A_LOW <= '0';
|
||||||
LAN_READY <= '0';
|
LAN_READY <= '0';
|
||||||
FCS_SM_N_D0 <= FCS_N_D0; --store edge state
|
|
||||||
FCS_SM_P_D0 <= FCS_P_D0; --store edge state
|
|
||||||
if(LAN_ACCESS = '1' and FCS_SM_N_D0 /= FCS_N_D0) then
|
|
||||||
LAN_CYCLE_IN_PROGRESS <='1';
|
|
||||||
elsif(FCS_SM_P_D0 /= FCS_P_D0) then
|
|
||||||
LAN_CYCLE_IN_PROGRESS <='0';
|
|
||||||
end if;
|
|
||||||
case LAN_SM is
|
case LAN_SM is
|
||||||
when nop=>
|
when nop=>
|
||||||
--cycle start!
|
--cycle start!
|
||||||
@@ -416,27 +383,23 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
if(Z3_DS < "1111" and LAN_ACCESS = '1' and FCS='0')then
|
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
|
||||||
if(Z3_DS(3 downto 2) < "11")then --determine bushalf
|
if(Z3_DS(3 downto 2) < "11")then --determine bushalf
|
||||||
LAN_RD_S <= '1';
|
LAN_RD_S <= '1';
|
||||||
LAN_SM <= wait_read_upper;
|
LAN_SM <= wait_read_upper;
|
||||||
else
|
else
|
||||||
LAN_RD_S <= '1';
|
LAN_RD_S <= '1';
|
||||||
LAN_SM <= wait_read_lower;
|
LAN_SM <= wait_read_lower;
|
||||||
end if;
|
end if;
|
||||||
|
else
|
||||||
|
|
||||||
|
if(Z3_DS(3 downto 2) < "11")then -- determine bushalf
|
||||||
|
LAN_SM <= start_write_upper;
|
||||||
else
|
else
|
||||||
|
LAN_SM <= start_write_lower;
|
||||||
if(Z3_DS(3 downto 2) < "11")then -- determine bushalf
|
|
||||||
LAN_SM <= start_write_upper;
|
|
||||||
else
|
|
||||||
LAN_SM <= start_write_lower;
|
|
||||||
end if;
|
|
||||||
end if;
|
end if;
|
||||||
else
|
|
||||||
LAN_SM <= nop;
|
|
||||||
end if;
|
end if;
|
||||||
when start_read_upper=>
|
when start_read_upper=>
|
||||||
LAN_RD_S <= '1';
|
LAN_RD_S <= '1';
|
||||||
@@ -453,7 +416,7 @@ begin
|
|||||||
end if;
|
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';
|
||||||
LAN_SM <= wait_cycle_end;
|
LAN_SM <= end_read_upper; -- stay here until cylce end
|
||||||
else
|
else
|
||||||
Z3_A_LOW <= '1';
|
Z3_A_LOW <= '1';
|
||||||
LAN_SM <= start_read_lower;
|
LAN_SM <= start_read_lower;
|
||||||
@@ -475,7 +438,7 @@ begin
|
|||||||
Z3_DATA(15 downto 0) <= DQ(7 downto 0) & DQ(15 downto 8);
|
Z3_DATA(15 downto 0) <= DQ(7 downto 0) & DQ(15 downto 8);
|
||||||
end if;
|
end if;
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
LAN_SM <= wait_cycle_end;
|
LAN_SM<=end_read_lower; -- stay here until cylce end
|
||||||
when start_write_upper=>
|
when start_write_upper=>
|
||||||
-- swapped DS3/DS2 here: ENC624 is little endian
|
-- swapped DS3/DS2 here: ENC624 is little endian
|
||||||
LAN_WRH_S <= not Z3_DS(2);
|
LAN_WRH_S <= not Z3_DS(2);
|
||||||
@@ -493,7 +456,7 @@ begin
|
|||||||
|
|
||||||
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';
|
||||||
LAN_SM <= wait_cycle_end;
|
LAN_SM <= end_write_upper; -- stay here until cylce end
|
||||||
else
|
else
|
||||||
Z3_A_LOW <= '1';
|
Z3_A_LOW <= '1';
|
||||||
LAN_SM <= start_write_lower;
|
LAN_SM <= start_write_lower;
|
||||||
@@ -507,14 +470,10 @@ begin
|
|||||||
when wait_write_lower=>
|
when wait_write_lower=>
|
||||||
Z3_A_LOW <= '1';
|
Z3_A_LOW <= '1';
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
LAN_SM<=wait_cycle_end;
|
LAN_SM<=end_write_lower;
|
||||||
when wait_cycle_end=>
|
when end_write_lower=>
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
if(FCS_SM_P_D0 /= FCS_P_D0 or FCS ='1')then
|
LAN_SM<=end_write_lower; -- stay here until cylce end
|
||||||
LAN_SM <= nop;
|
|
||||||
else
|
|
||||||
LAN_SM<=wait_cycle_end; -- stay here until cylce end
|
|
||||||
end if;
|
|
||||||
when config_rw=>
|
when config_rw=>
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
if(Z3_DS(3) ='0' and RW='0')then
|
if(Z3_DS(3) ='0' and RW='0')then
|
||||||
@@ -522,7 +481,7 @@ begin
|
|||||||
elsif(Z3_DS(1) ='0' and RW='0')then
|
elsif(Z3_DS(1) ='0' and RW='0')then
|
||||||
LAN_INT_ENABLE <= Z3_DATA_IN(15); --this controlls the output bit
|
LAN_INT_ENABLE <= Z3_DATA_IN(15); --this controlls the output bit
|
||||||
end if;
|
end if;
|
||||||
LAN_SM <= wait_cycle_end;
|
LAN_SM<=config_rw; -- stay here until cylce end
|
||||||
end case;
|
end case;
|
||||||
end if;
|
end if;
|
||||||
end process lan_rw_gen;
|
end process lan_rw_gen;
|
||||||
@@ -604,22 +563,20 @@ begin
|
|||||||
--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" =>
|
||||||
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(1) = '0')then --reg (1)?!?! Why? it does not work with index 0 but it should!
|
if(AUTO_CONFIG_Z2_DONE(0) = '0')then
|
||||||
LAN_BASEADR(15 downto 8) <= D(15 downto 8); --Base adress
|
LAN_BASEADR(15 downto 0) <= D(15 downto 0); --Base adress
|
||||||
|
SHUT_UP_Z2(0) <='0'; --enable board
|
||||||
|
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')then
|
if(RW='0' and AUTO_CONFIG_Z2_DONE(0)='1')then
|
||||||
if(AUTO_CONFIG_Z2_DONE(0) = '0')then
|
if(AUTO_CONFIG_Z2_DONE(1) = '0')then
|
||||||
LAN_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
|
|
||||||
SHUT_UP_Z2(0) <='0'; --enable board
|
|
||||||
AUTO_CONFIG_Z2_DONE_CYCLE(0) <= '1'; --done here
|
|
||||||
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
|
||||||
@@ -696,7 +653,7 @@ begin
|
|||||||
'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') else '1';
|
||||||
CFOUT <= '0' when AUTO_CONFIG_Z2_DONE ="111" else '1';
|
CFOUT <= '0' when AUTO_CONFIG_Z2_DONE ="111" else '1';
|
||||||
|
|
||||||
OVR <= 'Z'; --'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!
|
||||||
|
|
||||||
DTACK <= '0' when FCS='0' and LAN_READY = '1' else 'Z';
|
DTACK <= '0' when FCS='0' and LAN_READY = '1' else 'Z';
|
||||||
|
|
||||||
@@ -745,7 +702,7 @@ begin
|
|||||||
--default values
|
--default values
|
||||||
CP_RD_S <= '1';
|
CP_RD_S <= '1';
|
||||||
CP_WE_S <= '1';
|
CP_WE_S <= '1';
|
||||||
if(CP_ACCESS = '1' and DS='0' and AS='0')then --datastrobe and AS!
|
if(CP_ACCESS = '1' and DS='0')then --datastrobe instead of AS!
|
||||||
CP_RD_S <= not RW;
|
CP_RD_S <= not RW;
|
||||||
CP_WE_S <= RW;
|
CP_WE_S <= RW;
|
||||||
end if;
|
end if;
|
||||||
@@ -756,7 +713,7 @@ begin
|
|||||||
--for the future
|
--for the future
|
||||||
CP_WE <= CP_WE_S when AS='0' and CP_WE_QUIRK ='1' else '1';
|
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_RD <= CP_RD_S when AS='0' else '1';
|
||||||
CP_CS <= not CP_ACCESS when AS='0' else '1';
|
CP_CS <= not CP_ACCESS;
|
||||||
|
|
||||||
end Behavioral;
|
end Behavioral;
|
||||||
|
|
||||||
@@ -107,7 +107,7 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
end_write_upper,
|
end_write_upper,
|
||||||
start_write_lower,
|
start_write_lower,
|
||||||
wait_write_lower,
|
wait_write_lower,
|
||||||
end_write_lower,
|
wait_cycle_end,
|
||||||
config_rw
|
config_rw
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -144,6 +144,14 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
signal Z3_DS:STD_LOGIC_VECTOR(3 downto 0);
|
signal Z3_DS:STD_LOGIC_VECTOR(3 downto 0);
|
||||||
signal Z3_A_LOW:STD_LOGIC;
|
signal Z3_A_LOW:STD_LOGIC;
|
||||||
signal LAN_SM_RST:STD_LOGIC;
|
signal LAN_SM_RST:STD_LOGIC;
|
||||||
|
signal FCS_P_D0:STD_LOGIC;
|
||||||
|
signal FCS_N_D0:STD_LOGIC;
|
||||||
|
signal FCS_SM_P_D0:STD_LOGIC;
|
||||||
|
signal FCS_SM_N_D0:STD_LOGIC;
|
||||||
|
signal LAN_CYCLE_IN_PROGRESS:STD_LOGIC;
|
||||||
|
signal INT6_SIG:STD_LOGIC;
|
||||||
|
signal INT2_SIG:STD_LOGIC;
|
||||||
|
|
||||||
|
|
||||||
signal CP_RD_S: std_logic;
|
signal CP_RD_S: std_logic;
|
||||||
signal CP_WE_S: std_logic;
|
signal CP_WE_S: std_logic;
|
||||||
@@ -172,6 +180,7 @@ architecture Behavioral of LAN_IDE_CP is
|
|||||||
begin
|
begin
|
||||||
|
|
||||||
Z3_DATA_IN <= D(15 downto 0) & A(23 downto 8);
|
Z3_DATA_IN <= D(15 downto 0) & A(23 downto 8);
|
||||||
|
|
||||||
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;
|
||||||
@@ -242,8 +251,7 @@ begin
|
|||||||
|
|
||||||
ADDRESS_Z3_DECODE: process(AS,reset,FCS)
|
ADDRESS_Z3_DECODE: process(AS,reset,FCS)
|
||||||
begin
|
begin
|
||||||
if(AS ='0' or
|
if(reset='0')then
|
||||||
reset='0')then
|
|
||||||
LAN_ACCESS <= '0';
|
LAN_ACCESS <= '0';
|
||||||
DQ_SWAP <= '1';
|
DQ_SWAP <= '1';
|
||||||
Z3_ADR <= (others => '1');
|
Z3_ADR <= (others => '1');
|
||||||
@@ -251,29 +259,27 @@ begin
|
|||||||
elsif(falling_edge(FCS))then
|
elsif(falling_edge(FCS))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
|
||||||
|
|
||||||
|
if(A(14 downto 13)<"11")then
|
||||||
|
DQ_SWAP <= '1';
|
||||||
|
else
|
||||||
|
DQ_SWAP <= '0';
|
||||||
|
end if;
|
||||||
|
|
||||||
--use D(15 downto 8)& A(23 downto 16) = A(31 downto 16) for quick response
|
--use D(15 downto 8)& A(23 downto 16) = A(31 downto 16) for quick response
|
||||||
|
|
||||||
--lan base
|
--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) & A(23 downto 16)) = LAN_BASEADR and SHUT_UP_Z2(0)='0' )then
|
||||||
if(A(14 downto 13)<"11")then
|
|
||||||
DQ_SWAP <= '1';
|
|
||||||
else
|
|
||||||
DQ_SWAP <= '0';
|
|
||||||
end if;
|
|
||||||
LAN_ACCESS <= '1';
|
LAN_ACCESS <= '1';
|
||||||
else
|
else
|
||||||
LAN_ACCESS <= '0';
|
LAN_ACCESS <= '0';
|
||||||
DQ_SWAP <= '1';
|
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end process ADDRESS_Z3_DECODE;
|
end process ADDRESS_Z3_DECODE;
|
||||||
|
|
||||||
ADDRESS_Z2_DECODE: process(FCS,reset,AS)
|
ADDRESS_Z2_DECODE: process(FCS,reset,AS)
|
||||||
begin
|
begin
|
||||||
if(FCS ='0' or
|
if(reset='0')then
|
||||||
reset='0')then
|
|
||||||
AUTOCONFIG_Z2_ACCESS <= '0';
|
AUTOCONFIG_Z2_ACCESS <= '0';
|
||||||
IDE_ACCESS <= '0';
|
IDE_ACCESS <= '0';
|
||||||
CP_ACCESS <= '0';
|
CP_ACCESS <= '0';
|
||||||
@@ -302,13 +308,16 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end process ADDRESS_Z2_DECODE;
|
end process ADDRESS_Z2_DECODE;
|
||||||
|
|
||||||
--LAN interrupt controll
|
|
||||||
lan_int_proc: process (CLK_EXT,reset)
|
--interrupt sampling to avoid ghost interrupts
|
||||||
|
|
||||||
|
int_proc: process (CLK_EXT,reset)
|
||||||
begin
|
begin
|
||||||
if(reset ='0') then
|
if(reset ='0') then
|
||||||
LAN_IRQ_D0 <='1';
|
LAN_IRQ_D0 <='1';
|
||||||
LAN_IRQ_OUT <='1';
|
LAN_IRQ_OUT <='1';
|
||||||
elsif rising_edge(CLK_EXT) then
|
elsif rising_edge(CLK_EXT) then
|
||||||
|
|
||||||
LAN_IRQ_D0 <= LAN_INT;
|
LAN_IRQ_D0 <= LAN_INT;
|
||||||
|
|
||||||
--set/deassert the LAN-interrupt bit
|
--set/deassert the LAN-interrupt bit
|
||||||
@@ -325,7 +334,7 @@ begin
|
|||||||
LAN_IRQ_OUT <='0';
|
LAN_IRQ_OUT <='0';
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end process lan_int_proc;
|
end process int_proc;
|
||||||
|
|
||||||
--clock this signal to avoid glitches due to short resets
|
--clock this signal to avoid glitches due to short resets
|
||||||
lan_rst_gen: process (CLK_EXT)
|
lan_rst_gen: process (CLK_EXT)
|
||||||
@@ -339,10 +348,30 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end process lan_rst_gen;
|
end process lan_rst_gen;
|
||||||
|
|
||||||
--lan signal generation: all Signals are HIGH active!
|
fcs_pos_edge_detect: process(reset, FCS)
|
||||||
lan_rw_gen: process (CLK_EXT,LAN_SM_RST)
|
|
||||||
begin
|
begin
|
||||||
if(LAN_SM_RST ='1' ) then
|
if(reset ='0') then
|
||||||
|
FCS_P_D0 <='0';
|
||||||
|
elsif(rising_edge(FCS)) then
|
||||||
|
FCS_P_D0 <= not FCS_P_D0; --toggle
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
fcs_neg_edge_detect: process(reset, FCS)
|
||||||
|
begin
|
||||||
|
if(reset ='0') then
|
||||||
|
FCS_N_D0 <='0';
|
||||||
|
elsif(falling_edge(FCS)) then
|
||||||
|
FCS_N_D0 <= not FCS_N_D0; --toggle
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--lan signal generation: all Signals are HIGH active!
|
||||||
|
lan_rw_gen: process (CLK_EXT,reset,FCS )
|
||||||
|
begin
|
||||||
|
if(reset = '0' or FCS='1') then
|
||||||
LAN_SM <=nop;
|
LAN_SM <=nop;
|
||||||
LAN_RD_S <= '0';
|
LAN_RD_S <= '0';
|
||||||
LAN_WRH_S <= '0';
|
LAN_WRH_S <= '0';
|
||||||
@@ -351,6 +380,9 @@ begin
|
|||||||
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";
|
DQ_DATA(15 downto 0) <= x"FFFF";
|
||||||
|
FCS_SM_P_D0 <='0';
|
||||||
|
FCS_SM_N_D0 <='0';
|
||||||
|
LAN_CYCLE_IN_PROGRESS <='0';
|
||||||
elsif rising_edge(CLK_EXT) then
|
elsif rising_edge(CLK_EXT) then
|
||||||
--default values
|
--default values
|
||||||
LAN_RD_S <= '0';
|
LAN_RD_S <= '0';
|
||||||
@@ -358,6 +390,13 @@ begin
|
|||||||
LAN_WRL_S <= '0';
|
LAN_WRL_S <= '0';
|
||||||
Z3_A_LOW <= '0';
|
Z3_A_LOW <= '0';
|
||||||
LAN_READY <= '0';
|
LAN_READY <= '0';
|
||||||
|
FCS_SM_N_D0 <= FCS_N_D0; --store edge state
|
||||||
|
FCS_SM_P_D0 <= FCS_P_D0; --store edge state
|
||||||
|
if(LAN_ACCESS = '1' and FCS_SM_N_D0 /= FCS_N_D0) then
|
||||||
|
LAN_CYCLE_IN_PROGRESS <='1';
|
||||||
|
elsif(FCS_SM_P_D0 /= FCS_P_D0) then
|
||||||
|
LAN_CYCLE_IN_PROGRESS <='0';
|
||||||
|
end if;
|
||||||
case LAN_SM is
|
case LAN_SM is
|
||||||
when nop=>
|
when nop=>
|
||||||
--cycle start!
|
--cycle start!
|
||||||
@@ -380,23 +419,27 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
if(Z3_ADR(15)='1')then
|
if(Z3_DS < "1111" and LAN_ACCESS = '1' and FCS='0')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
|
||||||
if(Z3_DS(3 downto 2) < "11")then --determine bushalf
|
if(Z3_DS(3 downto 2) < "11")then --determine bushalf
|
||||||
LAN_RD_S <= '1';
|
LAN_RD_S <= '1';
|
||||||
LAN_SM <= wait_read_upper;
|
LAN_SM <= wait_read_upper;
|
||||||
else
|
else
|
||||||
LAN_RD_S <= '1';
|
LAN_RD_S <= '1';
|
||||||
LAN_SM <= wait_read_lower;
|
LAN_SM <= wait_read_lower;
|
||||||
end if;
|
end if;
|
||||||
else
|
|
||||||
|
|
||||||
if(Z3_DS(3 downto 2) < "11")then -- determine bushalf
|
|
||||||
LAN_SM <= start_write_upper;
|
|
||||||
else
|
else
|
||||||
LAN_SM <= start_write_lower;
|
|
||||||
|
if(Z3_DS(3 downto 2) < "11")then -- determine bushalf
|
||||||
|
LAN_SM <= start_write_upper;
|
||||||
|
else
|
||||||
|
LAN_SM <= start_write_lower;
|
||||||
|
end if;
|
||||||
end if;
|
end if;
|
||||||
|
else
|
||||||
|
LAN_SM <= nop;
|
||||||
end if;
|
end if;
|
||||||
when start_read_upper=>
|
when start_read_upper=>
|
||||||
LAN_RD_S <= '1';
|
LAN_RD_S <= '1';
|
||||||
@@ -413,7 +456,7 @@ begin
|
|||||||
end if;
|
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';
|
||||||
LAN_SM <= end_read_upper; -- stay here until cylce end
|
LAN_SM <= wait_cycle_end;
|
||||||
else
|
else
|
||||||
Z3_A_LOW <= '1';
|
Z3_A_LOW <= '1';
|
||||||
LAN_SM <= start_read_lower;
|
LAN_SM <= start_read_lower;
|
||||||
@@ -435,7 +478,7 @@ begin
|
|||||||
Z3_DATA(15 downto 0) <= DQ(7 downto 0) & DQ(15 downto 8);
|
Z3_DATA(15 downto 0) <= DQ(7 downto 0) & DQ(15 downto 8);
|
||||||
end if;
|
end if;
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
LAN_SM<=end_read_lower; -- stay here until cylce end
|
LAN_SM <= wait_cycle_end;
|
||||||
when start_write_upper=>
|
when start_write_upper=>
|
||||||
-- swapped DS3/DS2 here: ENC624 is little endian
|
-- swapped DS3/DS2 here: ENC624 is little endian
|
||||||
LAN_WRH_S <= not Z3_DS(2);
|
LAN_WRH_S <= not Z3_DS(2);
|
||||||
@@ -453,7 +496,7 @@ begin
|
|||||||
|
|
||||||
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';
|
||||||
LAN_SM <= end_write_upper; -- stay here until cylce end
|
LAN_SM <= wait_cycle_end;
|
||||||
else
|
else
|
||||||
Z3_A_LOW <= '1';
|
Z3_A_LOW <= '1';
|
||||||
LAN_SM <= start_write_lower;
|
LAN_SM <= start_write_lower;
|
||||||
@@ -467,10 +510,14 @@ begin
|
|||||||
when wait_write_lower=>
|
when wait_write_lower=>
|
||||||
Z3_A_LOW <= '1';
|
Z3_A_LOW <= '1';
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
LAN_SM<=end_write_lower;
|
LAN_SM<=wait_cycle_end;
|
||||||
when end_write_lower=>
|
when wait_cycle_end=>
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
LAN_SM<=end_write_lower; -- stay here until cylce end
|
if(FCS_SM_P_D0 /= FCS_P_D0 or FCS ='1')then
|
||||||
|
LAN_SM <= nop;
|
||||||
|
else
|
||||||
|
LAN_SM<=wait_cycle_end; -- stay here until cylce end
|
||||||
|
end if;
|
||||||
when config_rw=>
|
when config_rw=>
|
||||||
LAN_READY <='1';
|
LAN_READY <='1';
|
||||||
if(Z3_DS(3) ='0' and RW='0')then
|
if(Z3_DS(3) ='0' and RW='0')then
|
||||||
@@ -478,7 +525,7 @@ begin
|
|||||||
elsif(Z3_DS(1) ='0' and RW='0')then
|
elsif(Z3_DS(1) ='0' and RW='0')then
|
||||||
LAN_INT_ENABLE <= Z3_DATA_IN(15); --this controlls the output bit
|
LAN_INT_ENABLE <= Z3_DATA_IN(15); --this controlls the output bit
|
||||||
end if;
|
end if;
|
||||||
LAN_SM<=config_rw; -- stay here until cylce end
|
LAN_SM <= wait_cycle_end;
|
||||||
end case;
|
end case;
|
||||||
end if;
|
end if;
|
||||||
end process lan_rw_gen;
|
end process lan_rw_gen;
|
||||||
@@ -564,7 +611,7 @@ begin
|
|||||||
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(1) = '0')then --reg (1)?!?! Why? it does not work with index 0 but it should!
|
||||||
LAN_BASEADR(15 downto 8) <= D(15 downto 8); --Base adress
|
LAN_BASEADR(15 downto 8) <= D(15 downto 8); --Base adress
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
@@ -645,7 +692,7 @@ begin
|
|||||||
INT2_OUT <= '0' when LAN_IRQ_OUT = '0' and LAN_INT_ENABLE = '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 INT6_SIG = '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
|
||||||
@@ -695,24 +742,31 @@ begin
|
|||||||
|
|
||||||
|
|
||||||
--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_RD_S <= '1';
|
CP_RD_S <= '1';
|
||||||
CP_WE_S <= '1';
|
CP_WE_S <= '1';
|
||||||
|
CP_WE_QUIRK <= '1';
|
||||||
|
INT6_SIG <= '1';
|
||||||
|
elsif rising_edge(AMIGA_CLK) then
|
||||||
|
INT6_SIG <= CP_IRQ;
|
||||||
if(CP_ACCESS = '1' and DS='0' and AS='0')then --datastrobe and AS!
|
if(CP_ACCESS = '1' and DS='0' and AS='0')then --datastrobe and AS!
|
||||||
CP_RD_S <= not RW;
|
CP_RD_S <= not RW;
|
||||||
CP_WE_S <= RW;
|
CP_WE_S <= RW;
|
||||||
|
CP_WE_QUIRK <= CP_WE_S; --the clockport write must be low exactly one 7MHz cycle!
|
||||||
|
else
|
||||||
|
CP_RD_S <= '1';
|
||||||
|
CP_WE_S <= '1';
|
||||||
|
CP_WE_QUIRK <= '1';
|
||||||
end if;
|
end if;
|
||||||
CP_WE_QUIRK <= CP_WE_S; --the clockport write must be low exactly one 7MHz cycle!
|
|
||||||
end if;
|
end if;
|
||||||
end process cp_rw_gen;
|
end process cp_rw_gen;
|
||||||
|
|
||||||
--for the future
|
--for the future
|
||||||
CP_WE <= CP_WE_S when AS='0' and CP_WE_QUIRK ='1' else '1';
|
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_RD <= CP_RD_S when AS='0' else '1';
|
||||||
CP_CS <= not CP_ACCESS;
|
CP_CS <= not CP_ACCESS when AS='0' else '1';
|
||||||
|
|
||||||
end Behavioral;
|
end Behavioral;
|
||||||
|
|
||||||
+11689
-12800
File diff suppressed because it is too large.
Load diff
@@ -1,3 +1,3 @@
|
|||||||
<?xml version='1.0' encoding='utf-8' ?>
|
<?xml version='1.0' encoding='utf-8' ?>
|
||||||
<!DOCTYPE document SYSTEM "file:///C:/Xilinx/14.7/ISE_DS/ISE/xc9500xl/data/xmlReport9kxl.dtd">
|
<!DOCTYPE document SYSTEM "file:///C:/Xilinx/14.7/ISE_DS/ISE/xc9500xl/data/xmlReport9kxl.dtd">
|
||||||
<document><ascFile>LAN_IDE_CP.rpt</ascFile><devFile>C:/Xilinx/14.7/ISE_DS/ISE/xc9500xl/data/xc95288xl.chp</devFile><mfdFile>LAN_IDE_CP.mfd</mfdFile><htmlFile logic_legend="logiclegend.htm" logo="xc9500xl_logo.jpg" pin_legend="pinlegend.htm"/><header date=" 2-28-2019" design="LAN_IDE_CP" device="XC95288XL" eqnType="1" pkg="TQ144" speed="-10" status="1" statusStr="Successful" swVersion="P.20131013" time=" 10:58PM" version="1.0"/><inputs id="Z3" userloc="P79"/><inputs id="FCS" userloc="P77"/><inputs id="RESET" userloc="P143"/><inputs id="RW" userloc="P83"/><inputs id="DQ0PIN_SPECSIG" userloc="P118"/><inputs id="DQ8PIN_SPECSIG" userloc="P128"/><inputs id="DQ10PIN_SPECSIG" userloc="P129"/><inputs id="DQ2PIN_SPECSIG" userloc="P120"/><inputs id="DQ3PIN_SPECSIG" userloc="P119"/><inputs id="DQ11PIN_SPECSIG" userloc="P115"/><inputs id="DQ12PIN_SPECSIG" userloc="P130"/><inputs id="DQ4PIN_SPECSIG" userloc="P124"/><inputs id="DQ13PIN_SPECSIG" userloc="P113"/><inputs id="DQ5PIN_SPECSIG" userloc="P121"/><inputs id="DQ14PIN_SPECSIG" userloc="P131"/><inputs id="DQ6PIN_SPECSIG" userloc="P126"/><inputs id="DQ15PIN_SPECSIG" userloc="P112"/><inputs id="DQ7PIN_SPECSIG" userloc="P125"/><inputs id="DQ1PIN_SPECSIG" userloc="P117"/><inputs id="DQ9PIN_SPECSIG" userloc="P116"/><inputs id="A5_SPECSIG" userloc="P49"/><inputs id="A4_SPECSIG" userloc="P50"/><inputs id="A2_SPECSIG" userloc="P54"/><inputs id="A1_SPECSIG" userloc="P57"/><inputs id="AS" userloc="P80"/><inputs id="UDS" userloc="P81"/><inputs id="LDS" userloc="P82"/><inputs id="DS1" userloc="P78"/><inputs id="DS0" userloc="P93"/><inputs id="A3_SPECSIG" userloc="P52"/><inputs id="A6_SPECSIG" userloc="P51"/><inputs id="D8PIN_SPECSIG" userloc="P19"/><inputs id="D9PIN_SPECSIG" userloc="P40"/><inputs id="D10PIN_SPECSIG" userloc="P41"/><inputs id="D11PIN_SPECSIG" userloc="P43"/><inputs id="D12PIN_SPECSIG" userloc="P44"/><inputs id="D13PIN_SPECSIG" userloc="P45"/><inputs id="D14PIN_SPECSIG" userloc="P46"/><inputs id="D15PIN_SPECSIG" userloc="P48"/><inputs id="LAN_INT" userloc="P111"/><inputs id="A23PIN_SPECSIG" userloc="P86"/><inputs id="A22PIN_SPECSIG" userloc="P87"/><inputs id="A21PIN_SPECSIG" userloc="P88"/><inputs id="A19PIN_SPECSIG" userloc="P92"/><inputs id="CFIN" userloc="P104"/><inputs id="A17PIN_SPECSIG" userloc="P95"/><inputs id="A16PIN_SPECSIG" userloc="P97"/><inputs id="D1PIN_SPECSIG" userloc="P17"/><inputs id="D4PIN_SPECSIG" userloc="P21"/><inputs id="D0PIN_SPECSIG" userloc="P2"/><inputs id="D2PIN_SPECSIG" userloc="P39"/><inputs id="D3PIN_SPECSIG" userloc="P15"/><inputs id="D5PIN_SPECSIG" userloc="P20"/><inputs id="D6PIN_SPECSIG" userloc="P14"/><inputs id="D7PIN_SPECSIG" userloc="P16"/><inputs id="A14PIN_SPECSIG" userloc="P66"/><inputs id="A13PIN_SPECSIG" userloc="P64"/><inputs id="A18PIN_SPECSIG" userloc="P94"/><inputs id="A20PIN_SPECSIG" userloc="P91"/><inputs id="A15PIN_SPECSIG" userloc="P74"/><inputs id="A8PIN_SPECSIG" userloc="P56"/><inputs id="A10PIN_SPECSIG" userloc="P59"/><inputs id="A11PIN_SPECSIG" userloc="P60"/><inputs id="A12PIN_SPECSIG" userloc="P61"/><inputs id="A9PIN_SPECSIG" userloc="P58"/><inputs id="A7_SPECSIG" userloc="P53"/><inputs id="AUTOBOOT_OFF" userloc="P75"/><inputs id="C1" userloc="P103"/><inputs id="C3" userloc="P102"/><inputs id="CP_IRQ" userloc="P31"/><global_inputs id="CLK_EXT" pinnum="GCK1" use="GCK1" userloc="P30"/><pin id="FB1_MC5_PIN20" pinnum="20" signal="D5_SPECSIG" use="IO_SPECSIG"/><pin id="FB1_MC6_PIN21" pinnum="21" signal="D4_SPECSIG" use="IO_SPECSIG"/><pin id="FB1_MC8_PIN22" pinnum="22" signal="IDE_CS0_SPECSIG" use="O"/><pin id="FB1_MC10_PIN23" pinnum="23" signal="IDE_CS1_SPECSIG" use="O"/><pin id="FB1_MC12_PIN24" pinnum="24" signal="IDE_A0_SPECSIG" use="O"/><pin id="FB1_MC14_PIN25" pinnum="25" signal="IDE_A2_SPECSIG" use="O"/><pin id="FB1_MC15_PIN26" pinnum="26" signal="IDE_A1_SPECSIG" use="O"/><pin id="FB1_MC17_PIN27" pinnum="27" signal="IDE_R" use="O"/><pin id="FB2_MC2_PIN9" pinnum="9" signal="A_LAN4_SPECSIG" use="O"/><pin id="FB2_MC3_PIN10" pinnum="10" signal="A_LAN7_SPECSIG" use="O"/><pin id="FB2_MC5_PIN11" pinnum="11" signal="A_LAN6_SPECSIG" use="O"/><pin id="FB2_MC6_PIN12" pinnum="12" signal="LAN_CFG1_SPECSIG" use="O"/><pin id="FB2_MC8_PIN13" pinnum="13" signal="LAN_CFG3_SPECSIG" use="O"/><pin id="FB2_MC10_PIN14" pinnum="14" signal="D6_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC12_PIN15" pinnum="15" signal="D3_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC14_PIN16" pinnum="16" signal="D7_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC15_PIN17" pinnum="17" signal="D1_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC17_PIN19" pinnum="19" signal="D8_SPECSIG" use="IO_SPECSIG"/><pin id="FB3_MC2_PIN28" pinnum="28" signal="IDE_W" use="O"/><pin id="FB3_MC10_PIN30" pinnum="30" signal="CLK_EXT" use="GCK"/><pin id="FB3_MC12_PIN31" pinnum="31" signal="CP_IRQ" use="I"/><pin id="FB3_MC14_PIN32" pinnum="32" signal="INT2_OUT" use="O"/><pin id="FB3_MC15_PIN33" pinnum="33" signal="ROM_B0_SPECSIG" use="O"/><pin id="FB4_MC2_PIN2" pinnum="2" signal="D0_SPECSIGLine truncated
|
<document><ascFile>LAN_IDE_CP.rpt</ascFile><devFile>C:/Xilinx/14.7/ISE_DS/ISE/xc9500xl/data/xc95288xl.chp</devFile><mfdFile>LAN_IDE_CP.mfd</mfdFile><htmlFile logic_legend="logiclegend.htm" logo="xc9500xl_logo.jpg" pin_legend="pinlegend.htm"/><header date=" 3- 7-2019" design="LAN_IDE_CP" device="XC95288XL" eqnType="1" pkg="TQ144" speed="-10" status="1" statusStr="Successful" swVersion="P.20131013" time=" 11:51PM" version="1.0"/><inputs id="Z3" userloc="P79"/><inputs id="FCS" userloc="P77"/><inputs id="RW" userloc="P83"/><inputs id="DQ0PIN_SPECSIG" userloc="P118"/><inputs id="DQ8PIN_SPECSIG" userloc="P128"/><inputs id="DQ10PIN_SPECSIG" userloc="P129"/><inputs id="DQ2PIN_SPECSIG" userloc="P120"/><inputs id="DQ11PIN_SPECSIG" userloc="P115"/><inputs id="DQ3PIN_SPECSIG" userloc="P119"/><inputs id="DQ12PIN_SPECSIG" userloc="P130"/><inputs id="DQ4PIN_SPECSIG" userloc="P124"/><inputs id="DQ13PIN_SPECSIG" userloc="P113"/><inputs id="DQ5PIN_SPECSIG" userloc="P121"/><inputs id="DQ14PIN_SPECSIG" userloc="P131"/><inputs id="DQ6PIN_SPECSIG" userloc="P126"/><inputs id="DQ15PIN_SPECSIG" userloc="P112"/><inputs id="DQ7PIN_SPECSIG" userloc="P125"/><inputs id="DQ1PIN_SPECSIG" userloc="P117"/><inputs id="DQ9PIN_SPECSIG" userloc="P116"/><inputs id="AS" userloc="P80"/><inputs id="RESET" userloc="P143"/><inputs id="A2_SPECSIG" userloc="P54"/><inputs id="A4_SPECSIG" userloc="P50"/><inputs id="A1_SPECSIG" userloc="P57"/><inputs id="A5_SPECSIG" userloc="P49"/><inputs id="A6_SPECSIG" userloc="P51"/><inputs id="UDS" userloc="P81"/><inputs id="LDS" userloc="P82"/><inputs id="A3_SPECSIG" userloc="P52"/><inputs id="D8PIN_SPECSIG" userloc="P19"/><inputs id="D9PIN_SPECSIG" userloc="P40"/><inputs id="D10PIN_SPECSIG" userloc="P41"/><inputs id="D11PIN_SPECSIG" userloc="P43"/><inputs id="D12PIN_SPECSIG" userloc="P44"/><inputs id="D13PIN_SPECSIG" userloc="P45"/><inputs id="D14PIN_SPECSIG" userloc="P46"/><inputs id="D15PIN_SPECSIG" userloc="P48"/><inputs id="LAN_INT" userloc="P111"/><inputs id="DS1" userloc="P78"/><inputs id="DS0" userloc="P93"/><inputs id="A23PIN_SPECSIG" userloc="P86"/><inputs id="A22PIN_SPECSIG" userloc="P87"/><inputs id="A21PIN_SPECSIG" userloc="P88"/><inputs id="A19PIN_SPECSIG" userloc="P92"/><inputs id="CFIN" userloc="P104"/><inputs id="A17PIN_SPECSIG" userloc="P95"/><inputs id="A16PIN_SPECSIG" userloc="P97"/><inputs id="D1PIN_SPECSIG" userloc="P17"/><inputs id="D4PIN_SPECSIG" userloc="P21"/><inputs id="D0PIN_SPECSIG" userloc="P2"/><inputs id="D2PIN_SPECSIG" userloc="P39"/><inputs id="D3PIN_SPECSIG" userloc="P15"/><inputs id="D5PIN_SPECSIG" userloc="P20"/><inputs id="D6PIN_SPECSIG" userloc="P14"/><inputs id="D7PIN_SPECSIG" userloc="P16"/><inputs id="A14PIN_SPECSIG" userloc="P66"/><inputs id="A13PIN_SPECSIG" userloc="P64"/><inputs id="A18PIN_SPECSIG" userloc="P94"/><inputs id="A20PIN_SPECSIG" userloc="P91"/><inputs id="A15PIN_SPECSIG" userloc="P74"/><inputs id="A8PIN_SPECSIG" userloc="P56"/><inputs id="A10PIN_SPECSIG" userloc="P59"/><inputs id="A11PIN_SPECSIG" userloc="P60"/><inputs id="A12PIN_SPECSIG" userloc="P61"/><inputs id="A9PIN_SPECSIG" userloc="P58"/><inputs id="MTCR" userloc="P101"/><inputs id="A7_SPECSIG" userloc="P53"/><inputs id="AUTOBOOT_OFF" userloc="P75"/><inputs id="C1" userloc="P103"/><inputs id="C3" userloc="P102"/><inputs id="CP_IRQ" userloc="P31"/><global_inputs id="CLK_EXT" pinnum="GCK1" use="GCK1" userloc="P30"/><pin id="FB1_MC5_PIN20" pinnum="20" signal="D5_SPECSIG" use="IO_SPECSIG"/><pin id="FB1_MC6_PIN21" pinnum="21" signal="D4_SPECSIG" use="IO_SPECSIG"/><pin id="FB1_MC8_PIN22" pinnum="22" signal="IDE_CS0_SPECSIG" use="O"/><pin id="FB1_MC10_PIN23" pinnum="23" signal="IDE_CS1_SPECSIG" use="O"/><pin id="FB1_MC12_PIN24" pinnum="24" signal="IDE_A0_SPECSIG" use="O"/><pin id="FB1_MC14_PIN25" pinnum="25" signal="IDE_A2_SPECSIG" use="O"/><pin id="FB1_MC15_PIN26" pinnum="26" signal="IDE_A1_SPECSIG" use="O"/><pin id="FB1_MC17_PIN27" pinnum="27" signal="IDE_R" use="O"/><pin id="FB2_MC2_PIN9" pinnum="9" signal="A_LAN4_SPECSIG" use="O"/><pin id="FB2_MC3_PIN10" pinnum="10" signal="A_LAN7_SPECSIG" use="O"/><pin id="FB2_MC5_PIN11" pinnum="11" signal="A_LAN6_SPECSIG" use="O"/><pin id="FB2_MC6_PIN12" pinnum="12" signal="LAN_CFG1_SPECSIG" use="O"/><pin id="FB2_MC8_PIN13" pinnum="13" signal="LAN_CFG3_SPECSIG" use="O"/><pin id="FB2_MC10_PIN14" pinnum="14" signal="D6_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC12_PIN15" pinnum="15" signal="D3_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC14_PIN16" pinnum="16" signal="D7_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC15_PIN17" pinnum="17" signal="D1_SPECSIG" use="IO_SPECSIG"/><pin id="FB2_MC17_PIN19" pinnum="19" signal="D8_SPECSIG" use="IO_SPECSIG"/><pin id="FB3_MC2_PIN28" pinnum="28" signal="IDE_W" use="O"/><pin id="FB3_MC10_PIN30" pinnum="30" signal="CLK_EXT" use="GCK"/><pin id="FB3_MC12_PIN31" pinnum="31" signal="CP_IRQ" use="I"/><pin id="FB3_MC14_PIN32" pinnum="32" signal="INT2_OUT" use="O"/><pin id="FB3_MC15_PIN33" pinnum="33" signal="ROM_B0_SPECSIG" use="O"/><pin id="FB4_MC2_PLine truncated
|
||||||
@@ -8,7 +8,7 @@ run
|
|||||||
-p xc9500xl
|
-p xc9500xl
|
||||||
-top LAN_IDE_CP
|
-top LAN_IDE_CP
|
||||||
-opt_mode Speed
|
-opt_mode Speed
|
||||||
-opt_level 1
|
-opt_level 2
|
||||||
-iuc NO
|
-iuc NO
|
||||||
-keep_hierarchy Yes
|
-keep_hierarchy Yes
|
||||||
-netlist_hierarchy As_Optimized
|
-netlist_hierarchy As_Optimized
|
||||||
@@ -17,7 +17,7 @@ run
|
|||||||
-bus_delimiter <>
|
-bus_delimiter <>
|
||||||
-case Maintain
|
-case Maintain
|
||||||
-verilog2001 YES
|
-verilog2001 YES
|
||||||
-fsm_extract YES -fsm_encoding Compact
|
-fsm_extract YES -fsm_encoding Gray
|
||||||
-safe_implementation No
|
-safe_implementation No
|
||||||
-mux_extract Yes
|
-mux_extract Yes
|
||||||
-resource_sharing YES
|
-resource_sharing YES
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
The structure and the elements are likely to change over the next few releases.
|
The structure and the elements are likely to change over the next few releases.
|
||||||
This means code written to parse this file will need to be revisited each subsequent release.-->
|
This means code written to parse this file will need to be revisited each subsequent release.-->
|
||||||
|
|
||||||
<application stringID="NgdBuild" timeStamp="Thu Feb 28 22:57:29 2019">
|
<application stringID="NgdBuild" timeStamp="Thu Mar 07 23:50:43 2019">
|
||||||
<section stringID="User_Env">
|
<section stringID="User_Env">
|
||||||
<table stringID="User_EnvVar">
|
<table stringID="User_EnvVar">
|
||||||
<column stringID="variable"/>
|
<column stringID="variable"/>
|
||||||
@@ -70,38 +70,38 @@
|
|||||||
<item dataType="int" stringID="NGDBUILD_NUM_INFOS" value="0"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_INFOS" value="0"/>
|
||||||
</section>
|
</section>
|
||||||
<section stringID="NGDBUILD_PRE_UNISIM_SUMMARY">
|
<section stringID="NGDBUILD_PRE_UNISIM_SUMMARY">
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND2" value="404"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND2" value="452"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND3" value="63"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND3" value="66"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND4" value="17"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND4" value="23"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND5" value="1"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND5" value="1"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_FD" value="3"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_FD" value="4"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_FDC" value="22"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_FDC" value="21"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_FDCE" value="7"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_FDCE" value="7"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_FDP" value="41"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_FDP" value="41"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_FDPE" value="69"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_FDPE" value="61"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_GND" value="1"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_GND" value="1"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_IBUF" value="23"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_IBUF" value="24"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_INV" value="480"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_INV" value="532"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OBUF" value="33"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OBUF" value="33"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OR2" value="250"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OR2" value="243"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OR3" value="34"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OR3" value="53"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OR4" value="1"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OR4" value="3"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_XOR2" value="34"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_XOR2" value="25"/>
|
||||||
</section>
|
</section>
|
||||||
<section stringID="NGDBUILD_POST_UNISIM_SUMMARY">
|
<section stringID="NGDBUILD_POST_UNISIM_SUMMARY">
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND2" value="404"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND2" value="452"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND3" value="63"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND3" value="66"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND4" value="17"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND4" value="23"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_AND5" value="1"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_AND5" value="1"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_GND" value="67"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_GND" value="67"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_IBUF" value="74"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_IBUF" value="74"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_INV" value="480"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_INV" value="532"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OBUF" value="33"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OBUF" value="33"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OR2" value="250"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OR2" value="243"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OR3" value="34"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OR3" value="53"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_OR4" value="1"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_OR4" value="3"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_TS_TIMESPEC" value="1"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_TS_TIMESPEC" value="1"/>
|
||||||
<item dataType="int" stringID="NGDBUILD_NUM_XOR2" value="34"/>
|
<item dataType="int" stringID="NGDBUILD_NUM_XOR2" value="25"/>
|
||||||
</section>
|
</section>
|
||||||
<section stringID="NGDBUILD_CORE_GENERATION_SUMMARY">
|
<section stringID="NGDBUILD_CORE_GENERATION_SUMMARY">
|
||||||
<section stringID="NGDBUILD_CORE_INSTANCES"/>
|
<section stringID="NGDBUILD_CORE_INSTANCES"/>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
2-28-2019 10:58PM
|
3- 7-2019 11:51PM
|
||||||
|
|
||||||
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 comma ','
|
such as Microsoft Excel for viewing, printing and sorting. The comma ','
|
||||||
@@ -118,7 +118,7 @@ P97,A<16>,I/O,I/O,BIDIR,,,,,,,,,
|
|||||||
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,TIE,,I/O,,,,,,,,,,
|
P101,MTCR,I,I/O,INPUT,,,,,,,,,
|
||||||
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,,,,,,,,,
|
||||||
|
|||||||
|
@@ -5,7 +5,7 @@
|
|||||||
The structure and the elements are likely to change over the next few releases.
|
The structure and the elements are likely to change over the next few releases.
|
||||||
This means code written to parse this file will need to be revisited each subsequent release.-->
|
This means code written to parse this file will need to be revisited each subsequent release.-->
|
||||||
|
|
||||||
<application stringID="Xst" timeStamp="Thu Feb 28 22:57:07 2019">
|
<application stringID="Xst" timeStamp="Thu Mar 07 23:50:26 2019">
|
||||||
<section stringID="User_Env">
|
<section stringID="User_Env">
|
||||||
<table stringID="User_EnvVar">
|
<table stringID="User_EnvVar">
|
||||||
<column stringID="variable"/>
|
<column stringID="variable"/>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<item DEFAULT="" label="-p" stringID="XST_P" value="xc9500xl"/>
|
<item DEFAULT="" label="-p" stringID="XST_P" value="xc9500xl"/>
|
||||||
<item DEFAULT="" label="-top" stringID="XST_TOP" value="LAN_IDE_CP"/>
|
<item DEFAULT="" label="-top" stringID="XST_TOP" value="LAN_IDE_CP"/>
|
||||||
<item DEFAULT="SPEED" label="-opt_mode" stringID="XST_OPTMODE" value="Speed"/>
|
<item DEFAULT="SPEED" label="-opt_mode" stringID="XST_OPTMODE" value="Speed"/>
|
||||||
<item DEFAULT="1" label="-opt_level" stringID="XST_OPTLEVEL" value="1"/>
|
<item DEFAULT="1" label="-opt_level" stringID="XST_OPTLEVEL" value="2"/>
|
||||||
<item DEFAULT="NO" label="-iuc" stringID="XST_IUC" value="NO"/>
|
<item DEFAULT="NO" label="-iuc" stringID="XST_IUC" value="NO"/>
|
||||||
<item DEFAULT="YES" label="-keep_hierarchy" stringID="XST_KEEPHIERARCHY" value="Yes"/>
|
<item DEFAULT="YES" label="-keep_hierarchy" stringID="XST_KEEPHIERARCHY" value="Yes"/>
|
||||||
<item DEFAULT="as_optimized" label="-netlist_hierarchy" stringID="XST_NETLISTHIERARCHY" value="As_Optimized"/>
|
<item DEFAULT="as_optimized" label="-netlist_hierarchy" stringID="XST_NETLISTHIERARCHY" value="As_Optimized"/>
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
<item DEFAULT="MAINTAIN" stringID="XST_CASE" value="Maintain"/>
|
<item DEFAULT="MAINTAIN" stringID="XST_CASE" value="Maintain"/>
|
||||||
<item DEFAULT="YES" label="-verilog2001" stringID="XST_VERILOG2001" value="YES"/>
|
<item DEFAULT="YES" label="-verilog2001" stringID="XST_VERILOG2001" value="YES"/>
|
||||||
<item DEFAULT="YES" label="-fsm_extract" stringID="XST_FSMEXTRACT" value="YES"/>
|
<item DEFAULT="YES" label="-fsm_extract" stringID="XST_FSMEXTRACT" value="YES"/>
|
||||||
<item DEFAULT="AUTO" label="-fsm_encoding" stringID="XST_FSMENCODING" value="Compact"/>
|
<item DEFAULT="AUTO" label="-fsm_encoding" stringID="XST_FSMENCODING" value="Gray"/>
|
||||||
<item DEFAULT="NO" label="-safe_implementation" stringID="XST_SAFEIMPLEMENTATION" value="No"/>
|
<item DEFAULT="NO" label="-safe_implementation" stringID="XST_SAFEIMPLEMENTATION" value="No"/>
|
||||||
<item DEFAULT="YES" stringID="XST_MUXEXTRACT" value="Yes"/>
|
<item DEFAULT="YES" stringID="XST_MUXEXTRACT" value="Yes"/>
|
||||||
<item DEFAULT="YES" label="-resource_sharing" stringID="XST_RESOURCESHARING" value="YES"/>
|
<item DEFAULT="YES" label="-resource_sharing" stringID="XST_RESOURCESHARING" value="YES"/>
|
||||||
@@ -79,10 +79,10 @@
|
|||||||
<item DEFAULT="YES" label="-equivalent_register_removal" stringID="XST_EQUIVALENTREGISTERREMOVAL" value="YES"/>
|
<item DEFAULT="YES" label="-equivalent_register_removal" stringID="XST_EQUIVALENTREGISTERREMOVAL" value="YES"/>
|
||||||
</section>
|
</section>
|
||||||
<section stringID="XST_HDL_SYNTHESIS_REPORT">
|
<section stringID="XST_HDL_SYNTHESIS_REPORT">
|
||||||
<item dataType="int" stringID="XST_REGISTERS" value="86">
|
<item dataType="int" stringID="XST_REGISTERS" value="71">
|
||||||
<item dataType="int" stringID="XST_1BIT_REGISTER" value="78"/>
|
<item dataType="int" stringID="XST_1BIT_REGISTER" value="62"/>
|
||||||
<item dataType="int" stringID="XST_14BIT_REGISTER" value="2"/>
|
<item dataType="int" stringID="XST_14BIT_REGISTER" value="2"/>
|
||||||
<item dataType="int" stringID="XST_16BIT_REGISTER" value="2"/>
|
<item dataType="int" stringID="XST_16BIT_REGISTER" value="3"/>
|
||||||
<item dataType="int" stringID="XST_3BIT_REGISTER" value="1"/>
|
<item dataType="int" stringID="XST_3BIT_REGISTER" value="1"/>
|
||||||
<item dataType="int" stringID="XST_4BIT_REGISTER" value="1"/>
|
<item dataType="int" stringID="XST_4BIT_REGISTER" value="1"/>
|
||||||
<item dataType="int" stringID="XST_8BIT_REGISTER" value="2"/>
|
<item dataType="int" stringID="XST_8BIT_REGISTER" value="2"/>
|
||||||
@@ -97,8 +97,8 @@
|
|||||||
</section>
|
</section>
|
||||||
<section stringID="XST_ADVANCED_HDL_SYNTHESIS_REPORT">
|
<section stringID="XST_ADVANCED_HDL_SYNTHESIS_REPORT">
|
||||||
<item dataType="int" stringID="XST_FSMS" value="2"/>
|
<item dataType="int" stringID="XST_FSMS" value="2"/>
|
||||||
<item dataType="int" stringID="XST_REGISTERS" value="76">
|
<item dataType="int" stringID="XST_REGISTERS" value="59">
|
||||||
<item dataType="int" stringID="XST_FLIPFLOPS" value="76"/>
|
<item dataType="int" stringID="XST_FLIPFLOPS" value="59"/>
|
||||||
</item>
|
</item>
|
||||||
<item dataType="int" stringID="XST_COMPARATORS" value="3"></item>
|
<item dataType="int" stringID="XST_COMPARATORS" value="3"></item>
|
||||||
</section>
|
</section>
|
||||||
@@ -119,31 +119,31 @@
|
|||||||
<item stringID="XST_IOS" value="117"/>
|
<item stringID="XST_IOS" value="117"/>
|
||||||
</section>
|
</section>
|
||||||
<section stringID="XST_CELL_USAGE">
|
<section stringID="XST_CELL_USAGE">
|
||||||
<item dataType="int" stringID="XST_BELS" value="1292">
|
<item dataType="int" stringID="XST_BELS" value="1402">
|
||||||
<item dataType="int" stringID="XST_AND2" value="404"/>
|
<item dataType="int" stringID="XST_AND2" value="452"/>
|
||||||
<item dataType="int" stringID="XST_AND3" value="63"/>
|
<item dataType="int" stringID="XST_AND3" value="66"/>
|
||||||
<item dataType="int" stringID="XST_AND4" value="17"/>
|
<item dataType="int" stringID="XST_AND4" value="23"/>
|
||||||
<item dataType="int" stringID="XST_GND" value="1"/>
|
<item dataType="int" stringID="XST_GND" value="1"/>
|
||||||
<item dataType="int" stringID="XST_INV" value="480"/>
|
<item dataType="int" stringID="XST_INV" value="532"/>
|
||||||
<item dataType="int" stringID="XST_OR2" value="250"/>
|
<item dataType="int" stringID="XST_OR2" value="243"/>
|
||||||
<item dataType="int" stringID="XST_XOR2" value="34"/>
|
<item dataType="int" stringID="XST_XOR2" value="25"/>
|
||||||
</item>
|
</item>
|
||||||
<item dataType="int" stringID="XST_FLIPFLOPSLATCHES" value="142">
|
<item dataType="int" stringID="XST_FLIPFLOPSLATCHES" value="134">
|
||||||
<item dataType="int" stringID="XST_FD" value="3"/>
|
<item dataType="int" stringID="XST_FD" value="4"/>
|
||||||
<item dataType="int" stringID="XST_FDC" value="22"/>
|
<item dataType="int" stringID="XST_FDC" value="21"/>
|
||||||
<item dataType="int" stringID="XST_FDCE" value="7"/>
|
<item dataType="int" stringID="XST_FDCE" value="7"/>
|
||||||
<item dataType="int" stringID="XST_FDP" value="41"/>
|
<item dataType="int" stringID="XST_FDP" value="41"/>
|
||||||
<item dataType="int" stringID="XST_FDPE" value="69"/>
|
<item dataType="int" stringID="XST_FDPE" value="61"/>
|
||||||
</item>
|
</item>
|
||||||
<item dataType="int" stringID="XST_IO_BUFFERS" value="114">
|
<item dataType="int" stringID="XST_IO_BUFFERS" value="115">
|
||||||
<item dataType="int" stringID="XST_IBUF" value="23"/>
|
<item dataType="int" stringID="XST_IBUF" value="24"/>
|
||||||
<item dataType="int" stringID="XST_OBUF" value="33"/>
|
<item dataType="int" stringID="XST_OBUF" value="33"/>
|
||||||
</item>
|
</item>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section stringID="XST_ERRORS_STATISTICS">
|
<section stringID="XST_ERRORS_STATISTICS">
|
||||||
<item dataType="int" filtered="0" stringID="XST_NUMBER_OF_ERRORS" value="0"/>
|
<item dataType="int" filtered="0" stringID="XST_NUMBER_OF_ERRORS" value="0"/>
|
||||||
<item dataType="int" filtered="0" stringID="XST_NUMBER_OF_WARNINGS" value="48"/>
|
<item dataType="int" filtered="0" stringID="XST_NUMBER_OF_WARNINGS" value="56"/>
|
||||||
<item dataType="int" filtered="0" stringID="XST_NUMBER_OF_INFOS" value="10"/>
|
<item dataType="int" filtered="0" stringID="XST_NUMBER_OF_INFOS" value="10"/>
|
||||||
</section>
|
</section>
|
||||||
</application>
|
</application>
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
C:\Users\Matze\Amiga\Hardwarehacks\Zorro-LAN-IDE\Logic\LAN_IDE\LAN_IDE_CP.ngc 1551391041
|
C:\Users\Matze\Amiga\Hardwarehacks\Zorro-LAN-IDE\Logic\LAN_IDE\LAN_IDE_CP.ngc 1551999035
|
||||||
OK
|
OK
|
||||||
@@ -17,9 +17,6 @@
|
|||||||
<msg type="warning" file="Cpld" num="1007" delta="old" >Removing unused input(s) '<arg fmt="%s" index="1">IDE_WAIT</arg>'. The input(s) are unused after optimization. Please verify functionality via simulation.
|
<msg type="warning" file="Cpld" num="1007" delta="old" >Removing unused input(s) '<arg fmt="%s" index="1">IDE_WAIT</arg>'. The input(s) are unused after optimization. Please verify functionality via simulation.
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
<msg type="warning" file="Cpld" num="1007" delta="old" >Removing unused input(s) '<arg fmt="%s" index="1">MTCR</arg>'. The input(s) are unused after optimization. Please verify functionality via simulation.
|
|
||||||
</msg>
|
|
||||||
|
|
||||||
<msg type="warning" file="Cpld" num="896" delta="old" >Unable to map all desired signals into function block, FB<arg fmt="%d" index="1">10</arg>, because too many function block product terms are required. Buffering output signal <arg fmt="%s" index="2">DQ<8></arg> to allow all signals assigned to this function block to be placed.
|
<msg type="warning" file="Cpld" num="896" delta="old" >Unable to map all desired signals into function block, FB<arg fmt="%d" index="1">10</arg>, because too many function block product terms are required. Buffering output signal <arg fmt="%s" index="2">DQ<8></arg> to allow all signals assigned to this function block to be placed.
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
|
|||||||
@@ -29,13 +29,13 @@
|
|||||||
<msg type="warning" file="Xst" num="647" delta="old" >Input <<arg fmt="%s" index="1">IDE_WAIT</arg>> 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.
|
<msg type="warning" file="Xst" num="647" delta="old" >Input <<arg fmt="%s" index="1">IDE_WAIT</arg>> 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.
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
<msg type="warning" file="Xst" num="647" delta="old" >Input <<arg fmt="%s" index="1">MTCR</arg>> 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.
|
<msg type="warning" file="Xst" num="647" delta="old" >Input <<arg fmt="%s" index="1">BERR</arg>> 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.
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
<msg type="warning" file="Xst" num="646" delta="old" >Signal <<arg fmt="%s" index="1">LAN_SM_RST</arg>> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
|
<msg type="warning" file="Xst" num="646" delta="old" >Signal <<arg fmt="%s" index="1">LAN_BASEADR<7:0></arg>> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
<msg type="warning" file="Xst" num="646" delta="old" >Signal <<arg fmt="%s" index="1">LAN_CYCLE_IN_PROGRESS</arg>> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
|
<msg type="warning" file="Xst" num="1780" delta="old" >Signal <<arg fmt="%s" index="1">CONFIG_READY</arg>> is never used or assigned. This unconnected signal will be trimmed during the optimization process.
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
<msg type="info" file="Xst" num="1799" delta="old" >State <arg fmt="%s" index="1">start_read_upper</arg> is never reached in FSM <<arg fmt="%s" index="2">LAN_SM</arg>>.
|
<msg type="info" file="Xst" num="1799" delta="old" >State <arg fmt="%s" index="1">start_read_upper</arg> is never reached in FSM <<arg fmt="%s" index="2">LAN_SM</arg>>.
|
||||||
@@ -173,6 +173,30 @@
|
|||||||
<msg type="warning" file="Xst" num="1896" delta="old" >Due to other FF/Latch trimming, FF/Latch <<arg fmt="%s" index="1">LAN_A_INIT_0</arg>> has a constant value of <arg fmt="%d" index="2">1</arg> in block <<arg fmt="%s" index="3">LAN_IDE_CP</arg>>. This FF/Latch will be trimmed during the optimization process.
|
<msg type="warning" file="Xst" num="1896" delta="old" >Due to other FF/Latch trimming, FF/Latch <<arg fmt="%s" index="1">LAN_A_INIT_0</arg>> has a constant value of <arg fmt="%d" index="2">1</arg> in block <<arg fmt="%s" index="3">LAN_IDE_CP</arg>>. This FF/Latch will be trimmed during the optimization process.
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_7</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_6</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_5</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_4</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_3</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_2</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_1</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
|
<msg type="warning" file="Xst" num="2677" delta="old" >Node <<arg fmt="%s" index="1">LAN_BASEADR_0</arg>> of sequential type is unconnected in block <<arg fmt="%s" index="2">LAN_IDE_CP</arg>>.
|
||||||
|
</msg>
|
||||||
|
|
||||||
<msg type="info" file="Xst" num="2261" delta="old" >The FF/Latch <<arg fmt="%s" index="1">LAN_D_INIT_8</arg>> in Unit <<arg fmt="%s" index="2">LAN_IDE_CP</arg>> is equivalent to the following <arg fmt="%s" index="3">2 FFs/Latches</arg>, which will be removed : <arg fmt="%s" index="4"><LAN_D_INIT_10> <LAN_D_INIT_11> </arg>
|
<msg type="info" file="Xst" num="2261" delta="old" >The FF/Latch <<arg fmt="%s" index="1">LAN_D_INIT_8</arg>> in Unit <<arg fmt="%s" index="2">LAN_IDE_CP</arg>> is equivalent to the following <arg fmt="%s" index="3">2 FFs/Latches</arg>, which will be removed : <arg fmt="%s" index="4"><LAN_D_INIT_10> <LAN_D_INIT_11> </arg>
|
||||||
</msg>
|
</msg>
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
<Properties>
|
<Properties>
|
||||||
<property name="Synthesize - XST:Optimization Goal" value="Speed"/>
|
<property name="Synthesize - XST:Optimization Goal" value="Speed"/>
|
||||||
<property name="Synthesize - XST:Optimization Effort" value="Normal"/>
|
<property name="Synthesize - XST:Optimization Effort" value="High"/>
|
||||||
<property name="Synthesize - XST:FSM Encoding Algorithm" value="Compact"/>
|
<property name="Synthesize - XST:FSM Encoding Algorithm" value="Gray"/>
|
||||||
<property name="Synthesize - XST:Safe Implementation" value="No"/>
|
<property name="Synthesize - XST:Safe Implementation" value="No"/>
|
||||||
<property name="Synthesize - XST:Case Implementation Style" value="None"/>
|
<property name="Synthesize - XST:Case Implementation Style" value="None"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
|
|||||||
@@ -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-02-28T21:24:44</DateModified>
|
<DateModified>2019-03-07T21:05:55</DateModified>
|
||||||
<ModuleName>LAN_IDE_CP</ModuleName>
|
<ModuleName>LAN_IDE_CP</ModuleName>
|
||||||
<SummaryTimeStamp>2019-02-23T22:34:10</SummaryTimeStamp>
|
<SummaryTimeStamp>2019-02-28T22:58:23</SummaryTimeStamp>
|
||||||
<SavedFilePath>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/iseconfig/LAN_IDE_CP.xreport</SavedFilePath>
|
<SavedFilePath>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE/iseconfig/LAN_IDE_CP.xreport</SavedFilePath>
|
||||||
<ImplementationReportsDirectory>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE\</ImplementationReportsDirectory>
|
<ImplementationReportsDirectory>C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/LAN_IDE\</ImplementationReportsDirectory>
|
||||||
<DateInitialized>2016-12-13T22:08:29</DateInitialized>
|
<DateInitialized>2016-12-13T22:08:29</DateInitialized>
|
||||||
|
|||||||
+4840
-3295
File diff suppressed because it is too large.
Load diff
@@ -3,7 +3,7 @@
|
|||||||
<!--The data in this file is primarily intended for consumption by Xilinx tools.
|
<!--The data in this file is primarily intended for consumption by Xilinx tools.
|
||||||
The structure and the elements are likely to change over the next few releases.
|
The structure and the elements are likely to change over the next few releases.
|
||||||
This means code written to parse this file will need to be revisited each subsequent release.-->
|
This means code written to parse this file will need to be revisited each subsequent release.-->
|
||||||
<application name="pn" timeStamp="Thu Feb 28 22:57:07 2019">
|
<application name="pn" timeStamp="Thu Mar 07 23:50:25 2019">
|
||||||
<section name="Project Information" visible="false">
|
<section name="Project Information" visible="false">
|
||||||
<property name="ProjectID" value="A2E624B6ED1449CD92F77DE849BF7B51" type="project"/>
|
<property name="ProjectID" value="A2E624B6ED1449CD92F77DE849BF7B51" type="project"/>
|
||||||
<property name="ProjectIteration" value="0" type="project"/>
|
<property name="ProjectIteration" value="0" type="project"/>
|
||||||
@@ -18,7 +18,8 @@ This means code written to parse this file will need to be revisited each subseq
|
|||||||
<property name="PROP_ManualCompileOrderImp" value="false" type="design"/>
|
<property name="PROP_ManualCompileOrderImp" value="false" type="design"/>
|
||||||
<property name="PROP_PropSpecInProjFile" value="Store all values" type="design"/>
|
<property name="PROP_PropSpecInProjFile" value="Store all values" type="design"/>
|
||||||
<property name="PROP_Simulator" value="ISim (VHDL/Verilog)" type="design"/>
|
<property name="PROP_Simulator" value="ISim (VHDL/Verilog)" type="design"/>
|
||||||
<property name="PROP_SynthFsmEncode" value="Compact" type="process"/>
|
<property name="PROP_SynthFsmEncode" value="Gray" type="process"/>
|
||||||
|
<property name="PROP_SynthOptEffort" value="High" type="process"/>
|
||||||
<property name="PROP_SynthTopFile" value="changed" type="process"/>
|
<property name="PROP_SynthTopFile" value="changed" type="process"/>
|
||||||
<property name="PROP_Top_Level_Module_Type" value="HDL" type="design"/>
|
<property name="PROP_Top_Level_Module_Type" value="HDL" type="design"/>
|
||||||
<property name="PROP_UseSmartGuide" value="false" type="design"/>
|
<property name="PROP_UseSmartGuide" value="false" type="design"/>
|
||||||
|
|||||||
Binary file not shown.
@@ -2,3 +2,13 @@ xst -intstyle ise -ifn "C:/Users/Matze/Amiga/Hardwarehacks/Zorro-LAN-IDE/Logic/L
|
|||||||
ngdbuild -intstyle ise -dd _ngo -uc pinlist.ucf -p xc95288xl-TQ144-10 LAN_IDE_CP.ngc LAN_IDE_CP.ngd
|
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 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 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 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 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
|
||||||
@@ -57,7 +57,6 @@ 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
|
||||||
DQ<10> S:PIN129
|
|
||||||
DQ<11> S:PIN115
|
DQ<11> S:PIN115
|
||||||
DQ<12> S:PIN130
|
DQ<12> S:PIN130
|
||||||
DQ<13> S:PIN113
|
DQ<13> S:PIN113
|
||||||
@@ -65,13 +64,6 @@ DQ<14> S:PIN131
|
|||||||
DQ<15> S:PIN112
|
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<4> S:PIN124
|
|
||||||
DQ<5> S:PIN121
|
|
||||||
DQ<6> S:PIN126
|
|
||||||
DQ<7> S:PIN125
|
|
||||||
DQ<8> S:PIN128
|
|
||||||
DQ<9> S:PIN116
|
|
||||||
D<0> S:PIN2
|
D<0> S:PIN2
|
||||||
D<10> S:PIN41
|
D<10> S:PIN41
|
||||||
D<11> S:PIN43
|
D<11> S:PIN43
|
||||||
@@ -113,85 +105,93 @@ INT2_OUT S:PIN32
|
|||||||
DTACK S:PIN85
|
DTACK S:PIN85
|
||||||
ROM_OE S:PIN35
|
ROM_OE S:PIN35
|
||||||
SLAVE S:PIN106
|
SLAVE S:PIN106
|
||||||
|
DQ<8> S:PIN128
|
||||||
|
DQ<4> S:PIN124
|
||||||
|
DQ<10> S:PIN129
|
||||||
|
DQ<7> S:PIN125
|
||||||
|
DQ<6> S:PIN126
|
||||||
|
DQ<5> S:PIN121
|
||||||
|
DQ<3> S:PIN119
|
||||||
|
DQ<9> S:PIN116
|
||||||
|
|
||||||
|
|
||||||
;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_2 D_and0000/D_and0000_D2 $OpTx$FX_DC$172 $OpTx$FX_DC$141 D_5_IOBUFE
|
PARTITION FB1_1 ROM_OE_S LAN_RST_SM_FSM_FFd3 LAN_RST_SM_FSM_FFd2 LAN_RST_SM_FSM_FFd1
|
||||||
D_4_IOBUFE $OpTx$FX_DC$127 IDE_CS_0_OBUF LAN_WRL_S
|
D_5_IOBUFE D_4_IOBUFE LAN_CS_RST IDE_CS_0_OBUF
|
||||||
IDE_CS_1_OBUF LAN_WRH_S IDE_A_0_OBUF$BUF0 LAN_RD_S
|
IDE_W_S IDE_CS_1_OBUF IDE_ENABLE IDE_A_0_OBUF$BUF0
|
||||||
IDE_A_2_OBUF$BUF0 IDE_A_1_OBUF$BUF0 CP_WE_S IDE_R_OBUF
|
DS_D IDE_A_2_OBUF$BUF0 IDE_A_1_OBUF$BUF0 CP_WE_S
|
||||||
CP_RD_S
|
IDE_R_OBUF DQ<7>_BUFR.MC
|
||||||
PARTITION FB2_2 A_LAN_4_OBUF A_LAN_7_OBUF
|
PARTITION FB2_1 DQ<10>_BUFR.MC A_LAN_4_OBUF A_LAN_7_OBUF
|
||||||
PARTITION FB2_5 A_LAN_6_OBUF ROM_B_0_OBUF$BUF6
|
PARTITION FB2_5 A_LAN_6_OBUF ROM_B_0_OBUF$BUF6
|
||||||
PARTITION FB2_8 ROM_B_0_OBUF$BUF5
|
PARTITION FB2_8 ROM_B_0_OBUF$BUF5
|
||||||
PARTITION FB2_10 D_6_IOBUFE
|
PARTITION FB2_10 D_6_IOBUFE
|
||||||
PARTITION FB2_12 D_3_IOBUFE
|
PARTITION FB2_12 D_3_IOBUFE $OpTx$INV$87__$INT D_7_IOBUFE D_1_IOBUFE
|
||||||
PARTITION FB2_14 D_7_IOBUFE D_1_IOBUFE $OpTx$FX_SC$167 D_8_IOBUFE
|
DQ_9_IOBUFE/DQ_9_IOBUFE_TRST D_8_IOBUFE EXP30_
|
||||||
$OpTx$FX_DC$152
|
PARTITION FB3_1 EXP31_ IDE_W_OBUF EXP32_ EXP33_
|
||||||
PARTITION FB3_2 IDE_W_OBUF
|
EXP34_ BUF_cp EXP35_
|
||||||
PARTITION FB3_7 DQ_and0001/DQ_and0001_D2 DQ_and0000/DQ_and0000_D2 $OpTx$FX_DC$126 LAN_BASEADR<5>
|
PARTITION FB3_10 EXP36_ EXP37_ lancp EXP38_
|
||||||
LAN_BASEADR<4> LAN_BASEADR<3> LAN_BASEADR<1> ROM_B_0_OBUF$BUF8
|
ROM_B_0_OBUF$BUF8 autoconfig CP_WE_QUIRK EXP39_
|
||||||
CP_BASEADR<5> CP_BASEADR<3> CP_BASEADR<1> CP_BASEADR<0>
|
ide
|
||||||
|
PARTITION FB4_2 D_0_IOBUFE
|
||||||
PARTITION FB4_1 Dout1<1> D_0_IOBUFE
|
|
||||||
PARTITION FB4_5 A_LAN_1_OBUF A_LAN_0_OBUF
|
PARTITION FB4_5 A_LAN_1_OBUF A_LAN_0_OBUF
|
||||||
PARTITION FB4_8 A_LAN_3_OBUF
|
PARTITION FB4_8 A_LAN_3_OBUF
|
||||||
PARTITION FB4_12 A_LAN_2_OBUF
|
PARTITION FB4_12 A_LAN_2_OBUF
|
||||||
PARTITION FB4_14 A_LAN_5_OBUF $OpTx$FX_DC$195 Dout1<2> EXP22_
|
PARTITION FB4_14 A_LAN_5_OBUF SHUT_UP<0> LAN_BASEADR<1> IDE_BASEADR<1>
|
||||||
EXP23_
|
CP_BASEADR<1>
|
||||||
PARTITION FB5_2 CP_CS_OBUF
|
PARTITION FB5_1 EXP40_ CP_CS_OBUF EXP41_ EXP42_
|
||||||
PARTITION FB5_5 ROM_OE_OBUF
|
ROM_OE_OBUF
|
||||||
PARTITION FB5_10 D_2_IOBUFE $OpTx$FX_DC$154 D_9_IOBUFE lan_adr
|
PARTITION FB5_10 D_2_IOBUFE
|
||||||
D_10_IOBUFE D_11_IOBUFE ide D_12_IOBUFE
|
PARTITION FB5_12 D_9_IOBUFE
|
||||||
lancp
|
PARTITION FB5_14 D_10_IOBUFE D_11_IOBUFE EXP43_ D_12_IOBUFE
|
||||||
PARTITION FB6_2 LAN_CFG_2_OBUF A_LAN_12_OBUF
|
EXP44_
|
||||||
|
PARTITION FB6_1 EXP45_ LAN_CFG_2_OBUF A_LAN_12_OBUF
|
||||||
PARTITION FB6_5 A_LAN_13_OBUF A_LAN_10_OBUF
|
PARTITION FB6_5 A_LAN_13_OBUF A_LAN_10_OBUF
|
||||||
PARTITION FB6_8 A_LAN_11_OBUF
|
PARTITION FB6_8 A_LAN_11_OBUF
|
||||||
PARTITION FB6_10 A_LAN_8_OBUF
|
PARTITION FB6_10 A_LAN_8_OBUF EXP46_ lan_adr EXP47_
|
||||||
PARTITION FB6_13 cp_and0000/cp_and0000_D2 A_LAN_9_OBUF A_LAN_9_or0001/A_LAN_9_or0001_D2 $OpTx$FX_DC$137
|
A_LAN_9_OBUF EXP48_ EXP49_ lan_adr_sw
|
||||||
autoconfig lan_adr_sw
|
EXP50_
|
||||||
PARTITION FB7_3 D_13_IOBUFE
|
PARTITION FB7_1 Dout1<1> EXP51_ D_13_IOBUFE EXP52_
|
||||||
PARTITION FB7_5 D_14_IOBUFE
|
D_14_IOBUFE EXP53_ EXP54_ EXP55_
|
||||||
PARTITION FB7_8 $OpTx$FX_DC$174 $OpTx$FX_DC$160 ROM_OE_S IDE_W_S
|
Dout1<2> EXP56_ EXP57_ D_15_IOBUFE
|
||||||
D_15_IOBUFE IDE_R_S IDE_ENABLE D_9_IOBUFE/D_9_IOBUFE_TRST
|
EXP58_ EXP59_ Dout1<0> EXP60_
|
||||||
DS_D AUTO_CONFIG_DONE<1> AUTO_CONFIG_DONE<0>
|
EXP61_ EXP62_
|
||||||
PARTITION FB8_2 DQ_12_IOBUFE DQ_14_IOBUFE
|
PARTITION FB8_1 EXP63_ DQ_12_IOBUFE DQ_14_IOBUFE EXP64_
|
||||||
PARTITION FB8_5 LAN_WRH_OBUF
|
LAN_WRH_OBUF DQ<6>_BUFR.MC EXP65_ LAN_CS_OBUF
|
||||||
PARTITION FB8_8 LAN_CS_OBUF
|
EXP66_ LAN_RD_OBUF LAN_INT_ENABLE EXP67_
|
||||||
PARTITION FB8_10 LAN_RD_OBUF
|
EXP68_ DQ<9>_BUFR.MC DQ<4>_BUFR.MC EXP69_
|
||||||
PARTITION FB8_14 LAN_IRQ_D0 LAN_INT_ENABLE CP_BASEADR<6> CP_BASEADR<4>
|
LAN_RD_S EXP70_
|
||||||
LAN_IRQ_OUT
|
PARTITION FB9_1 EXP71_ $OpTx$FX_DC$144 EXP72_ EXP73_
|
||||||
PARTITION FB9_1 cp_and0001/cp_and0001_D2 EXP24_
|
|
||||||
PARTITION FB9_17 SHUT_UP<2>/SHUT_UP<2>_CLKF EXP25_
|
|
||||||
PARTITION FB10_2 DQ_1_IOBUFE DQ_0_IOBUFE
|
|
||||||
PARTITION FB10_5 DQ_3_IOBUFE DQ_2_IOBUFE
|
|
||||||
PARTITION FB10_8 DQ_5_IOBUFE
|
|
||||||
PARTITION FB10_10 DQ_4_IOBUFE DQ_7_IOBUFE DQ_6_IOBUFE
|
|
||||||
PARTITION FB10_14 DQ_8_IOBUFE
|
|
||||||
PARTITION FB10_16 $OpTx$FX_DC$129 DQ_10_IOBUFE DQ_9_IOBUFE/DQ_9_IOBUFE_TRST
|
|
||||||
PARTITION FB11_10 CP_WE_QUIRK $OpTx$FX_DC$180 ROM_B_0_OBUF$BUF7 $OpTx$FX_DC$159
|
|
||||||
ROM_B_0_OBUF $OpTx$FX_DC$153 LAN_BASEADR<2> CP_WE_OBUF
|
|
||||||
CP_BASEADR<2>
|
|
||||||
PARTITION FB12_2 ROM_B_0_OBUF$BUF4
|
|
||||||
PARTITION FB12_5 DQ_15_IOBUFE
|
|
||||||
PARTITION FB12_8 DQ_13_IOBUFE lancp/lancp_RSTF DQ_11_IOBUFE SHUT_UP<2>
|
|
||||||
DQ_9_IOBUFE IDE_BASEADR<7> IDE_BASEADR<5> IDE_BASEADR<4>
|
|
||||||
IDE_BASEADR<3> IDE_BASEADR<2> IDE_BASEADR<1>
|
|
||||||
PARTITION FB13_2 CP_RD_OBUF
|
|
||||||
PARTITION FB13_5 SHUT_UP<0> LAN_WR_RST LAN_RST_SM_FSM_FFd3 LAN_RST_SM_FSM_FFd1
|
|
||||||
LAN_RST_SM_FSM_FFd2 LAN_CS_RST LAN_BASEADR<7> LAN_BASEADR<6>
|
|
||||||
LAN_BASEADR<0> LAN_WRL_OBUF ROM_B_0_OBUF$BUF0 IDE_BASEADR<6>
|
|
||||||
IDE_BASEADR<0> CP_BASEADR<7>
|
|
||||||
PARTITION FB14_1 EXP26_ Dout1<0> ROM_B_0_OBUF$BUF2
|
|
||||||
PARTITION FB14_9 $OpTx$FX_DC$158 $OpTx$FX_DC$157 CFOUT_OBUF $OpTx$FX_DC$156
|
|
||||||
AUTO_CONFIG_DONE_CYCLE<0> SLAVE_OBUF ROM_B_0_OBUF$BUF1 AUTO_CONFIG_DONE_CYCLE<1>
|
|
||||||
EXP27_ Dout1<3>
|
|
||||||
PARTITION FB15_1 $OpTx$FX_DC$206 EXP28_
|
|
||||||
PARTITION FB15_12 ROM_B_0_OBUF$BUF9
|
|
||||||
PARTITION FB15_17 SHUT_UP<1> EXP29_
|
|
||||||
PARTITION FB16_10 ROM_B_0_OBUF$BUF3
|
|
||||||
PARTITION FB16_15 EXP30_ EXP31_ cp_and0002/cp_and0002_D2 EXP32_
|
|
||||||
|
|
||||||
|
PARTITION FB9_15 EXP74_ EXP75_ $OpTx$FX_DC$145 EXP76_
|
||||||
|
|
||||||
|
PARTITION FB10_1 EXP77_ DQ_1_IOBUFE DQ_0_IOBUFE EXP78_
|
||||||
|
_24_ DQ_2_IOBUFE EXP79_ _23_
|
||||||
|
EXP80_ _19_ _21_ _22_
|
||||||
|
|
||||||
|
PARTITION FB10_14 _18_ DQ<8>_BUFR.MC EXP81_ _20_
|
||||||
|
EXP82_
|
||||||
|
PARTITION FB11_8 SHUT_UP<1> LAN_BASEADR<7> LAN_BASEADR<6> LAN_BASEADR<5>
|
||||||
|
ROM_B_0_OBUF$BUF7 IDE_BASEADR<7> ROM_B_0_OBUF IDE_BASEADR<6>
|
||||||
|
CP_BASEADR<7> CP_WE_OBUF CP_BASEADR<6>
|
||||||
|
PARTITION FB12_1 EXP83_ ROM_B_0_OBUF$BUF4 EXP84_ EXP85_
|
||||||
|
DQ_15_IOBUFE LAN_WRL_S EXP86_ DQ_13_IOBUFE
|
||||||
|
LAN_WRH_S DQ_11_IOBUFE EXP87_ _25_
|
||||||
|
IDE_R_S LAN_IRQ_OUT CP_RD_S DQ<3>_BUFR.MC
|
||||||
|
EXP88_ DQ<5>_BUFR.MC
|
||||||
|
PARTITION FB13_2 CP_RD_OBUF
|
||||||
|
PARTITION FB13_9 LAN_BASEADR<4> LAN_BASEADR<3> IDE_BASEADR<5> IDE_BASEADR<4>
|
||||||
|
IDE_BASEADR<3> LAN_WRL_OBUF ROM_B_0_OBUF$BUF0 CP_BASEADR<5>
|
||||||
|
CP_BASEADR<4> CP_BASEADR<3>
|
||||||
|
PARTITION FB14_1 AUTO_CONFIG_DONE_CYCLE<0> EXP89_ ROM_B_0_OBUF$BUF2
|
||||||
|
PARTITION FB14_6 AUTO_CONFIG_DONE<1> AUTO_CONFIG_DONE<0> LAN_BASEADR<2> LAN_BASEADR<0>
|
||||||
|
IDE_BASEADR<2> CFOUT_OBUF IDE_BASEADR<0> CP_BASEADR<2>
|
||||||
|
SLAVE_OBUF ROM_B_0_OBUF$BUF1 CP_BASEADR<0> EXP90_
|
||||||
|
AUTO_CONFIG_DONE_CYCLE<1>
|
||||||
|
PARTITION FB15_1 Dout1<3> EXP91_
|
||||||
|
PARTITION FB15_12 ROM_B_0_OBUF$BUF9 lancp/lancp_RSTF__$INT LAN_WR_RST SHUT_UP<2>/SHUT_UP<2>_CLKF
|
||||||
|
LAN_IRQ_D0 SHUT_UP<2> EXP92_
|
||||||
|
PARTITION FB16_10 ROM_B_0_OBUF$BUF3
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large.
Load diff
+3756
-1576
File diff suppressed because it is too large.
Load diff
@@ -1,3 +1,3 @@
|
|||||||
XILINX-XDB 0.1 STUB 0.1 ASCII
|
XILINX-XDB 0.1 STUB 0.1 ASCII
|
||||||
XILINX-XDM V1.6e
|
XILINX-XDM V1.6e
|
||||||
$6:35=692.D|Yv+FY]GG!75>'N:>6*@pUz'B]YCK-;9:#J>139'KuR,ORTHN*>27,G647<,Fz_t)HW_EA'570)Y890(B~[x%D[[AE#9;<%YDC>1:&LtQ~#NQUOO)?=7/F26>"Hx]r/JUQKC%313+B69;1/C}Zw$GZ\@F"6:>$O><?4$NrW|!@_WMI/=?9!Q018 JvSp-LSSIM+135-QLK692.D|Yv+FY]GG!751'N:>6*@pUz'B]YCK-;95#J>139'KuR,ORTHN*>28,G647<,Fz_t)HW_EA'57?)Y890(B~[x%D[[AE#9;3%YDC>1:&LtQ~#NQUOO)?<7/F26>"Hx]r/JUQKC%303+B69;1/C}Zw$GZ\@F"6;>$O><94$NrW|!@_WMI/=>9!D3]SPZ66?2.D|Yv+FY]GG!74?'N9S]ZP1038 JvSp-LSSIM+125-U45<,Fz_t)HW_EA'561)]@G:=6*@pUz'B]YCK-;?=#J>2:&LtQ~#NQUOO)?;1/F257=#Gy^s(KVPDB&204(C:8;0(B~[x%D[[AE#9=;%]<=4$NrW|!@_WMI/=9?!UHO25>"Hx]r/JUQKC%366+B6:2.D|Yv+FY]GG!72:'N:=?5+OqV{ C^XLJ.:9? K2058 JvSp-LSSIM+140-@7YW\V::;6*@pUz'B]YCK-;>>#J=_QV\547<,Fz_t)HW_EA'504)Y890(B~[x%D[[AE#9<8%YDC>1:&LtQ~#NQUOO)?:3/F26>"Hx]r/JUQKC%367+B69;1/C}Zw$GZ\@F"6=:$O><94$NrW|!@_WMI/=8=!D3]SPZ66?2.D|Yv+FY]GG!72;'N9S]ZP1038 JvSp-LSSIM+141-U45<,Fz_t)HW_EA'505)]@G:=6*@pUz'B]YCK-;>8#J>2:&LtQ~#NQUOO)?:4/F257=#Gy^s(KVPDB&211(C:8;0(B~[x%D[[AE#9<>%]<=4$NrW|!@_WMI/=8:!UHO25>"Hx]r/JUQKC%362+B6:2.D|Yv+FY]GG!72>'N:=?5+OqV{ C^XLJ.:9; K2038 JvSp-LSSIM+144-U45<,Fz_t)HW_EA'500)]@G:=6*@pUz'B]YCK-;>;#J>2:&LtQ~#NQUOO)?:7/F257=#Gy^s(KVPDB&212(C:8;0(B~[x%D[[AE#9<=%]<=4$NrW|!@_WMI/=89!UHO25>"Hx]r/JUQKC%36<+B6:2.D|Yv+FY]GG!720'N:=?5+OqV{ C^XLJ.:95 K2038 JvSp-LSSIM+14:-U45<,Fz_t)HW_EA'50>)]@G:=6*@pUz'B]YCK-;>5#J>2:&LtQ~#NQUOO)?:9/F257=#Gy^s(KVPDB&21<(C:8=0(B~[x%D[[AE#9<3%H?Q_T^223>"Hx]r/JUQKC%36=+B5WY^T=<?4$NrW|!@_WMI/=87!Q018 JvSp-LSSIM+14;-QLK692.D|Yv+FY]GG!718'N:>6*@pUz'B]YCK-;=<#J>139'KuR,ORTHN*>61,G647<,Fz_t)HW_EA'536)Y890(B~[x%D[[AE#9?:%YDC>1:&LtQ~#NQUOO)?82/F26>"Hx]r/JUQKC%346+B69;1/C}Zw$GZ\@F"6?;$O><?4$NrW|!@_WMI/=:<!Q018 JvSp-LSSIM+160-QLK692.D|Yv+FY]GG!70<'N:>6*@pUz'B]YCK-;<8#J>139'KuR,ORTHN*>75,G647<,Fz_t)HW_EA'522)Y890(B~[x%D[[AE#9>>%YDC>1:&LtQ~#NQUOO)?70/F26>"Hx]r/JUQKC%3;4+B69;1/C}Zw$GZ\@F"609$O><94$NrW|!@_WMI/=5>!D3]SPZ66?2.D|Yv+FY]GG!7?8'N9S]ZP1038 JvSp-LSSIM+192-U45<,Fz_t)HW_EA'5=6)]@G:=6*@pUz'B]YCK-;29#J>2:&LtQ~#NQUOO)?65/F257=#Gy^s(KVPDB&2=0(C:890(B~[x%D[[AE#90?%IU^>8:&LtQ~#NQUOO)?65/G[TZVSW9;37)ATy&E\ZBD,83>"HV__QV\54><,Fz_t)HW_EA'5<3)MQZT\YQ=259'KuR,ORTHN*>94,F\UYs{`gyicobee]maqY692.D|Yv+FY]GG!7>='[:?6*@pUz'B]YCK-;29#[FM038 JvSp-LSSIM+214-@44<,Fz_t)HW_EA'650)L8;97)ATy&E\ZBD,;:="I<>7:&LtQ~#NQUOO)<?6/F1[URX88=0(B~[x%D[[AE#:9<%H?Q_T^323>"Hx]r/JUQKC%032+B5WY^T><94$NrW|!@_WMI/>=8!D3]SPZ56?2.D|Yv+FY]GG!47>'N9S]ZP4058 JvSp-LSSIM+214-@7YW\V?:;6*@pUz'B]YCK-8;:#J=_QV\247<,Fz_t)HW_EA'650)Y890(B~[x%D[[AE#:9<%YDC>1:&LtQ~#NQUXO)?97/F26>"Hx]r/JUQ\C%353+B69;1/C}Zw$GZ\WF"6>>$O><94$NrW|!@_WZI/=;9!D3]SPZ66?2.D|Yv+FY]PG!71?'N9S]ZP1038 JvSp-LSS^M+175-U45<,Fz_t)HW_RA'531)]@G>7)\jv%58,5<729#m7%>50;2*$-6=83:"==5'1123>46783;;<='>3:*2526728;<<=4>1623-45< 8>;<=4>4123>42789#:<6&>7129526728=;<$??;)3;45<609:1=5>?)028,717838<<=4=712*55=/:1:;6?6?0;0;45/682"8<=>53123>6678 8:7%=?0180456=;9:;%-&<512970672:?;<$??;)1645<4=9:1?8>?)e9+056=<9:18=>&119+00672=?;<7::01+24>.189:1:=>?:7234,773!<2<=4991292<67!8:0$:>?0;5345<089:"==5'7423>23783=><='>0:*:456=19:;64>?0(3844=6:2;;?6??0292475<99987<>;3:3316=68?90==9=;030?477;2;:=>5>1318545438;>?6?>6292525<98287<?62:317>758:1:><=41360?442;2;9:>5>291857?538987<=?3:3056=6;;90=>=<;0177>74=:1:?;=41250?45?;2;85?5>4292055<9=887<:<14920?IR\Y__6LQCAO>27?69:2;>>6?911922?OIG\^1H1?::1<25>712@DDYY4KQ=36>58538=97<7>;308654<:880>?<42233?75=AGZ^X7O32282:7=5<;199?5=639137=508>0>7AZTQWW>LBBWJY7=7>11291>JSSX\^1^BCPB=394;7<;;18<?5<139067=4;;188?5<5390=45<;3E^X][[:HFF[D:5294:79<44108044<<:8089<44408034<<18084?:;58LQQVR\3FJBRMIG=695;7<=;1><?5:139667=2;;1>8?5:639637=20;1>5<592:436>06:2<?>6892:4;6>0>92=97:>=;631?2253>?97:8=;651?=6531;975<=;911?=3531<9759=;9:2?<4<18805?<49508=04<1?805:<49978E977601J0<>1.QCG1>G;98427L2>1?,SEA3<I5;9245N<00=*UGC=2K7=>06;@>27;(WIM?0M1?;>89B8429&YKO96O314<:?D:6=7$[MI;4A=35:<=F48<5"]OK5:C?528>3H6:;3 _AE78E97?601J0<61.QCG1>G;90427L2>9?,SEA2<I5;546O31?,SEA3<I58;245N<32=*UGC=2K7><06;@>15;(WIM?0M1<=>89B8749&YKO;6O32282:0=F4;9556O322<-TDB33H69255N<3<-TDB33H68255N<2<-TDB33H6?255N<5<-TDB33H6>255N<4<-TDB33H6=255N<7<-TDB33H6<255N<6<-TDB33H63255N<9<-TDB33H62255N<8<-TDB43HDO56OANNVBP@B53HY=7L]!P@F4?DUXAK_Mo6OZTN@LKQYHNO;;7L[[OCMLPZIAN'ZJH<?4ATVLFJISWFLMSDLZF018EPRHWJEEJDIPDNLF8586>2K^XBQLOODJCZBHFL6;2#MJ199BQQIXKFDMEJQKOOG?4;(DDBL:96OZTN]@KK@NOVNDBH2?>/F22>GR\FUHCCHFG^FLJ@:76'N:=;5NUUM\GJHAANUOCCK30?,G643<I\^DSNAAFHE\@JHB494%]<94ATVL[FIIN@MTHB@J<1<-V@A5=2K^XBQLOODJCZBHFL6;2Rz|ilaqadrblVzy`iQ>3:CVPJYDGGLBKRJ@ND>2:40<I\^DSNAAFHE\@JHB484%OH?7;@WWKZEHFOCLSIAAE=3=*FJLN8?0MXZ@_BMMBLAXLFDN0<0!D048EPRHWJEEJDIPDNLF848)L8;=7L[[O^ALJCO@WMEEI1?1.E021>GR\FUHCCHFG^FLJ@:66'[:;6OZTN]@KK@NOVNDBH2>>/PFC73<I\^DSNAAFHE\@JHB484Tx~gbcsgbp`bXx{foS<74ATVL[FIIN@MTHB@J_B[@H@:768o0MXZ@_BMMBLAXLFDNSNWLLD>3:+EKCO;i7L[[O^ALJCO@WMEEIRMVCMG?4;(C9j1JYYAPCNLEMBYCGGOTOTMCE=2=*A76k2K^XBQLOODJCZBHFLUHUNBJ<1<-@7463H__CRM@NGKD[AIIMVIROAK30?,G6ZVSW98:7L[[O^ALJCO@WMEEIRMVCMG?4;(C:VZ_S<<>;@WWKZEHFOCLSIAAE^AZGIC;87$O>R^[_302?DSSGVIDBKGH_EMMAZE^KEO7<3 K2^RW[67e3H__CRM@NGKD[AIIMVIROAK30?,R5a=F]]ETOB@IIF]GKKCXKPIGI1>1.SGD6g=F]]ETOB@IIF]GKKCLine truncated
|
$8fg5=692.D|Yv+FY]GG!73<'N:>6*@pUz'B]YCK-;?8#J>139'KuR,ORTHN*>45,G641<,Fz_t)HW_EA'512)L;U[XR>>7:&LtQ~#NQUOO)?;4/F1[URX98=0(B~[x%D[[AE#9=>%H?Q_T^023>"Hx]r/JUQKC%370+B5WY^T?<94$NrW|!@_WMI/=9:!D3]SPZ26?2.D|Yv+FY]GG!73<'N9S]ZP5058 JvSp-LSSIM+156-@7YW\V<:=6*@pUz'B]YCK-;?8#_>3:&LtQ~#NQUOO)?;4/WJI47<,Fz_t)HW_EA'513)L880(B~[x%D[[AE#9=?%H<?=;%MsP}"APVNH(<::.E023>"Hx]r/JUQKC%371+B5WY^T<<94$NrW|!@_WMI/=9;!D3]SPZ76?2.D|Yv+FY]GG!73='N9S]ZP2058 JvSp-LSSIM+157-@7YW\V9:;6*@pUz'B]YCK-;?9#J=_QV\041<,Fz_t)HW_EA'513)L;U[XR;>7:&LtQ~#NQUOO)?;5/F1[URX>8;0(B~[x%D[[AE#9=?%]<=4$NrW|!@_WMI/=9;!UHO20>"Hx]r/ECX+86]\ LHS&M;>7)ATy&JJS"??VU/ECZ!D036?!Iw\q.BB[*77^]'MKR)L;;j7)ATy&JJS"??VU/ECZ!D3]SPZ66i2.D|Yv+IOT'<2YX,@D_"I<PPU]25d=#Gy^s(D@Y$95\[!OI\'N9S]ZP2068 JvSp-CEZ)68_^&JJQ(V9?1/C}Zw$HLU =1XW-CEX#[FM49'V`p#?2";6=4?)g9+4?6=8 *#<7>50(33?-77890:<=>51123-45< 8;<<=4>1623>47089#:?6&>4123>427890:8=>?)028,41783;<<=4>712*55=/91:;6<6?0;3;45/682"9;=>52623>7178 ;;7%<70181<56=:1:;%<>4(2234?578908<=>&209+75672::;<7=?01+#,637839><=4<512*55=/;<:;6>;?0;1645/c3!>;<7:?0;634,773!>><=4;51290067!8:0$;>?0;4345<189:"==5'6823>3?783<2<='>0:*4456=?9:;6:>?0(33?-12890<9=>57423-46< 0:;<77?018:456.92::7<<41118556438:9?6??3292415<99?87<>93:3337=69:1:===41030?475;2;:?>5>1418540438;<?6?>82925<4<9;90=?><;0027>75<:1:>8=41340?44?;2;95?5>3292755<9:;87<==3:3076=6;=90=>;<;0157>74?:1:?5=412;1?42438>;?6?;2292067238>1CXZ_UU8B[IGI4891<3<41408537738<1ECAZT;F?50<768;0=;4FNNWW>AW;9<0;2?5>7392=4=5:28;>6<>2:016>449919?7GAPTV9E94428497?:=;371?7053;=97?6>4:09KPRW]]0BHHQLS=394;743;0DYY^ZT;PLIZD;93:5=6==;221?6753:897>==;261?6353:3:?6=5OTVSQQ<NLLUJ0?4?>0976>27:2>:>6:<2:676>22:2>=>6:72:6:50=32F__\XZ5L@L\GCA;<3;5=6;=;421?0753<8978==;461?0053<=9786=;4;2?34<>980:<<46508234<>180:4?4739447=09;1<8?58539427=0?;13<?57139;67=?;;139?57639;37=?0812>67>2:;16>?3:23>>6792:;46>??=2K7==06;@>24;(WIM?0M1?>>89B8479&YKO96O313<:?D:6:7$[MI;4A=30:<=F4895"]OK5:C?518>3H6:83 _AE78E972601J0<;1.QCG1>G;9?427L2>6?,SEA3<I5;<245N<05=*UGC=2K7=506;@>2<;(WIM?0M1?6>89B84?9&YKO86O31?:8E979&YKO96O321<:?D:587$[MI;4A=02:<=F4;;5"]OK5:C?678>3H69>3 _AE58E944284>7L2=3?;8E9446'ZJH95N<3<;?D:56'ZJH95N<2<;?D:46'ZJH95N<5<;?D:36'ZJH95N<4<;?D:26'ZJH95N<7<;?D:16'ZJH95N<6<;?D:06'ZJH95N<9<;?D:?6'ZJH95N<8<;?D:>6'ZJH>5NNE;8EKHH\H^NH?5NS79BW+VFL>1J_RGMUGa8EPRHJFE_SBHI119BQQIEGF^TCKH!P@F25>GR\FHDCYQ@FG]JFP@6;2K^XBQLOODJCZBHFL6;2<84ATVL[FIIN@MTHB@J<1<-G@7?3H__CRM@NGKD[AIIM5:5"NBDF078EPRHWJEEJDIPDNLF858)L8<0MXZ@_BMMBLAXLFDN0=0!D035?DSSGVIDBKGH_EMMA969&M8:96OZTN]@KK@NOVNDBH2?>/S23>GR\FUHCCHFG^FLJ@:76'XNK?;4ATVL[FIIN@MTHB@J<1<\pvojk{ojxhjPpsng[45<I\^DSNAAFHE\@JHB484::6OZTN]@KK@NOVNDBH2>>/AF5==F]]ETOB@IIF]GKKC;97$H@FH>5:CVPJYDGGLBKRJ@ND>2:+B6>2K^XBQLOODJCZBHFL6:2#J>179BQQIXKFDMEJQKOOG?5;(C:8?0MXZ@_BMMBLAXLFDN0<0!Q058EPRHWJEEJDIPDNLF848)ZLM996OZTN]@KK@NOVNDBH2>>^vpmheumh~nhR~}le]2=>GR\FUHCCHFG^FLJ@YDQJFN0=0>e:CVPJYDGGLBKRJ@ND]@]FJB494%OAEI1c9BQQIXKFDMEJQKOOG\G\EKM5:5"I?l;@WWKZEHFOCLSIAAE^AZGIC;87$O=<m4ATVL[FIIN@MTHB@J_B[@H@:76'N9><5NUUM\GJHAANUOCCKPCXAOA969&M8T\YQ?209BQQIXKFDMEJQKOOG\G\EKM5:5"I<PPU]264=F]]ETOB@IIF]GKKCXKPIGI1>1.E0\TQY5:81JYYAPCNLEMBYCGGOTOTMCE=2=*A4XX]U8><5NUUM\GJHAANUOCCKPCXAOA969&M8T\YQ;1c9BQQIXKFDMEJQKOOG\G\EKM5:5"\?k;@WWKZEHFOCLSIAAE^AZGIC;87$YIJ<m;@WWKZEHFOCLSIAAE^AZGIC;87UdclrdcwaaYwzenT>l5NUUM\GJHAANUOCCKPCXAOA969W}yban|jaugg[}iuW830MXZ@_BMMBLAXLFDNSNWLLD>2:4c<I\^DSNAAFHE\@JHBWJSH@H2>>/AOOC7e3H__CRM@NGKD[AIIMVIROAK31?,G5f=F]]ETOB@IIF]GKKCXKPIGI1?1.E32g>GR\FUHCCHFG^FLJ@YDQJFN0<0!D302?DSSGVIDBKGH_EMMAZE^KEO7=3 K2^RW[5463H__CRM@NGKD[AIIMVIROAK31?,G6ZVSW88:7L[[O^ALJCO@WMEEIRMVCMG?5;(C:VZ_S?<>;@WWKZEHFOCLSIAAE^AZGIC;97$O>R^[_202?DSSGVIDBKGH_EMMAZE^KEO7=3 K2^RW[17e3H__CRM@NGKD[AIIMVIROAK31?,R5a=F]]ETOB@IIF]GKKCXKPIGI1?1.SGD6g=F]]ETOB@IIF]GKKCXKPIGI1?1_uqjiftbi}ooS}|cd^0b?DSSGVIDBKGH_EMMAZE^KEO7=3Q{sho`v`gsmmUscQ6;@]26ZOE]O30MR?<_H@VB<=FW8>TEO[I9:C\50YNJ\L27LQ>6^KAQC?<IV;<SDLZF89B[4>XAK_M56OP18]JFP@?3HU:SDLZF89B[76XAK_M56OP20]JFP@>3HU9>RGMUG;8EZ44W@H^J55N_3]JFP@?3HU8SDLZF99B[1YNJ\L37LQ:_H@VB==FW?UBNXH7;@]4[LDRN11JS5QFBTD;?DYKIG6;2n5N_MCM858)XHN27LQCAO>24;b<IVFJB1??>/RB@<=FWEKE0<?1d:C\HDH;984%\LJ6;@]OEK:6:7n0MRBNN=31:+VFLk1JSAOA<0194;?<IVFJB1?<>e9B[IGI4895"]OK8:C\HDH;97i0MRBNN=3=*UGC02KT@L@32?a8EZJFF585"]OK8:C\HDH;;7i0MRBNN=1=*UGC02KT@L@34?a8EZJFF5>5"]OK8:C\HDH;=7i0MRBNN=7=*UGC02KT@L@36?a8EZJFF5<5"]OK8:C\HDH;?7i0MRBNN=5=*UGC02KT@L@38?a8EZJFF525"]OK8:C\HDH;17i0MRBNN=;=*UGCk2KT@L@P0^MAQCc<IVFJBR>POCWE*A`<IVFJBR>POCWE*A7a3HUGMCQ?_N@VB+B5m2KT@L@P0^MAQC(Vl2KT@L@P11]LFP@a3HUGMCQ>0^MAQC(C991JSAOA_02\KGSA&M;:<6OPL@L\55YHJ\L%H?h4A^NBJZ77WFH^J#_k;@]OEKY69VEIYKh4A^NBJZ76WFH^J#J>0:C\HDHX98UDNXH!D033?DYKIGU:=RAMUG,G6c=FWEKES<?POCWE*Tb<IVFJBR?=_N@VBc=FWEKES<<POCWE*A773HUGMCQ>2^MAQC(C98:0MRBNN^31[JDRN'N9j6OPL@L\57YHJ\L%]i5N_MCM[45XGK_Mj6OPL@L\56YHJ\L%H<>4A^NBJZ74WFH^J#J>119B[IGIW89TCO[I.E0e?DYKIGU:?RAMUG,Rg>GXDHDT=RAMUGg8EZJFFV;TCO[I.Ed8EZJFFV;TCO[I.E3e?DYKIGU:SBLZF/F1a>GXDHDT=RAMUG,Rg>GXDHDT>RAMUGg8EZJFFV8TCO[I.Ed8EZJFFV8TCO[I.E3e?DYKIGU9SBLZF/F151=FWEKES?Q@BTD-@7YW\V::86OPL@L\6ZIE]O$O>R^[_0g8EZJFFV8TCO[I.Pa8EZJFFV9TCO[Ie:C\HDHX;VEIYK Kf:C\HDHLine truncated
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
XILINX-XDB 0.1 STUB 0.1 ASCII
|
XILINX-XDB 0.1 STUB 0.1 ASCII
|
||||||
XILINX-XDM V1.6e
|
XILINX-XDM V1.6e
|
||||||
$7`35=23-;B8<;4$0K770=#9@?>96*>N506?!7I<=?0(<@;8008 Wcqazcdb7.>.37:$!><.V;B8<Q<8:$\5L24W:20*R?F54]0<> X9G>9S964&^3M01Y302,T=C:7_538443<9=0DYY^ZT;C\HDH;9:0;2<>4178JJJSS2M6:97>110922?OIG\^1H\2>5;2=55=5;3CECXZ5A=00>486<281CXZ_UU8J@@YD[5;1<3?<;38LQQVR\3XDARL31;2=56=42F__\XZ5IEG\E94=87;>794@UURVP?JFFVIMK1:51?78E9776<1J0<?15:C?57823H6:?3;4A=37:0=F48?596O317<6?D:6?7?0M1?7>49B84?9<2K7=3;4A=03:0=F4;;596O323<4?D:5;3;596O322<7?D:56=1J0>0;;@>7:1=F4<4?7L29>59B82833H63295N<8<0?DHC<2KEH?:4AOF00>GIL=>0MCJ:4:CM@32<IGN3>6O\7:CP[LDRNj1JYYAMONV\KC@692K^XBL@OU]LBCYNJ\L:?6OZTN]@KK@NOVNDBH2?>018EPRHWJEEJDIPDNLF8486:2K^XBQLOODJCZBHFLU;=85NUUM\GJHAANUOCCKP0^L253=F]]ETOB@IIF]GKKCX8VD:=<<4ATVL[FIIN@MTHB@J_03:?DSSGVIDBKGH_EMMAZE^KEO7<3?6;@WWKZEHFOCLSIAAE^AZGIC;97;37L[[O^ALJCO@WMEEIRMVCMG\44><I\^DSNAAFHE\@JHBWJSH@HQ>259BQQIXKFDMEJQKOOG\G\EKMVkoh~{m01238486m2K^XBQLOODJCZBHFLUHUNBJ_`lg45679o1JYYAPCNLEMBYCGGOTOTMCE^cm`56788;m7L[[O^ALJCO@WMEEIRMVCMG\ekb789:9=k5NUUM\GJHAANUOCCKPCXAOAZgil9:;<>?i;@WWKZEHFOCLSIAAE^AZGICXign;<=>;1g9BQQIXKFDMEJQKOOG\G\EKMVkeh=>?043e?DSSGVIDBKGH_EMMAZE^KEOTmcj?01255`=F]]ETOB@IIF]GKKCXKPIGIRoad12354`<I\^DSNAAFHE\@JHBWJSH@HQnne234476n2K^XBQLOODJCZBHFLUHUNBJ_`lg4566:;;0MXZ@_BMMBLAXLFDNSNWLLD]nq}67896;2?<4ATVL[FIIN@MTHB@J_B[@H@Yj}q:;<=2?>000?DSSGVIDBKGH_EMMAZE^KEOTaxv?012?4;77::1JYYAPCNLEMBYCGGOTOTMCE^ov|56785:5=<<<;@WWKZEHFOCLSIAAE^AZGICXe|r;<=>30?3166=F]]ETOB@IIF]GKKCXKPIGIRczx12349699:887L[[O^ALJCO@WMEEIRMVCMG\ip~789:7<3?;239BQQIXKFDMEJQKOOG\G\EKMVg~t=>?0=2=674<I\^DSNAAFHE\@JHBWJSH@HQbuy2345:76:897L[[O^ALJCO@WMEEIRMVCMG\ip~789:7<3:=2:CVPJYDGGLBKRJ@ND]@]FJBWds<=>?<1<667=F]]ETOB@IIF]GKKCXKPIGIRczx1234969>;80MXZ@_BMMBLAXLFDNSNWLLD]nq}67896;2:<=;@WWKZEHFOCLSIAAE^AZGICXe|r;<=>30?:16>GR\FUHCCHFG^FLJ@YDQJFNS`{w0123858>:81JYYAPCNLEMBYCGGOTOTMCE^ov|56785;5>?5NUUM\GJHAANUOCCKPCXAOAZkrp9:;<1?11318EPRHWJEEJDIPDNLF[F_DDLUfyu>?01>2:465;2K^XBQLOODJCZBHFLUHUNBJ_lw{4567484:=?=4ATVL[FIIN@MTHB@J_B[@H@Yj}q:;<=2>>0017>GR\FUHCCHFG^FLJ@YDQJFNS`{w01238486;;90MXZ@_BMMBLAXLFDNSNWLLD]nq}67896:2<:=3:CVPJYDGGLBKRJ@ND]@]FJBWds<=>?<0<2175<I\^DSNAAFHE\@JHBWJSH@HQbuy2345:668<9?6OZTN]@KK@NOVNDBHQLYBNF[hs89:;0<0>7318EPRHWJEEJDIPDNLF[F_DDLUfyu>?01>2:4>5:2K^XBQLOODJCZBHFLUHUNBJ_lw{45674849>?5NUUM\GJHAANUOCCKPCXAOAZkrp9:;<1?13308EPRHWJEEJDIPDNLF[F_DDLUfyu>?01>2:1453H__CRM@NGKD[AIIMVIROAKPmtz3456;97?9>6OZTN]@KK@NOVNDBHQLYBNF[hs89:;0<09239BQQIXKFDMEJQKOOG\G\EKMVg~t=>?0=3=374<I\^DSNAAFHE\@JHBWJSH@HQbuy2345:661897L[[O^ALJCO@WMEEIRMVCMG\ip~789:7=376;@]24ZOE]O30MR?>_H@VB<=FW88TEO[I9:C\56YNJ\L27LQ>4^KAQC?<IV;>SDLZF89B[40XAK_M56OP16]JFP@>3HU:4RGMUG;8EZ7>W@H^J55N_0]JFP@>3HU9<RGMUG;8EZ46W@H^J45N_30\MGSA12KT>>QFBTD;?DY5W@H^J55N_2]JFP@?3HU?SDLZF99B[0YNJ\L37LQ9_H@VB==FW>UBNXH7;@];[LDRN11JS4QFBTD;?DYKIG6;245N_MCM846912KT@L@310<:?DYKIG6:>3l4A^NBJ97429427LQCAO>27;><IVFJB1?18:C\HDH;:720MRBNN=1=<>GXDHD78364A^NBJ93902KT@L@36?:8EZJFF5=546OPL@L?<;><IVFJB171c:C\HDHX8VEIYKh4A^NBJZ6Xe|r;<=>>0:C\HDHX8Vg~t=>?0033?DYKIGU;S`{w0123646<IVFJBR>Pmtz34564l2KT@L@P11]LFP@682KT@L@P11]nq}6789;:7LQCAO]24Zkrp9:;<<?>;@]OEKY68Vg~t=>?0332?DYKIGU:<Rczx12346b<IVFJBR?>_N@VB46<IVFJBR?>_lw{4567981JSAOA_03\ip~789::=<5N_MCM[47Xe|r;<=>=109B[IGIW8;Taxv?0120`>GXDHDT=?Q@BTD24>GXDHDT=?Qbuy2345763HUGMCQ>2^ov|56788;:7LQCAO]26Zkrp9:;<??>;@]OEKY6:Vg~t=>?02f8EZJFFV;8SBLZF028EZJFFV;8S`{w012354=FWEKES<=Pmtz34566981JSAOA_01\ip~789:9=<5N_MCM[45Xe|r;<=><c:C\HDHX9VEIYKh4A^NBJZ7Xe|r;<=>>0:C\HDHX9Vg~t=>?0033?DYKIGU:S`{w0123646<IVFJBR?Pmtz34564k2KT@L@P2^MAQC`<IVFJBR<Pmtz3457682KT@L@P2^ov|56798;;7LQCAO]1[hs89::><>4A^NBJZ4Xe|r;<=?<119B[IGIW;Ufyu>?00624>GXDHDT>Rczx12350773HUGMCQ=_lw{4566>8:0MRBNN^0\ip~789;<o6OPL@L\7ZIE]Ol0MRBNN^1\ip~789;:<6OPL@L\7Zkrp9:;=<??;@]OEKY4Wds<=>>2028EZJFFV9Taxv?013055=FWEKES>Qbuy23442682KT@L@P3^ov|5679<i0MRBNN^6\KGSAn2KT@L@P4^ov|56798:0MRBNN^6\ip~789;:==5N_MCM[1Yj}q:;<<<>0:C\HDHX<Vg~t=>?1233?DYKIGU?S`{w0122046<IVFJBR:Pmtz34572991JSAOA_5]nq}6788<:<6OPL@L\0Zkrp9:;=:m4A^NBJZ3XGK_Mj6OPL@L\1Zkrp9:;=<>4A^NBJZ3Xe|r;<=?>119B[IGIW<Ufyu>?00024>GXDHDT9Rczx12356773HUGMCQ:_lw{4566<8:0MRBNN^7\ip~789;>==5N_MCM[0Yj}q:;<<8>0:C\HDHX=Vg~t=>?16a8EZJFFV<TCO[If:C\HDHX>Vg~t=>?0028EZJFFV<Taxv?012255=FWEKES;Qbuy23454682KT@L@P6^ov|5678:i0MRBNN^5\KGSAn2KT@L@P7^ov|56788:0MRBNN^5\ip~789::==5N_MCM[2Yj}q:;<=<>0:C\HDHX?Vg~t=>?02a8EZJFFV2TCO[If:C\HDHX0Vg~t=>?0028EZJFFV2Taxv?012255=FWEKES5Qbuy23454682KT@L@P8^ov|5678:i0MRBNN^;\KGSAn2KT@L@P9^ov|56788:0MRBNN^;\ip~789::==5N_MCM[<Yj}q:;<=<>0:C\HDHX1Vg~t=>?02g8EZJFFV3Tc>?01d8EZJFFV3Tc>?013e?DYKIGU2Sb|?0121b>GXDHDT5Ra}01237`=FWEKES4Q`r1235c=FWEKES4Q`r12354`<IVFJBR7Pos23444a3HUGMCQ6_np34574m2KT@L@P9^mq4565n2KT@L@P9^mq45659o1JSAOA_8]lv567:;l0MRBNN^;\kw678;9?7OK]R89AAWTXAK_M?6LZF028FPOKLV^J^JK[ASAK<>DR[VCEJB?4C39@52=D9VCIYK<4C258G6YNJ\L97NK;;BDJJ<=DN@DTEO[I5:AEKPR13JLDYY?9;BDLQQ413JLDYY=n;BDLQQYHJ\L87NBD7:AOOZC_\j1H@FQJXU]JFP@43JFY56M@MLKWP@Bc3JZTNL]JAEP?4;b<KYUIM^KNDS>2:a=DXVHJ_HOKR=0=`>EWWKKXILJ]<2<g?FVXJHYNMI\34?f8GUYEIZOJH_2:>e9@TZDF[LKO^181d:AS[GGTMHNY0:0l;BR\FDUBIMXT<n5LP^@BW@GCZV;h7N^PB@QFEATX:j1H\RLNSDCGVZ5d3JZTNL]JAEP\0f=DXVHJ_HOKR^7`?FVXJHYNMI\P6b9@TZDF[LKO^R9>2:AS[GGLine truncated
|
$74:5=23-;B8<;4$0K770=#9@?>96*>N506?!7I<=?0(<@;8008 Wcqazcdb7.>.37:$!><.V;B8<Q<8:$\5L24W:20*R?F54]0<> X9G>9S964&^3M01Y302,T=C:7_538443<9=0DYY^ZT;C\HDH;9:0;2<>4178JJJSS2M6:97>110922?OIG\^1H\2>5;2=55=5;3CECXZ5A=00>486<281CXZ_UU8J@@YD[5;1<3?<;38LQQVR\3XDARL31;2=56=42F__\XZ5IEG\E94=87;>794@UURVP?JFFVIMK1:51?78E9776<1J0<?15:C?57823H6:?3;4A=37:0=F48?596O317<6?D:6?7?0M1?7>49B84?9<2K7=3;4A=03:0=F4;;596O323<4?D:5;3;596O322<7?D:56=1J0>0;;@>7:1=F4<4?7L29>59B82833H63295N<8<0?DHC<2KEH?:4AOF00>GIL=>0MCJ:4:CM@32<IGN3>6O\7:CP[LDRNj1JYYAMONV\KC@692K^XBL@OU]LBCYNJ\L:?6OZTN]@KK@NOVNDBH2?>018EPRHWJEEJDIPDNLF8486:2K^XBQLOODJCZBHFLU;=85NUUM\GJHAANUOCCKP0^L253=F]]ETOB@IIF]GKKCX8VD:=<<4ATVL[FIIN@MTHB@J_03:?DSSGVIDBKGH_EMMAZE^KEO7<3?6;@WWKZEHFOCLSIAAE^AZGIC;97;37L[[O^ALJCO@WMEEIRMVCMG\44><I\^DSNAAFHE\@JHBWJSH@HQ>259BQQIXKFDMEJQKOOG\G\EKMVkoh~{m01238486m2K^XBQLOODJCZBHFLUHUNBJ_`lg45679o1JYYAPCNLEMBYCGGOTOTMCE^cm`56788;m7L[[O^ALJCO@WMEEIRMVCMG\ekb789:9=k5NUUM\GJHAANUOCCKPCXAOAZgil9:;<>?i;@WWKZEHFOCLSIAAE^AZGICXign;<=>;1g9BQQIXKFDMEJQKOOG\G\EKMVkeh=>?043e?DSSGVIDBKGH_EMMAZE^KEOTmcj?01255`=F]]ETOB@IIF]GKKCXKPIGIRoad12354`<I\^DSNAAFHE\@JHBWJSH@HQnne234476n2K^XBQLOODJCZBHFLUHUNBJ_`lg4566:;;0MXZ@_BMMBLAXLFDNSNWLLD]nq}67896;2?<4ATVL[FIIN@MTHB@J_B[@H@Yj}q:;<=2?>000?DSSGVIDBKGH_EMMAZE^KEOTaxv?012?4;77::1JYYAPCNLEMBYCGGOTOTMCE^ov|56785:5=<<<;@WWKZEHFOCLSIAAE^AZGICXe|r;<=>30?3166=F]]ETOB@IIF]GKKCXKPIGIRczx12349699:887L[[O^ALJCO@WMEEIRMVCMG\ip~789:7<3?;239BQQIXKFDMEJQKOOG\G\EKMVg~t=>?0=2=674<I\^DSNAAFHE\@JHBWJSH@HQbuy2345:76:897L[[O^ALJCO@WMEEIRMVCMG\ip~789:7<3:=2:CVPJYDGGLBKRJ@ND]@]FJBWds<=>?<1<667=F]]ETOB@IIF]GKKCXKPIGIRczx1234969>;80MXZ@_BMMBLAXLFDNSNWLLD]nq}67896;2:<=;@WWKZEHFOCLSIAAE^AZGICXe|r;<=>30?:16>GR\FUHCCHFG^FLJ@YDQJFNS`{w0123858>:81JYYAPCNLEMBYCGGOTOTMCE^ov|56785;5>?5NUUM\GJHAANUOCCKPCXAOAZkrp9:;<1?11318EPRHWJEEJDIPDNLF[F_DDLUfyu>?01>2:465;2K^XBQLOODJCZBHFLUHUNBJ_lw{4567484:=?=4ATVL[FIIN@MTHB@J_B[@H@Yj}q:;<=2>>0017>GR\FUHCCHFG^FLJ@YDQJFNS`{w01238486;;90MXZ@_BMMBLAXLFDNSNWLLD]nq}67896:2<:=3:CVPJYDGGLBKRJ@ND]@]FJBWds<=>?<0<2175<I\^DSNAAFHE\@JHBWJSH@HQbuy2345:668<9?6OZTN]@KK@NOVNDBHQLYBNF[hs89:;0<0>7318EPRHWJEEJDIPDNLF[F_DDLUfyu>?01>2:4>5:2K^XBQLOODJCZBHFLUHUNBJ_lw{45674849>?5NUUM\GJHAANUOCCKPCXAOAZkrp9:;<1?13308EPRHWJEEJDIPDNLF[F_DDLUfyu>?01>2:1453H__CRM@NGKD[AIIMVIROAKPmtz3456;97?9>6OZTN]@KK@NOVNDBHQLYBNF[hs89:;0<09239BQQIXKFDMEJQKOOG\G\EKMVg~t=>?0=3=374<I\^DSNAAFHE\@JHBWJSH@HQbuy2345:661897L[[O^ALJCO@WMEEIRMVCMG\ip~789:7=376;@]24ZOE]O30MR?>_H@VB<=FW88TEO[I9:C\56YNJ\L27LQ>4^KAQC?<IV;>SDLZF89B[40XAK_M56OP16]JFP@>3HU:4RGMUG;8EZ7>W@H^J55N_0]JFP@>3HU9<RGMUG;8EZ46W@H^J45N_30\MGSA12KT>>QFBTD;?DY5W@H^J55N_2]JFP@?3HU?SDLZF99B[0YNJ\L37LQ9_H@VB==FW>UBNXH7;@];[LDRN11JS4QFBTD;?DYKIG6;245N_MCM846912KT@L@310<:?DYKIG6:>3l4A^NBJ97429427LQCAO>27;><IVFJB1?18:C\HDH;:720MRBNN=1=<>GXDHD78364A^NBJ93902KT@L@36?:8EZJFF5=546OPL@L?<;><IVFJB171c:C\HDHX8VEIYK??;@]OEKY7Wds<=>?1e9B[IGIW8:TCO[I109B[IGIW8:Taxv?0122`>GXDHDT=<Q@BTD25>GXDHDT=<Qbuy23457c3HUGMCQ>2^MAQC763HUGMCQ>2^ov|56788n0MRBNN^30[JDRN8;0MRBNN^30[hs89:;=n5N_MCM[4YHJ\L:<6OPL@L\5Zkrp9:;<<m4A^NBJZ4XGK_Mj6OPL@L\6Zkrp9:;=<>4A^NBJZ4Xe|r;<=?>119B[IGIW;Ufyu>?00024>GXDHDT>Rczx12356773HUGMCQ=_lw{4566<8:0MRBNN^0\ip~789;>==5N_MCM[7Yj}q:;<<8l;@]OEKY4WFH^Jk5N_MCM[6Yj}q:;<<??;@]OEKY4Wds<=>>1028EZJFFV9Taxv?013155=FWEKES>Qbuy23445682KT@L@P3^ov|5679=;;7LQCAO]0[hs89::9<>4A^NBJZ5Xe|r;<=?9119B[IGIW:Ufyu>?005`?DYKIGU?SBLZFg9B[IGIW=Ufyu>?0033?DYKIGU?S`{w0122546<IVFJBR:Pmtz34575991JSAOA_5]nq}67889:<6OPL@L\0Zkrp9:;=9??;@]OEKY3Wds<=>>5028EZJFFV>Taxv?0135g>GXDHDT9RAMUGd8EZJFFV?Taxv?01324>GXDHDT9Rczx12354773HUGMCQ:_lw{4566:8:0MRBNN^7\ip~789;8==5N_MCM[0Yj}q:;<<:>0:C\HDHX=Vg~t=>?1433?DYKIGU>S`{w01222f=FWEKES;Q@BTDe?DYKIGU=S`{w012355=FWEKES;Qbuy23457682KT@L@P6^ov|5678;;;7LQCAO]5[hs89:;?<>4A^NBJZ0Xe|r;<=>;119B[IGIW?Ufyu>?01724>GXDHDT:Rczx12343773HUGMCQ9_lw{4567?j1JSAOA_6]LFP@682KT@L@P7^ov|56788i0MRBNN^:\KGSA991JSAOA_9]nq}6789;h7LQCAO]:[JDRN8:0MRBNN^;\ip~789::i6OPL@L\=Ziu89:;j6OPL@L\=Ziu89:;=k5N_MCM[<Yhz9:;<?h4A^NBJZ?Xg{:;<==j;@]OEKY>Wfx;<=?i;@]OEKY>Wfx;<=?>f:C\HDHX1Vey<=>>259AAWT>3KOY^RGMUG18FP@682H^EAJPT@PDAQGUKA20NX]PIODL5>E53J;<7N?PICWE6>E4?2I8SDLZF39@A1=DN@D27NHFN^KAQC3<KOE^X;5LFNWW53=DNF__>;5LFNWW7d=DNF__SBLZF29@HN1<KEATIUZl;BNH[@^SW@H^J>5LLS;8GJKJA]^NHi5LP^@BW@GCZ5:5h6M__CCPADBU484o7N^PB@QFEAT;:7n0O]QMARGB@W:46m1H\RLNSDCGV929l2I[SOO\E@FQ808c3JZTNL]JAEP?2;b<KYUIM^KNDS>4:f=DXVHJ_HOKR^2`?FVXJHYNMI\P1b9@TZDF[LKO^R<l;BR\FDUBIMXT?n5LP^@BW@GCZV>h7N^PB@QFEATX=j1H\RLNSDCGVZ0d3JZTNL]JAEP\344<KYUIM^KNDS]bja6789;87N^PB@QFEATXign;<=>>129@TZDF[LKO^Road12347743JZTNL]JAEP\ekb789:8=>5LP^@BW@GCZVkeh=>?0530?FVXJHYNMI\Paof345629:1H\RLNSDCGVZgil9:;<;?<;BR\FDUBIMXTmcj?012456=DXVHJ_HOKR^cm`56781;97N^PB@QFEATXff~;<=?>3:AS[GGTMHNYSca{0122545<KYUIM^KNDS]mkq67888:?6M__CCPADBUWge<=>>3018GUYEIZOJH_Qaou234426;2I[SOO\E@FQ[kis89::9<=4CQ]AEVCFL[Uecy>?00427>EWWKKXILJ]_omw4566?<1H\RM\6:AS[FU6i2I[SN]POCWE2>EWW@XZn6M__HPR[LDRN<1H\R\K6:AS[WB6i2I[S_JPOCWE3>EWW[NT_<?4CQ]Q@ZUX8Vddx=>?0g9@TZTCWZUTc>?0133?FVXZMUXSRa}0123546<KYUYHR]P_np34565991H\R\K_R]\kw6Line truncated
|
||||||
@@ -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
|
||||||
|
|
||||||
2-21-2019 1:44PM
|
3- 2-2019 7:56PM
|
||||||
|
|
||||||
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 '|'
|
||||||
|
|||||||
+2067
-1324
File diff suppressed because it is too large.
Load diff
@@ -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: 0.00 secs
|
Total REAL time to Xst completion: 1.00 secs
|
||||||
Total CPU time to Xst completion: 0.14 secs
|
Total CPU time to Xst completion: 0.13 secs
|
||||||
|
|
||||||
--> Parameter xsthdpdir set to xst
|
--> Parameter xsthdpdir set to xst
|
||||||
|
|
||||||
|
|
||||||
Total REAL time to Xst completion: 0.00 secs
|
Total REAL time to Xst completion: 1.00 secs
|
||||||
Total CPU time to Xst completion: 0.14 secs
|
Total CPU time to Xst completion: 0.13 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 : Compact
|
FSM Encoding Algorithm : Gray
|
||||||
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 : 1
|
Optimization Effort : 2
|
||||||
Keep Hierarchy : Yes
|
Keep Hierarchy : Yes
|
||||||
Netlist Hierarchy : As_Optimized
|
Netlist Hierarchy : As_Optimized
|
||||||
RTL Output : Yes
|
RTL Output : Yes
|
||||||
@@ -71,26 +71,25 @@ wysiwyg : NO
|
|||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
Setting FSM Encoding Algorithm to : OPT
|
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-Z2v2.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.
|
Architecture behavioral of Entity lan_ide_cp is up to date.
|
||||||
Entity <LAN_IDE_CP> (Architecture <Behavioral>) compiled.
|
|
||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
* Design Hierarchy Analysis *
|
* Design Hierarchy Analysis *
|
||||||
=========================================================================
|
=========================================================================
|
||||||
Analyzing hierarchy for entity <LAN_IDE_CP> in library <work> (architecture <Behavioral>).
|
Analyzing hierarchy for entity <LAN_IDE_CP> in library <work> (architecture <behavioral>).
|
||||||
|
|
||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
* HDL Analysis *
|
* HDL Analysis *
|
||||||
=========================================================================
|
=========================================================================
|
||||||
Analyzing Entity <LAN_IDE_CP> in library <work> (Architecture <Behavioral>).
|
Analyzing Entity <LAN_IDE_CP> in library <work> (Architecture <behavioral>).
|
||||||
Entity <LAN_IDE_CP> analyzed. Unit <LAN_IDE_CP> generated.
|
Entity <LAN_IDE_CP> analyzed. Unit <LAN_IDE_CP> generated.
|
||||||
|
|
||||||
|
|
||||||
@@ -121,7 +120,7 @@ WARNING:Xst:1780 - Signal <DTACK_S> is never used or assigned. This unconnected
|
|||||||
| Reset type | synchronous |
|
| Reset type | synchronous |
|
||||||
| Reset State | nop |
|
| Reset State | nop |
|
||||||
| Power Up State | nop |
|
| Power Up State | nop |
|
||||||
| Encoding | compact |
|
| Encoding | gray |
|
||||||
| Implementation | automatic |
|
| Implementation | automatic |
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
Found 16-bit tristate buffer for signal <D>.
|
Found 16-bit tristate buffer for signal <D>.
|
||||||
@@ -206,18 +205,18 @@ Macro Statistics
|
|||||||
* Advanced HDL Synthesis *
|
* Advanced HDL Synthesis *
|
||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
Optimizing FSM <LAN_RST_SM/FSM> on signal <LAN_RST_SM[1:3]> with compact encoding.
|
Optimizing FSM <LAN_RST_SM/FSM> on signal <LAN_RST_SM[1:3]> with gray encoding.
|
||||||
------------------------
|
------------------------
|
||||||
State | Encoding
|
State | Encoding
|
||||||
------------------------
|
------------------------
|
||||||
nop | 000
|
nop | 000
|
||||||
wait0 | 100
|
wait0 | 001
|
||||||
clr | 101
|
clr | 011
|
||||||
clr_commit | 111
|
clr_commit | 010
|
||||||
wait1 | 001
|
wait1 | 110
|
||||||
set | 011
|
set | 111
|
||||||
set_commit | 010
|
set_commit | 101
|
||||||
done | 110
|
done | 100
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
@@ -273,19 +272,20 @@ Design Statistics
|
|||||||
# IOs : 117
|
# IOs : 117
|
||||||
|
|
||||||
Cell Usage :
|
Cell Usage :
|
||||||
# BELS : 964
|
# BELS : 904
|
||||||
# AND2 : 222
|
# AND2 : 207
|
||||||
# AND3 : 78
|
# AND3 : 75
|
||||||
# AND4 : 12
|
# AND4 : 9
|
||||||
# AND5 : 5
|
# AND5 : 2
|
||||||
# AND6 : 1
|
# AND6 : 1
|
||||||
# AND8 : 4
|
# AND8 : 3
|
||||||
# GND : 1
|
# GND : 1
|
||||||
# INV : 407
|
# INV : 374
|
||||||
# OR2 : 196
|
# OR2 : 182
|
||||||
# OR3 : 9
|
# OR3 : 20
|
||||||
|
# OR4 : 2
|
||||||
# VCC : 1
|
# VCC : 1
|
||||||
# XOR2 : 28
|
# XOR2 : 27
|
||||||
# FlipFlops/Latches : 60
|
# FlipFlops/Latches : 60
|
||||||
# FD : 11
|
# FD : 11
|
||||||
# FDC : 6
|
# FDC : 6
|
||||||
@@ -300,12 +300,12 @@ Cell Usage :
|
|||||||
=========================================================================
|
=========================================================================
|
||||||
|
|
||||||
|
|
||||||
Total REAL time to Xst completion: 8.00 secs
|
Total REAL time to Xst completion: 9.00 secs
|
||||||
Total CPU time to Xst completion: 8.23 secs
|
Total CPU time to Xst completion: 8.51 secs
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
Total memory usage is 4534756 kilobytes
|
Total memory usage is 4534796 kilobytes
|
||||||
|
|
||||||
Number of errors : 0 ( 0 filtered)
|
Number of errors : 0 ( 0 filtered)
|
||||||
Number of warnings : 7 ( 0 filtered)
|
Number of warnings : 7 ( 0 filtered)
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_RST_SM_FSM_FFd2.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_RST_SM_FSM_FFd2.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_RST_SM_FSM_FFd2.D:400
|
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_RST_SM_FSM_FFd2.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_RST_SM_FSM_FFd2.D:400
|
||||||
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_RST_SM_FSM_FFd2.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_RST_SM_FSM_FFd3.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_RST_SM_FSM_FFd3.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_RST_SM_FSM_FFd3.D:400
|
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_RST_SM_FSM_FFd3.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_RST_SM_FSM_FFd3.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_RST_SM_FSM_FFd1.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_RST_SM_FSM_FFd1.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_RST_SM_FSM_FFd1.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_RST_SM_FSM_FFd1.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_RST_SM_FSM_FFd1.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_RST_SM_FSM_FFd1.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_WR_RST.D:400
|
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_WR_RST.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_WR_RST.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_WR_RST.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_WR_RST.D:400
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_CS_RST.D:400
|
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd1.Q:TO:LAN_CS_RST.D:400
|
|
||||||
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_CS_RST.D:400
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd2.Q:TO:LAN_CS_RST.D:400
|
||||||
|
TS_CLK_EXT:FROM:LAN_RST_SM_FSM_FFd3.Q:TO:LAN_CS_RST.D:400
|
||||||
+10469
-5387
File diff suppressed because it is too large.
Load diff
@@ -1,14 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title></title>
|
|
||||||
</head>
|
|
||||||
<frameset frameborder="NO" framespacing="0" border="0" rows="94,*,0,0" col="*">
|
|
||||||
<frame name="topnav" src="../tim/topnav.htm" scrolling="no" noresize marginwidth="0" marginheight="0">
|
|
||||||
<frameset frameborder="NO" framespacing="0" border="0" cols="125,*">
|
|
||||||
<frame name="leftnav" src="leftnav.htm" noresize marginwidth="0" marginheight="0">
|
|
||||||
<frame name="content" src="summary.htm">
|
|
||||||
</frameset>
|
|
||||||
<frame name="eqns" src="eqns.htm" scrolling="no">
|
|
||||||
</frameset>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -1,4 +0,0 @@
|
|||||||
<form><span class="pgRef"><table width="90%" align="center"><tr>
|
|
||||||
<td align="left"><input type="button" onclick="javascript:parent.leftnav.showTop()" onmouseover="window.status='goto top of page'; return true;" onmouseout="window.status=''" value="back to top"></td>
|
|
||||||
<td align="right"><input type="button" onclick="window.print()" onmouseover="window.status='print page'; return true;" onmouseout="window.status=''" value="print page"></td>
|
|
||||||
</tr></table></span></form>
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
|
|
||||||
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
<!--(Document created with RoboEditor. )============================-->
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
|
|
||||||
<head>
|
|
||||||
|
|
||||||
<title>Text Report</title>
|
|
||||||
|
|
||||||
<!--(Meta)==========================================================-->
|
|
||||||
|
|
||||||
<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
|
|
||||||
<meta name=generator-major-version content=0.1>
|
|
||||||
<meta name=generator-minor-version content=1>
|
|
||||||
<meta name=filetype content=kadov>
|
|
||||||
<meta name=filetype-version content=1>
|
|
||||||
<meta name=page-count content=1>
|
|
||||||
<meta name=layout-height content=375>
|
|
||||||
<meta name=layout-width content=798>
|
|
||||||
<meta name=date content="05 1, 2002 4:24:59 PM">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<style>
|
|
||||||
<!--
|
|
||||||
p.whs1 {font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
|
|
||||||
--></style><script language="javascript" title="WebHelpInlineScript">
|
|
||||||
<!--
|
|
||||||
function reDo() {
|
|
||||||
if (innerWidth != origWidth || innerHeight != origHeight)
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
|
|
||||||
origWidth = innerWidth;
|
|
||||||
origHeight = innerHeight;
|
|
||||||
onresize = reDo;
|
|
||||||
}
|
|
||||||
//-->
|
|
||||||
</script><style>
|
|
||||||
<!--
|
|
||||||
div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}
|
|
||||||
p.WebHelpNavBar {text-align:right;}
|
|
||||||
-->
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<!--(Body)==========================================================-->
|
|
||||||
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>Text Report</h1>
|
|
||||||
|
|
||||||
<p class="whs1">Selecting Text
|
|
||||||
Report from the left-hand frame will give you a printable text version
|
|
||||||
of the fitter report. <!--kadov_tag{{<spaces>}}--> <!--kadov_tag{{</spaces>}}-->It
|
|
||||||
contains sections similar to those of the XML report (a summary section,
|
|
||||||
errors and warnings, mapped logic, function blocks, function block details,
|
|
||||||
a text-graphical display of the pinout, and a summary of compiler options),
|
|
||||||
but it is not easily navigable. <!--kadov_tag{{<spaces>}}--> <!--kadov_tag{{</spaces>}}-->It
|
|
||||||
is best to use the text report only when you need to print out a hard
|
|
||||||
copy of the fitter results.</p>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 43 B |
@@ -1,9 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<script src="XilinxD.js"> </script>
|
|
||||||
<script src="plugin.js"> </script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body onload="javascript:checkJre()" bgcolor="#ffffff" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" >
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<script src="xilinxD.js"> </script>
|
|
||||||
<script src="ns4plugin.js"> </script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body onload="javascript:checkJre()" bgcolor="#ffffff" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" >
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,915 +0,0 @@
|
|||||||
<html><head><link type='text/css' href='style.css' rel='stylesheet'></head><body class='pgBgnd'>
|
|
||||||
<h3 align='center'>Equations</h3>
|
|
||||||
<table width='90%' align='center' border='1' cellpadding='0' cellspacing='0'>
|
|
||||||
<tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
********** Mapped Logic **********
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$126 <= (LDS AND UDS);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$127 <= (lan_adr AND lan_adr_sw);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$129 <= (RW AND NOT AS);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$137 <= ((NOT LAN_RST_SM_FSM_FFd1)
|
|
||||||
<br/> OR (LAN_RST_SM_FSM_FFd2 AND NOT LAN_RST_SM_FSM_FFd3));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$141 <= (CP_CS AND NOT $OpTx$FX_DC$127);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$152 <= ((D_and0000/D_and0000_D2)
|
|
||||||
<br/> OR (ide AND $OpTx$FX_DC$129 AND $OpTx$FX_DC$141));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$153 <= ((DQ_and0000/DQ_and0000_D2)
|
|
||||||
<br/> OR (NOT RW AND NOT AS AND $OpTx$FX_DC$127 AND
|
|
||||||
<br/> NOT DQ_and0001/DQ_and0001_D2));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$154 <= ($OpTx$FX_DC$127 AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$156 <= (NOT RW AND NOT A(5) AND NOT A(4) AND NOT A(2) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE(1) AND NOT AUTO_CONFIG_DONE(0) AND A(3) AND A(6) AND autoconfig AND
|
|
||||||
<br/> DS_D AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$157 <= (NOT RW AND NOT A(5) AND NOT A(4) AND NOT A(2) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE(1) AND AUTO_CONFIG_DONE(0) AND A(3) AND A(6) AND autoconfig AND
|
|
||||||
<br/> DS_D AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$158 <= (NOT RW AND NOT A(5) AND NOT A(4) AND NOT A(2) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> AUTO_CONFIG_DONE(1) AND NOT AUTO_CONFIG_DONE(0) AND A(3) AND A(6) AND autoconfig AND
|
|
||||||
<br/> DS_D AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$159 <= ((NOT DQ_and0000/DQ_and0000_D2 AND
|
|
||||||
<br/> DQ_and0001/DQ_and0001_D2)
|
|
||||||
<br/> OR (NOT RW AND NOT AS AND $OpTx$FX_DC$127 AND
|
|
||||||
<br/> NOT DQ_and0000/DQ_and0000_D2));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$160 <= (NOT AS AND autoconfig AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$172 <= (NOT RW AND lan_adr AND A(15) AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$174 <= (NOT AS AND RESET);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$180 <= ((NOT RW AND NOT A(5) AND NOT A(4) AND A(2) AND NOT A(1) AND NOT AS AND A(3) AND
|
|
||||||
<br/> A(6) AND autoconfig AND DS_D AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT RW AND NOT A(5) AND NOT A(4) AND NOT A(1) AND NOT AS AND A(3) AND A(6) AND
|
|
||||||
<br/> autoconfig AND DS_D AND CFOUT AND NOT $OpTx$FX_DC$126));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$195 <= (NOT A(4) AND A(2) AND A(1));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_DC$206 <= ((SHUT_UP(2))
|
|
||||||
<br/> OR (IDE_BASEADR(0) AND NOT A(16))
|
|
||||||
<br/> OR (NOT IDE_BASEADR(0) AND A(16))
|
|
||||||
<br/> OR (IDE_BASEADR(1) AND NOT A(17))
|
|
||||||
<br/> OR (NOT IDE_BASEADR(1) AND A(17))
|
|
||||||
<br/> OR (NOT IDE_BASEADR(2) AND A(18))
|
|
||||||
<br/> OR (SHUT_UP(1).EXP)
|
|
||||||
<br/> OR (IDE_BASEADR(2) AND NOT A(18))
|
|
||||||
<br/> OR (IDE_BASEADR(3) AND NOT A(19))
|
|
||||||
<br/> OR (NOT IDE_BASEADR(3) AND A(19))
|
|
||||||
<br/> OR (IDE_BASEADR(6) AND NOT A(22))
|
|
||||||
<br/> OR (NOT IDE_BASEADR(6) AND A(22))
|
|
||||||
<br/> OR (IDE_BASEADR(4) AND NOT A(20))
|
|
||||||
<br/> OR (NOT IDE_BASEADR(4) AND A(20))
|
|
||||||
<br/> OR (IDE_BASEADR(5) AND NOT A(21))
|
|
||||||
<br/> OR (NOT IDE_BASEADR(5) AND A(21)));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
$OpTx$FX_SC$167 <= ((NOT D_and0000/D_and0000_D2 AND NOT $OpTx$FX_DC$129)
|
|
||||||
<br/> OR (NOT ide AND NOT D_and0000/D_and0000_D2 AND $OpTx$FX_DC$141));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_AUTO_CONFIG_DONE0: FDCPE port map (AUTO_CONFIG_DONE(0),AUTO_CONFIG_DONE_CYCLE(0),SHUT_UP(2)/SHUT_UP(2)_CLKF,NOT RESET,'0',AS);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_AUTO_CONFIG_DONE1: FDCPE port map (AUTO_CONFIG_DONE(1),AUTO_CONFIG_DONE_CYCLE(1),SHUT_UP(2)/SHUT_UP(2)_CLKF,NOT RESET,'0',AS);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_AUTO_CONFIG_DONE_CYCLE0: FDCPE port map (AUTO_CONFIG_DONE_CYCLE(0),AUTO_CONFIG_DONE_CYCLE_D(0),SHUT_UP(2)/SHUT_UP(2)_CLKF,NOT RESET,'0');
|
|
||||||
<br/> AUTO_CONFIG_DONE_CYCLE_D(0) <= ((NOT AUTO_CONFIG_DONE_CYCLE(0) AND NOT $OpTx$FX_DC$180)
|
|
||||||
<br/> OR (NOT A(2) AND AUTO_CONFIG_DONE(0) AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE_CYCLE(0) AND NOT AUTOBOOT_OFF)
|
|
||||||
<br/> OR (NOT RW AND NOT A(5) AND NOT A(4) AND A(2) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> AUTO_CONFIG_DONE_CYCLE(0) AND A(3) AND A(6) AND autoconfig AND DS_D AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT RW AND NOT A(5) AND NOT A(4) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE(1) AND AUTO_CONFIG_DONE(0) AND AUTO_CONFIG_DONE_CYCLE(0) AND
|
|
||||||
<br/> A(3) AND A(6) AND autoconfig AND DS_D AND NOT AUTOBOOT_OFF AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$126));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_AUTO_CONFIG_DONE_CYCLE1: FDCPE port map (AUTO_CONFIG_DONE_CYCLE(1),AUTO_CONFIG_DONE_CYCLE_D(1),SHUT_UP(2)/SHUT_UP(2)_CLKF,NOT RESET,'0');
|
|
||||||
<br/> AUTO_CONFIG_DONE_CYCLE_D(1) <= ((NOT RW AND NOT A(5) AND NOT A(4) AND NOT A(2) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE(1) AND NOT AUTO_CONFIG_DONE(0) AND A(3) AND A(6) AND autoconfig AND
|
|
||||||
<br/> DS_D AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT AUTO_CONFIG_DONE_CYCLE(1) AND NOT $OpTx$FX_DC$180)
|
|
||||||
<br/> OR (A(2) AND NOT AUTO_CONFIG_DONE_CYCLE(0) AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE_CYCLE(1))
|
|
||||||
<br/> OR (NOT A(2) AND NOT AUTO_CONFIG_DONE(1) AND NOT AUTO_CONFIG_DONE(0) AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE_CYCLE(1))
|
|
||||||
<br/> OR (NOT RW AND NOT A(5) AND NOT A(4) AND A(2) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> AUTO_CONFIG_DONE_CYCLE(0) AND AUTO_CONFIG_DONE_CYCLE(1) AND A(3) AND A(6) AND
|
|
||||||
<br/> autoconfig AND DS_D AND NOT $OpTx$FX_DC$126));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(0) <= NOT ((NOT A(1) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(1) <= NOT ((NOT A(2) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(2) <= NOT (((NOT A(2) AND NOT CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (NOT A(3) AND CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(3) <= ((A(4) AND CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (A(3) AND NOT CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(4) <= NOT (((NOT A(5) AND CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (NOT A(4) AND NOT CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(5) <= NOT (((NOT A(5) AND NOT CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (NOT A(6) AND CP_CS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(6) <= ((NOT $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (A(7) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(7) <= NOT ((NOT A(8) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(8) <= NOT ((NOT A(9) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(9) <= NOT ((NOT A(10) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(10) <= NOT ((NOT A(11) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(11) <= NOT ((NOT A(12) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(12) <= NOT ((NOT A(13) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN(13) <= NOT ((NOT A(14) AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
A_LAN_9_or0001/A_LAN_9_or0001_D2 <= ((LAN_RST_SM_FSM_FFd2 AND NOT LAN_RST_SM_FSM_FFd1)
|
|
||||||
<br/> OR (LAN_RST_SM_FSM_FFd3 AND NOT LAN_RST_SM_FSM_FFd1));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
CFOUT <= NOT ((AUTO_CONFIG_DONE(1) AND AUTO_CONFIG_DONE(0)));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR0: FDCPE port map (CP_BASEADR(0),CP_BASEADR_D(0),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(0) <= ((D(8).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(0) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR1: FDCPE port map (CP_BASEADR(1),CP_BASEADR_D(1),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(1) <= ((D(9).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(1) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR2: FDCPE port map (CP_BASEADR(2),CP_BASEADR_D(2),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(2) <= ((D(10).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(2) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR3: FDCPE port map (CP_BASEADR(3),CP_BASEADR_D(3),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(3) <= ((D(11).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(3) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR4: FDCPE port map (CP_BASEADR(4),CP_BASEADR_D(4),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(4) <= ((D(12).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(4) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR5: FDCPE port map (CP_BASEADR(5),CP_BASEADR_D(5),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(5) <= ((D(13).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(5) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR6: FDCPE port map (CP_BASEADR(6),CP_BASEADR_D(6),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(6) <= ((D(14).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(6) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_BASEADR7: FDCPE port map (CP_BASEADR(7),CP_BASEADR_D(7),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> CP_BASEADR_D(7) <= ((D(15).PIN AND $OpTx$FX_DC$157)
|
|
||||||
<br/> OR (CP_BASEADR(7) AND NOT $OpTx$FX_DC$157));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_CS: FDCPE port map (CP_CS,CP_CS_D,NOT AS,'0',NOT lancp/lancp_RSTF);
|
|
||||||
<br/> CP_CS_D <= (cp_and0001/cp_and0001_D2 AND
|
|
||||||
<br/> NOT cp_and0000/cp_and0000_D2 AND NOT cp_and0002/cp_and0002_D2);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
CP_RD <= NOT ((NOT AS AND NOT CP_RD_S));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_RD_S: FDCPE port map (CP_RD_S,CP_RD_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0','0');
|
|
||||||
<br/> CP_RD_S_D <= (RW AND NOT CP_CS AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
CP_WE <= NOT ((NOT AS AND NOT CP_WE_S AND CP_WE_QUIRK));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_WE_QUIRK: FDCPE port map (CP_WE_QUIRK,CP_WE_S,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0','0');
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_CP_WE_S: FDCPE port map (CP_WE_S,CP_WE_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0','0');
|
|
||||||
<br/> CP_WE_S_D <= (NOT RW AND NOT CP_CS AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(0) <= NOT (((NOT DQ(0).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(8).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(0) <= D_I(0) when D_OE(0) = '1' else 'Z';
|
|
||||||
<br/> D_OE(0) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(1) <= NOT (((NOT DQ(1).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(9).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(1) <= D_I(1) when D_OE(1) = '1' else 'Z';
|
|
||||||
<br/> D_OE(1) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(2) <= NOT (((NOT DQ(2).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(10).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(2) <= D_I(2) when D_OE(2) = '1' else 'Z';
|
|
||||||
<br/> D_OE(2) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(3) <= NOT (((NOT DQ(3).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(11).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(3) <= D_I(3) when D_OE(3) = '1' else 'Z';
|
|
||||||
<br/> D_OE(3) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(4) <= NOT (((NOT DQ(4).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(12).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(4) <= D_I(4) when D_OE(4) = '1' else 'Z';
|
|
||||||
<br/> D_OE(4) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(5) <= NOT (((NOT DQ(5).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(13).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(5) <= D_I(5) when D_OE(5) = '1' else 'Z';
|
|
||||||
<br/> D_OE(5) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(6) <= NOT (((NOT DQ(6).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(14).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(6) <= D_I(6) when D_OE(6) = '1' else 'Z';
|
|
||||||
<br/> D_OE(6) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(7) <= NOT (((NOT DQ(7).PIN AND NOT $OpTx$FX_SC$167 AND NOT $OpTx$FX_DC$154)
|
|
||||||
<br/> OR (NOT DQ(15).PIN AND NOT $OpTx$FX_SC$167 AND $OpTx$FX_DC$154)));
|
|
||||||
<br/> D(7) <= D_I(7) when D_OE(7) = '1' else 'Z';
|
|
||||||
<br/> D_OE(7) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(8) <= NOT (((NOT DQ(8).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (NOT DQ(0).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141)));
|
|
||||||
<br/> D(8) <= D_I(8) when D_OE(8) = '1' else 'Z';
|
|
||||||
<br/> D_OE(8) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(9) <= NOT (((NOT DQ(9).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (NOT DQ(1).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141)));
|
|
||||||
<br/> D(9) <= D_I(9) when D_OE(9) = '1' else 'Z';
|
|
||||||
<br/> D_OE(9) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(10) <= NOT (((NOT DQ(10).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (NOT DQ(2).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141)));
|
|
||||||
<br/> D(10) <= D_I(10) when D_OE(10) = '1' else 'Z';
|
|
||||||
<br/> D_OE(10) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(11) <= NOT (((NOT DQ(11).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (NOT DQ(3).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141)));
|
|
||||||
<br/> D(11) <= D_I(11) when D_OE(11) = '1' else 'Z';
|
|
||||||
<br/> D_OE(11) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(12) <= ((Dout1(0) AND $OpTx$FX_SC$167)
|
|
||||||
<br/> OR (DQ(12).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (DQ(4).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141));
|
|
||||||
<br/> D(12) <= D_I(12) when D_OE(12) = '1' else 'Z';
|
|
||||||
<br/> D_OE(12) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(13) <= ((Dout1(1) AND $OpTx$FX_SC$167)
|
|
||||||
<br/> OR (DQ(13).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (DQ(5).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141));
|
|
||||||
<br/> D(13) <= D_I(13) when D_OE(13) = '1' else 'Z';
|
|
||||||
<br/> D_OE(13) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(14) <= ((Dout1(2) AND $OpTx$FX_SC$167)
|
|
||||||
<br/> OR (DQ(14).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (DQ(6).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141));
|
|
||||||
<br/> D(14) <= D_I(14) when D_OE(14) = '1' else 'Z';
|
|
||||||
<br/> D_OE(14) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_I(15) <= ((Dout1(3) AND $OpTx$FX_SC$167)
|
|
||||||
<br/> OR (DQ(15).PIN AND $OpTx$FX_DC$152)
|
|
||||||
<br/> OR (DQ(7).PIN AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$129 AND NOT $OpTx$FX_DC$141));
|
|
||||||
<br/> D(15) <= D_I(15) when D_OE(15) = '1' else 'Z';
|
|
||||||
<br/> D_OE(15) <= NOT D_9_IOBUFE/D_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(0) <= ((D(8).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(0).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(0) <= DQ_I(0) when DQ_OE(0) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(0) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(1) <= ((D(9).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(1).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(1) <= DQ_I(1) when DQ_OE(1) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(1) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(2) <= ((D(10).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(2).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(2) <= DQ_I(2) when DQ_OE(2) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(2) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(3) <= ((D(11).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(3).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(3) <= DQ_I(3) when DQ_OE(3) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(3) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(4) <= ((A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (D(12).PIN AND $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(4).PIN AND $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(4) <= DQ_I(4) when DQ_OE(4) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(4) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(5) <= ((D(13).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(5).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(5) <= DQ_I(5) when DQ_OE(5) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(5) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(6) <= ((D(14).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(6).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(6) <= DQ_I(6) when DQ_OE(6) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(6) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(7) <= ((D(15).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$159)
|
|
||||||
<br/> OR (D(7).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$159));
|
|
||||||
<br/> DQ(7) <= DQ_I(7) when DQ_OE(7) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(7) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(8) <= NOT (((NOT $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (NOT D(8).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (NOT D(0).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$153)));
|
|
||||||
<br/> DQ(8) <= DQ_I(8) when DQ_OE(8) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(8) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(9) <= ((NOT $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (D(9).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (D(1).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$153));
|
|
||||||
<br/> DQ(9) <= DQ_I(9) when DQ_OE(9) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(9) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(10) <= ((NOT $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (D(10).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (D(2).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$153));
|
|
||||||
<br/> DQ(10) <= DQ_I(10) when DQ_OE(10) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(10) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(11) <= ((NOT $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (D(11).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (D(3).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$153));
|
|
||||||
<br/> DQ(11) <= DQ_I(11) when DQ_OE(11) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(11) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(12) <= ((D(12).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (D(4).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$153));
|
|
||||||
<br/> DQ(12) <= DQ_I(12) when DQ_OE(12) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(12) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(13) <= ((D(13).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (D(5).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$153));
|
|
||||||
<br/> DQ(13) <= DQ_I(13) when DQ_OE(13) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(13) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(14) <= ((D(14).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (D(6).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$153));
|
|
||||||
<br/> DQ(14) <= DQ_I(14) when DQ_OE(14) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(14) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_I(15) <= ((D(15).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND NOT $OpTx$FX_DC$153)
|
|
||||||
<br/> OR (D(7).PIN AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137 AND $OpTx$FX_DC$153));
|
|
||||||
<br/> DQ(15) <= DQ_I(15) when DQ_OE(15) = '1' else 'Z';
|
|
||||||
<br/> DQ_OE(15) <= NOT DQ_9_IOBUFE/DQ_9_IOBUFE_TRST;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_9_IOBUFE/DQ_9_IOBUFE_TRST <= ((RW AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (AS AND NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (NOT lancp AND NOT $OpTx$FX_DC$127 AND
|
|
||||||
<br/> NOT A_LAN_9_or0001/A_LAN_9_or0001_D2 AND $OpTx$FX_DC$137));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_and0000/DQ_and0000_D2 <= (NOT RW AND NOT AS AND NOT LDS AND UDS AND lancp);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DQ_and0001/DQ_and0001_D2 <= (NOT RW AND NOT AS AND LDS AND NOT UDS AND lancp);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_DS_D: FDCPE port map (DS_D,$OpTx$FX_DC$126,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0','0',RESET);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
DTACK_I <= '0';
|
|
||||||
<br/> DTACK <= DTACK_I when DTACK_OE = '1' else 'Z';
|
|
||||||
<br/> DTACK_OE <= (NOT AS AND ide AND IDE_WAIT);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_9_IOBUFE/D_9_IOBUFE_TRST <= ((NOT D_and0000/D_and0000_D2 AND NOT $OpTx$FX_DC$129)
|
|
||||||
<br/> OR (NOT autoconfig AND NOT ide AND NOT D_and0000/D_and0000_D2 AND
|
|
||||||
<br/> $OpTx$FX_DC$141));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
D_and0000/D_and0000_D2 <= (lan_adr AND NOT lan_adr_sw AND $OpTx$FX_DC$129);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_Dout10: FDCPE port map (Dout1(0),Dout1_D(0),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> Dout1_D(0) <= ((NOT A(5) AND A(4) AND NOT A(2) AND NOT AS AND A(3) AND NOT A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(4) AND A(1) AND NOT AS AND A(3) AND NOT A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND NOT A(2) AND NOT AS AND NOT A(3) AND A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND NOT A(1) AND NOT AS AND NOT AUTO_CONFIG_DONE(1) AND
|
|
||||||
<br/> NOT A(3) AND NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(2) AND NOT A(1) AND NOT AS AND NOT AUTO_CONFIG_DONE(1) AND
|
|
||||||
<br/> NOT A(3) AND NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT Dout1(0) AND NOT $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (A(5) AND NOT A(4) AND A(2) AND NOT A(3) AND NOT A(6) AND
|
|
||||||
<br/> $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (NOT A(4) AND A(2) AND NOT AUTO_CONFIG_DONE(1) AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE(0) AND NOT A(3) AND NOT A(6) AND $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (A(5) AND NOT A(4) AND A(2) AND A(1) AND
|
|
||||||
<br/> AUTO_CONFIG_DONE(1) AND NOT AUTO_CONFIG_DONE(0) AND NOT A(6) AND $OpTx$FX_DC$160));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_Dout11: FDCPE port map (Dout1(1),Dout1_D(1),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> Dout1_D(1) <= ((NOT A(5) AND NOT A(4) AND NOT AS AND NOT AUTO_CONFIG_DONE(1) AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE(0) AND NOT A(3) AND NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(4) AND NOT A(1) AND NOT AS AND A(3) AND NOT A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(4) AND A(2) AND NOT A(1) AND NOT AS AND
|
|
||||||
<br/> AUTO_CONFIG_DONE(1) AND NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND A(1) AND NOT AS AND AUTO_CONFIG_DONE(1) AND
|
|
||||||
<br/> NOT A(3) AND NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND NOT A(1) AND NOT AS AND NOT AUTO_CONFIG_DONE(1) AND
|
|
||||||
<br/> NOT A(3) AND NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(2) AND A(1) AND NOT AS AND NOT AUTO_CONFIG_DONE(1) AND
|
|
||||||
<br/> NOT A(3) AND NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT Dout1(1) AND NOT $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (A(5) AND NOT A(4) AND A(2) AND NOT A(1) AND NOT A(3) AND NOT A(6) AND
|
|
||||||
<br/> $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND NOT A(2) AND NOT AS AND NOT A(3) AND autoconfig AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(4) AND A(2) AND NOT AS AND A(3) AND NOT A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_Dout12: FDCPE port map (Dout1(2),Dout1_D(2),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> Dout1_D(2) <= ((A(2) AND A(6) AND $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (A(1) AND A(3) AND $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (A(4) AND NOT A(1) AND NOT A(3) AND $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (NOT A(2) AND NOT A(1) AND NOT A(6) AND $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (NOT A(1) AND AUTO_CONFIG_DONE(1) AND NOT A(3) AND NOT A(6) AND
|
|
||||||
<br/> $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND A(2) AND A(1) AND NOT AS AND
|
|
||||||
<br/> NOT AUTO_CONFIG_DONE(1) AND NOT AUTO_CONFIG_DONE(0) AND autoconfig AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (Dout1(2) AND NOT $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (A(5) AND $OpTx$FX_DC$160 AND NOT $OpTx$FX_DC$195)
|
|
||||||
<br/> OR (A(4) AND NOT A(2) AND $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (NOT A(4) AND A(3) AND $OpTx$FX_DC$160));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_Dout13: FDCPE port map (Dout1(3),Dout1_D(3),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> Dout1_D(3) <= ((NOT A(5) AND A(4) AND A(2) AND A(1) AND NOT AS AND NOT A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(4) AND A(1) AND NOT AS AND NOT A(3) AND NOT A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(1) AND NOT AS AND NOT AUTO_CONFIG_DONE(1) AND NOT A(3) AND
|
|
||||||
<br/> NOT A(6) AND autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND A(4) AND NOT A(2) AND NOT A(1) AND NOT AS AND A(3) AND NOT A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT Dout1(3) AND NOT $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (A(5) AND NOT A(4) AND A(2) AND NOT A(1) AND NOT A(3) AND NOT A(6) AND
|
|
||||||
<br/> $OpTx$FX_DC$160)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND NOT A(2) AND A(1) AND NOT AS AND NOT A(3) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126)
|
|
||||||
<br/> OR (NOT A(5) AND NOT A(4) AND NOT A(2) AND NOT AS AND NOT A(3) AND A(6) AND
|
|
||||||
<br/> autoconfig AND NOT $OpTx$FX_DC$126));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
IDE_A(0) <= A(9);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
IDE_A(1) <= A(10);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
IDE_A(2) <= A(11);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR0: FDCPE port map (IDE_BASEADR(0),IDE_BASEADR_D(0),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(0) <= ((D(8).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(0) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR1: FDCPE port map (IDE_BASEADR(1),IDE_BASEADR_D(1),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(1) <= ((D(9).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(1) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR2: FDCPE port map (IDE_BASEADR(2),IDE_BASEADR_D(2),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(2) <= ((D(10).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(2) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR3: FDCPE port map (IDE_BASEADR(3),IDE_BASEADR_D(3),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(3) <= ((D(11).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(3) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR4: FDCPE port map (IDE_BASEADR(4),IDE_BASEADR_D(4),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(4) <= ((D(12).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(4) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR5: FDCPE port map (IDE_BASEADR(5),IDE_BASEADR_D(5),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(5) <= ((D(13).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(5) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR6: FDCPE port map (IDE_BASEADR(6),IDE_BASEADR_D(6),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(6) <= ((D(14).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(6) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_BASEADR7: FDCPE port map (IDE_BASEADR(7),IDE_BASEADR_D(7),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_BASEADR_D(7) <= ((D(15).PIN AND $OpTx$FX_DC$158)
|
|
||||||
<br/> OR (IDE_BASEADR(7) AND NOT $OpTx$FX_DC$158));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
IDE_CS(0) <= NOT A(12);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
IDE_CS(1) <= NOT A(13);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_ENABLE: FDCPE port map (IDE_ENABLE,'0',SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET,IDE_ENABLE_CE);
|
|
||||||
<br/> IDE_ENABLE_CE <= (NOT RW AND NOT AS AND ide);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
IDE_R <= NOT ((NOT AS AND NOT IDE_R_S));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_R_S: FDCPE port map (IDE_R_S,IDE_R_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_R_S_D <= (ide AND NOT IDE_ENABLE AND $OpTx$FX_DC$129);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
IDE_W <= NOT ((NOT AS AND NOT IDE_W_S));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_IDE_W_S: FDCPE port map (IDE_W_S,IDE_W_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> IDE_W_S_D <= (NOT RW AND NOT AS AND ide);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
INT2_OUT_I <= '0';
|
|
||||||
<br/> INT2_OUT <= INT2_OUT_I when INT2_OUT_OE = '1' else 'Z';
|
|
||||||
<br/> INT2_OUT_OE <= (LAN_INT_ENABLE AND NOT LAN_IRQ_OUT);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
INT6_OUT_I <= '0';
|
|
||||||
<br/> INT6_OUT <= INT6_OUT_I when INT6_OUT_OE = '1' else 'Z';
|
|
||||||
<br/> INT6_OUT_OE <= NOT CP_IRQ;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR0: FDCPE port map (LAN_BASEADR(0),LAN_BASEADR_D(0),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(0) <= ((D(8).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(0) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR1: FDCPE port map (LAN_BASEADR(1),LAN_BASEADR_D(1),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(1) <= ((D(9).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(1) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR2: FDCPE port map (LAN_BASEADR(2),LAN_BASEADR_D(2),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(2) <= ((D(10).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(2) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR3: FDCPE port map (LAN_BASEADR(3),LAN_BASEADR_D(3),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(3) <= ((D(11).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(3) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR4: FDCPE port map (LAN_BASEADR(4),LAN_BASEADR_D(4),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(4) <= ((D(12).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(4) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR5: FDCPE port map (LAN_BASEADR(5),LAN_BASEADR_D(5),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(5) <= ((D(13).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(5) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR6: FDCPE port map (LAN_BASEADR(6),LAN_BASEADR_D(6),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(6) <= ((D(14).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(6) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_BASEADR7: FDCPE port map (LAN_BASEADR(7),LAN_BASEADR_D(7),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_BASEADR_D(7) <= ((D(15).PIN AND $OpTx$FX_DC$156)
|
|
||||||
<br/> OR (LAN_BASEADR(7) AND NOT $OpTx$FX_DC$156));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_CFG(1) <= '0';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_CFG(2) <= '1';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_CFG(3) <= '0';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_CFG(4) <= '0';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_CS <= ((RESET AND lan_adr)
|
|
||||||
<br/> OR (NOT RESET AND LAN_CS_RST));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_CS_RST: FDCPE port map (LAN_CS_RST,LAN_CS_RST_D,CLK_EXT,'0','0');
|
|
||||||
<br/> LAN_CS_RST_D <= ((NOT RESET AND LAN_RST_SM_FSM_FFd3)
|
|
||||||
<br/> OR (NOT RESET AND LAN_RST_SM_FSM_FFd2 AND
|
|
||||||
<br/> NOT LAN_RST_SM_FSM_FFd1)
|
|
||||||
<br/> OR (NOT RESET AND NOT LAN_RST_SM_FSM_FFd2 AND
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd1));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_INT_ENABLE: FDCPE port map (LAN_INT_ENABLE,LAN_INT_ENABLE_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,NOT RESET,'0');
|
|
||||||
<br/> LAN_INT_ENABLE_D <= ((D(15).PIN AND $OpTx$FX_DC$172)
|
|
||||||
<br/> OR (LAN_INT_ENABLE AND NOT $OpTx$FX_DC$172));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_IRQ_D0: FDCPE port map (LAN_IRQ_D0,LAN_INT,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_IRQ_OUT: FDCPE port map (LAN_IRQ_OUT,LAN_IRQ_OUT_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> LAN_IRQ_OUT_D <= ((NOT LAN_INT AND LAN_IRQ_D0)
|
|
||||||
<br/> OR (LAN_INT_ENABLE AND NOT D(14).PIN AND NOT LAN_INT AND
|
|
||||||
<br/> $OpTx$FX_DC$172)
|
|
||||||
<br/> OR (LAN_INT_ENABLE AND NOT LAN_IRQ_OUT AND NOT LAN_INT AND
|
|
||||||
<br/> NOT $OpTx$FX_DC$172));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_RD <= (LAN_RD_S AND $OpTx$FX_DC$174);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_RD_S: FDCPE port map (LAN_RD_S,LAN_RD_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0','0');
|
|
||||||
<br/> LAN_RD_S_D <= (RW AND lan_adr AND NOT A(15) AND NOT $OpTx$FX_DC$126);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_RST_SM_FSM_FFd1: FDCPE port map (LAN_RST_SM_FSM_FFd1,LAN_RST_SM_FSM_FFd1_D,CLK_EXT,'0','0');
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd1_D <= ((NOT RESET AND NOT LAN_RST_SM_FSM_FFd3)
|
|
||||||
<br/> OR (NOT RESET AND NOT LAN_RST_SM_FSM_FFd2 AND
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd1));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_RST_SM_FSM_FFd2: FDCPE port map (LAN_RST_SM_FSM_FFd2,LAN_RST_SM_FSM_FFd2_D,CLK_EXT,'0','0');
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd2_D <= ((RESET)
|
|
||||||
<br/> OR (NOT LAN_RST_SM_FSM_FFd2 AND NOT LAN_RST_SM_FSM_FFd3)
|
|
||||||
<br/> OR (LAN_RST_SM_FSM_FFd2 AND LAN_RST_SM_FSM_FFd3 AND
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd1));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_RST_SM_FSM_FFd3: FDCPE port map (LAN_RST_SM_FSM_FFd3,LAN_RST_SM_FSM_FFd3_D,CLK_EXT,'0','0');
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd3_D <= ((NOT RESET AND NOT $OpTx$FX_DC$137)
|
|
||||||
<br/> OR (NOT RESET AND NOT LAN_RST_SM_FSM_FFd2 AND
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd3));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_WRH <= ((LAN_WR_RST AND NOT $OpTx$FX_DC$174)
|
|
||||||
<br/> OR (LAN_WRH_S AND $OpTx$FX_DC$174));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_WRH_S: FDCPE port map (LAN_WRH_S,LAN_WRH_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0','0');
|
|
||||||
<br/> LAN_WRH_S_D <= (NOT RW AND NOT LDS AND lan_adr AND NOT A(15));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
LAN_WRL <= ((LAN_WR_RST AND NOT $OpTx$FX_DC$174)
|
|
||||||
<br/> OR (LAN_WRL_S AND $OpTx$FX_DC$174));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_WRL_S: FDCPE port map (LAN_WRL_S,LAN_WRL_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0','0');
|
|
||||||
<br/> LAN_WRL_S_D <= (NOT RW AND NOT UDS AND lan_adr AND NOT A(15));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_LAN_WR_RST: FDCPE port map (LAN_WR_RST,LAN_WR_RST_D,CLK_EXT,'0','0');
|
|
||||||
<br/> LAN_WR_RST_D <= ((NOT RESET AND LAN_RST_SM_FSM_FFd2 AND
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd3 AND NOT LAN_RST_SM_FSM_FFd1)
|
|
||||||
<br/> OR (NOT RESET AND NOT LAN_RST_SM_FSM_FFd2 AND
|
|
||||||
<br/> LAN_RST_SM_FSM_FFd3 AND LAN_RST_SM_FSM_FFd1));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
MTACK_I <= '0';
|
|
||||||
<br/> MTACK <= MTACK_I when MTACK_OE = '1' else 'Z';
|
|
||||||
<br/> MTACK_OE <= '0';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
OVR_I <= '0';
|
|
||||||
<br/> OVR <= OVR_I when OVR_OE = '1' else 'Z';
|
|
||||||
<br/> OVR_OE <= (NOT AS AND ide);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
OWN_I <= '0';
|
|
||||||
<br/> OWN <= OWN_I when OWN_OE = '1' else 'Z';
|
|
||||||
<br/> OWN_OE <= '0';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
ROM_B(0) <= '0';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
ROM_B(1) <= '0';
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
ROM_OE <= NOT ((NOT AS AND NOT ROM_OE_S AND NOT AUTOBOOT_OFF));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_ROM_OE_S: FDCPE port map (ROM_OE_S,ROM_OE_S_D,SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> ROM_OE_S_D <= (ide AND IDE_ENABLE AND $OpTx$FX_DC$129);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_SHUT_UP0: FDCPE port map (SHUT_UP(0),SHUT_UP_D(0),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> SHUT_UP_D(0) <= (SHUT_UP(0) AND NOT $OpTx$FX_DC$156);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_SHUT_UP1: FDCPE port map (SHUT_UP(1),SHUT_UP_D(1),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> SHUT_UP_D(1) <= (SHUT_UP(1) AND NOT $OpTx$FX_DC$157);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
SHUT_UP(2)/SHUT_UP(2)_CLKF <= C1
|
|
||||||
<br/> XOR
|
|
||||||
<br/> SHUT_UP(2)/SHUT_UP(2)_CLKF <= C3;
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_SHUT_UP2: FDCPE port map (SHUT_UP(2),SHUT_UP_D(2),SHUT_UP(2)/SHUT_UP(2)_CLKF,'0',NOT RESET);
|
|
||||||
<br/> SHUT_UP_D(2) <= (SHUT_UP(2) AND NOT $OpTx$FX_DC$158);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
SLAVE <= ((AS)
|
|
||||||
<br/> OR (NOT lan_adr AND NOT autoconfig AND NOT ide AND CP_CS));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_autoconfig: FDCPE port map (autoconfig,autoconfig_D,NOT AS,NOT lancp/lancp_RSTF,'0');
|
|
||||||
<br/> autoconfig_D <= (A(23) AND A(22) AND A(21) AND A(19) AND NOT A(17) AND NOT A(16) AND
|
|
||||||
<br/> NOT A(18) AND NOT A(20) AND NOT CFIN AND CFOUT);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
cp_and0000/cp_and0000_D2 <= (A(23) AND A(22) AND A(21) AND A(19) AND NOT A(17) AND NOT A(16) AND
|
|
||||||
<br/> NOT A(18) AND NOT A(20) AND NOT CFIN AND CFOUT);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
cp_and0001/cp_and0001_D2 <= ((SHUT_UP(0))
|
|
||||||
<br/> OR (LAN_BASEADR(4) AND NOT A(20))
|
|
||||||
<br/> OR (LAN_BASEADR(5) AND NOT A(21))
|
|
||||||
<br/> OR (NOT LAN_BASEADR(5) AND A(21))
|
|
||||||
<br/> OR (LAN_BASEADR(7) AND NOT A(23))
|
|
||||||
<br/> OR (NOT LAN_BASEADR(7) AND A(23))
|
|
||||||
<br/> OR (SHUT_UP(2)/SHUT_UP(2)_CLKF.EXP)
|
|
||||||
<br/> OR (LAN_BASEADR(2) AND NOT A(18))
|
|
||||||
<br/> OR (NOT LAN_BASEADR(2) AND A(18))
|
|
||||||
<br/> OR (LAN_BASEADR(3) AND NOT A(19))
|
|
||||||
<br/> OR (NOT LAN_BASEADR(3) AND A(19))
|
|
||||||
<br/> OR (NOT LAN_BASEADR(4) AND A(20))
|
|
||||||
<br/> OR (LAN_BASEADR(0) AND NOT A(16))
|
|
||||||
<br/> OR (NOT LAN_BASEADR(0) AND A(16))
|
|
||||||
<br/> OR (LAN_BASEADR(1) AND NOT A(17))
|
|
||||||
<br/> OR (NOT LAN_BASEADR(1) AND A(17)));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
cp_and0002/cp_and0002_D2 <= ((SHUT_UP(1))
|
|
||||||
<br/> OR (EXP30_.EXP)
|
|
||||||
<br/> OR (CP_BASEADR(2) AND NOT A(18))
|
|
||||||
<br/> OR (NOT CP_BASEADR(2) AND A(18))
|
|
||||||
<br/> OR (CP_BASEADR(3) AND NOT A(19))
|
|
||||||
<br/> OR (NOT CP_BASEADR(3) AND A(19))
|
|
||||||
<br/> OR (NOT CP_BASEADR(4) AND A(20))
|
|
||||||
<br/> OR (CP_BASEADR(4) AND NOT A(20))
|
|
||||||
<br/> OR (CP_BASEADR(5) AND NOT A(21))
|
|
||||||
<br/> OR (NOT CP_BASEADR(5) AND A(21))
|
|
||||||
<br/> OR (CP_BASEADR(7) AND NOT A(23))
|
|
||||||
<br/> OR (NOT CP_BASEADR(7) AND A(23))
|
|
||||||
<br/> OR (CP_BASEADR(0) AND NOT A(16))
|
|
||||||
<br/> OR (NOT CP_BASEADR(0) AND A(16))
|
|
||||||
<br/> OR (CP_BASEADR(1) AND NOT A(17))
|
|
||||||
<br/> OR (NOT CP_BASEADR(1) AND A(17)));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_ide: FDCPE port map (ide,ide_D,NOT AS,NOT lancp/lancp_RSTF,'0');
|
|
||||||
<br/> ide_D <= (cp_and0001/cp_and0001_D2 AND
|
|
||||||
<br/> NOT cp_and0000/cp_and0000_D2 AND cp_and0002/cp_and0002_D2 AND NOT $OpTx$FX_DC$206);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_lan_adr: FDCPE port map (lan_adr,lan_adr_D,NOT AS,NOT lancp/lancp_RSTF,'0');
|
|
||||||
<br/> lan_adr_D <= (NOT cp_and0001/cp_and0001_D2 AND
|
|
||||||
<br/> NOT cp_and0000/cp_and0000_D2);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_lan_adr_sw: FDCPE port map (lan_adr_sw,lan_adr_sw_D,NOT AS,NOT lancp/lancp_RSTF,'0');
|
|
||||||
<br/> lan_adr_sw_D <= ((NOT A(13) AND NOT cp_and0001/cp_and0001_D2 AND
|
|
||||||
<br/> NOT cp_and0000/cp_and0000_D2)
|
|
||||||
<br/> OR (NOT A(14) AND NOT cp_and0001/cp_and0001_D2 AND
|
|
||||||
<br/> NOT cp_and0000/cp_and0000_D2));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
FDCPE_lancp: FDCPE port map (lancp,lancp_D,NOT AS,NOT lancp/lancp_RSTF,'0');
|
|
||||||
<br/> lancp_D <= ((cp_and0000/cp_and0000_D2)
|
|
||||||
<br/> OR (cp_and0001/cp_and0001_D2 AND
|
|
||||||
<br/> cp_and0002/cp_and0002_D2 AND $OpTx$FX_DC$206));
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr><tr><td>
|
|
||||||
lancp/lancp_RSTF <= (RESET AND BERR);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
Register Legend:
|
|
||||||
<br/> FDCPE (Q,D,C,CLR,PRE,CE);
|
|
||||||
<br/> FTCPE (Q,D,C,CLR,PRE,CE);
|
|
||||||
<br/> LDCP (Q,D,G,CLR,PRE);
|
|
||||||
</td></tr><tr><td>
|
|
||||||
</td></tr>
|
|
||||||
</table>
|
|
||||||
<form><span class="pgRef"><table width="90%" align="center"><tr>
|
|
||||||
<td align="left"><input type="button" onclick="javascript:parent.leftnav.showTop()" onmouseover="window.status='goto top of page'; return true;" onmouseout="window.status=''" value="back to top"></td>
|
|
||||||
<td align="right"><input type="button" onclick="window.print()" onmouseover="window.status='print page'; return true;" onmouseout="window.status=''" value="print page"></td>
|
|
||||||
</tr></table></span></form>
|
|
||||||
</body></html>
|
|
||||||
File diff suppressed because it is too large.
Load diff
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
@@ -1,13 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<script>
|
|
||||||
function init() {
|
|
||||||
document.open();
|
|
||||||
document.write(parent.leftnav.document.options.htmlStr.value);
|
|
||||||
document.close();
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body onload="javascript:init()">
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
|
|
||||||
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
<!--(Document created with RoboEditor. )============================-->
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
|
|
||||||
<head>
|
|
||||||
|
|
||||||
<title>Equations</title>
|
|
||||||
|
|
||||||
<!--(Meta)==========================================================-->
|
|
||||||
|
|
||||||
<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
|
|
||||||
<meta name=generator-major-version content=0.1>
|
|
||||||
<meta name=generator-minor-version content=1>
|
|
||||||
<meta name=filetype content=kadov>
|
|
||||||
<meta name=filetype-version content=1>
|
|
||||||
<meta name=page-count content=1>
|
|
||||||
<meta name=layout-height content=582>
|
|
||||||
<meta name=layout-width content=798>
|
|
||||||
<meta name=date content="05 1, 2002 4:30:09 PM">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<!--(Body)==========================================================-->
|
|
||||||
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>Equations</h1>
|
|
||||||
|
|
||||||
<p><span style="font-size: 10pt; font-family: arial, sans-serif;">The Equations
|
|
||||||
page provides a list of equations organized by signal name. <!--kadov_tag{{<spaces>}}--> <!--kadov_tag{{</spaces>}}-->You
|
|
||||||
can use the pulldown menu in the left-hand frame of the page to select
|
|
||||||
ABEL, VHDL, or Verilog as your language of display.</span> </p>
|
|
||||||
|
|
||||||
<p><img src="xml8.jpg"
|
|
||||||
x-maintain-ratio=TRUE
|
|
||||||
style="border: none;
|
|
||||||
width: 181px;
|
|
||||||
height: 448px;
|
|
||||||
float: none;"
|
|
||||||
width=181
|
|
||||||
height=448
|
|
||||||
border=0></p>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 KiB |
@@ -1,91 +0,0 @@
|
|||||||
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
|
|
||||||
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
<!--(Document created with RoboEditor. )============================-->
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
|
|
||||||
<head>
|
|
||||||
|
|
||||||
<title>Errors</title>
|
|
||||||
|
|
||||||
<!--(Meta)==========================================================-->
|
|
||||||
|
|
||||||
<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
|
|
||||||
<meta name=generator-major-version content=0.1>
|
|
||||||
<meta name=generator-minor-version content=1>
|
|
||||||
<meta name=filetype content=kadov>
|
|
||||||
<meta name=filetype-version content=1>
|
|
||||||
<meta name=page-count content=1>
|
|
||||||
<meta name=layout-height content=715>
|
|
||||||
<meta name=layout-width content=798>
|
|
||||||
<meta name=date content="05 1, 2002 4:22:26 PM">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<style>
|
|
||||||
<!--
|
|
||||||
p.whs1 {font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
p.whs2 {font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
p.whs3 {font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
|
|
||||||
--></style><script language="javascript" title="WebHelpInlineScript">
|
|
||||||
<!--
|
|
||||||
function reDo() {
|
|
||||||
if (innerWidth != origWidth || innerHeight != origHeight)
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
|
|
||||||
origWidth = innerWidth;
|
|
||||||
origHeight = innerHeight;
|
|
||||||
onresize = reDo;
|
|
||||||
}
|
|
||||||
//-->
|
|
||||||
</script><style>
|
|
||||||
<!--
|
|
||||||
div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}
|
|
||||||
p.WebHelpNavBar {text-align:right;}
|
|
||||||
-->
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<!--(Body)==========================================================-->
|
|
||||||
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>Errors/Warnings</h1>
|
|
||||||
|
|
||||||
<p class="whs1">The Errors/Warnings
|
|
||||||
section of the report lists all of the error, warning, and information
|
|
||||||
messages generated by the fitter. By default, this section will display
|
|
||||||
the number of each kind of message you have and the full text of the messages,
|
|
||||||
but checkboxes at the top of the screen allow you to filter message details
|
|
||||||
as you choose. </p>
|
|
||||||
|
|
||||||
<p class="whs2">Checking all
|
|
||||||
the boxes will give you a display like this:</p>
|
|
||||||
|
|
||||||
<p><SCRIPT LANGUAGE="JavaScript"><!--
|
|
||||||
if (navigator.appName=="Netscape")
|
|
||||||
{ document.write("<img src='xml6.jpg' x-maintain-ratio='TRUE' width='540' height='254' border='0'>");}
|
|
||||||
else
|
|
||||||
{ document.write("<img src='xml6.jpg' x-maintain-ratio='TRUE' style='border: none; width: 540px; height: 254px; float: none;' width='540' height='254' border='0'>");}
|
|
||||||
//--></SCRIPT></p>
|
|
||||||
|
|
||||||
<p class="whs3">Deselecting
|
|
||||||
the Warning box in this particular example would result in this less detailed
|
|
||||||
display:</p>
|
|
||||||
|
|
||||||
<p><SCRIPT LANGUAGE="JavaScript"><!--
|
|
||||||
if (navigator.appName=="Netscape")
|
|
||||||
{ document.write("<img src='xml7.jpg' x-maintain-ratio='TRUE' width='576' height='226' border='0'>");}
|
|
||||||
else
|
|
||||||
{ document.write("<img src='xml7.jpg' x-maintain-ratio='TRUE' style='border: none; width: 576px; height: 226px; float: none;' width='576' height='226' border='0'>");}
|
|
||||||
//--></SCRIPT></p>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<meta name="generator" content="RoboHELP by eHelp Corporation - www.ehelp.com">
|
|
||||||
<meta name="generator-major-version" content="0.1">
|
|
||||||
<meta name="generator-minor-version" content="1">
|
|
||||||
<meta name="filetype" content="kadov">
|
|
||||||
<meta name="filetype-version" content="1">
|
|
||||||
<meta name="page-count" content="1">
|
|
||||||
<meta name="layout-height" content="1506">
|
|
||||||
<meta name="layout-width" content="639">
|
|
||||||
<meta name="date" content="05 24, 2002 5:49:09 PM">
|
|
||||||
<meta name="GENERATOR" content="Mozilla/4.79 [en]C-CCK-MCD (Windows NT 5.0; U) [Netscape]">
|
|
||||||
<meta name="Author" content="gitu jain">
|
|
||||||
<title>Failure Table</title>
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
<!--(Document created with RoboEditor. )============================-->
|
|
||||||
<!--(==============================================================)-->
|
|
||||||
<!--(Meta)==========================================================-->
|
|
||||||
<style>
|
|
||||||
<!--
|
|
||||||
ul.whs1 {list-style: disc;}
|
|
||||||
p.whs2 {margin-left: 80px;}
|
|
||||||
ul.whs3 {list-style: disc;}
|
|
||||||
p.whs4 {margin-left: 80px; font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
ul.whs5 {list-style: disc;}
|
|
||||||
p.whs6 {margin-left: 80px; font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
p.whs7 {margin-left: 80px; font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
ul.whs8 {list-style: disc;}
|
|
||||||
p.whs9 {margin-left: 80px; font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
p.whs10 {margin-left: 80px; font-family: arial, sans-serif; font-size: 10pt;}
|
|
||||||
ul.whs11 {list-style: disc;}
|
|
||||||
|
|
||||||
--></style>
|
|
||||||
<script language="javascript" title="WebHelpInlineScript">
|
|
||||||
<!--
|
|
||||||
function reDo() {
|
|
||||||
if (innerWidth != origWidth || innerHeight != origHeight)
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
|
|
||||||
origWidth = innerWidth;
|
|
||||||
origHeight = innerHeight;
|
|
||||||
onresize = reDo;
|
|
||||||
}
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
<!--
|
|
||||||
div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}
|
|
||||||
p.WebHelpNavBar {text-align:right;}
|
|
||||||
-->
|
|
||||||
</style>
|
|
||||||
<!--(Body)==========================================================-->
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
Failure Table</h1>
|
|
||||||
<span style="font-family: arial, sans-serif; font-size: 10pt;"><font size=-1>The
|
|
||||||
Failure Table section provides a table listing all logic failing to be
|
|
||||||
placed as well as the cause for failure to fit for each individual Function
|
|
||||||
Block. </font>The user can use this table to determine primary cause of
|
|
||||||
failure and try to correct it.</span><!--begin!kadov{{-->
|
|
||||||
<br><!--}}end!kadov--><!--kadov_tag{{<implicit_p>}}--><!--begin!kadov{{-->
|
|
||||||
<br><!--}}end!kadov--><!--kadov_tag{{<implicit_p>}}--><span
|
|
||||||
style="font-family: arial, sans-serif; font-size: 10pt;"><font size=-1>The
|
|
||||||
Failure Table contains the following: </font></span>
|
|
||||||
<ul type="disc" class="whs1">
|
|
||||||
<li class="kadov-p" class="kadov-p">
|
|
||||||
<span style="font-family: arial, sans-serif; font-size: 10pt;"><font size=-1>The
|
|
||||||
signal name </font></span></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div class="whs2"><span style="font-weight: bold;
|
|
||||||
font-family: arial, sans-serif;
|
|
||||||
font-size: 10pt;"><font size=-1><b>Note:</span><span
|
|
||||||
style="font-family: arial, sans-serif; font-size: 10pt;"></b>
|
|
||||||
Clicking on the signal name will open a new window with the equations for
|
|
||||||
that signal. </font></span></div>
|
|
||||||
|
|
||||||
<ul type="disc" class="whs3">
|
|
||||||
<li class="kadov-p" class="kadov-p">
|
|
||||||
<span style="font-family: arial, sans-serif; font-size: 10pt;"><font size=-1>A
|
|
||||||
column for each Function Block in device, with reason for failure to fit
|
|
||||||
for each FB</font></span></li>
|
|
||||||
|
|
||||||
<li class="kadov-p" class="kadov-p">
|
|
||||||
<span style="font-family: arial, sans-serif; font-size: 10pt;"><font size=-1>A
|
|
||||||
legend at the bottom listing all possible reasons for failure</font></span></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 KiB |
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>genmsg</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
This file is currently being generated. Please recheck the link after some
|
|
||||||
time for this report data.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Loaded 100 of 161 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user