URL
https://opencores.org/ocsvn/w11/w11/trunk
Subversion Repositories w11
Compare Revisions
- This comparison shows the changes necessary to convert path
/w11/trunk
- from Rev 17 to Rev 16
- ↔ Reverse comparison
Rev 17 → Rev 16
/tools/fx2/src/.cvsignore
File deleted
/tools/fx2/src/eeprom.h
File deleted
/tools/fx2/src/Makefile
File deleted
/tools/fx2/src/usb_fifo_init.c
File deleted
/tools/fx2/src/hardware.h
File deleted
/tools/fx2/src/main.c
File deleted
/tools/fx2/src/lib/i2c.c
File deleted
/tools/fx2/src/lib/usb_descriptors.h
File deleted
/tools/fx2/src/lib/fx2utils.c
File deleted
/tools/fx2/src/lib/timer.c
File deleted
/tools/fx2/src/lib/i2c.h
File deleted
/tools/fx2/src/lib/timer.h
File deleted
/tools/fx2/src/lib/fx2regs.h
File deleted
/tools/fx2/src/lib/fx2utils.h
File deleted
/tools/fx2/src/lib/usb_requests.h
File deleted
/tools/fx2/src/lib/.cvsignore
File deleted
/tools/fx2/src/lib/Makefile
File deleted
/tools/fx2/src/lib/isr.c
File deleted
/tools/fx2/src/lib/delay.c
File deleted
/tools/fx2/src/lib/syncdelay.h
File deleted
/tools/fx2/src/lib/usb_common.c
File deleted
/tools/fx2/src/lib/isr.h
File deleted
/tools/fx2/src/lib/delay.h
File deleted
/tools/fx2/src/lib/usb_common.h
File deleted
tools/fx2/src/lib
Property changes :
Deleted: svn:ignore
## -1,42 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
-*.asm
-*.ihx
-*.lnk
-*.lst
-*.map
-*.mem
-*.rel
-*.rst
-*.sym
-libfx2.lib
Index: tools/fx2/src/startup.a51
===================================================================
--- tools/fx2/src/startup.a51 (revision 17)
+++ tools/fx2/src/startup.a51 (nonexistent)
@@ -1,79 +0,0 @@
-;;; -*- asm -*-
-;;; $Id: startup.a51 395 2011-07-17 22:02:55Z mueller $
-;;;
-;;;-----------------------------------------------------------------------------
-;;; Startup code
-;;;-----------------------------------------------------------------------------
-;;; Code taken from USRP2 firmware (GNU Radio Project), version 3.0.2,
-;;; Copyright 2003 Free Software Foundation, Inc.
-;;;-----------------------------------------------------------------------------
-;;; This code is part of usbjtag. usbjtag is free software; you can redistribute
-;;; it and/or modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 2 of the License,
-;;; or (at your option) any later version. usbjtag is distributed in the hope
-;;; that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
-;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details. You should have received a
-;;; copy of the GNU General Public License along with this program in the file
-;;; COPYING; if not, write to the Free Software Foundation, Inc., 51 Franklin
-;;; St, Fifth Floor, Boston, MA 02110-1301 USA
-;;;-----------------------------------------------------------------------------
-
-;;; The default external memory initialization provided by sdcc is not
-;;; appropriate to the FX2. This is derived from the sdcc code, but uses
-;;; the FX2 specific _MPAGE sfr.
-
-
- ;; .area XISEG (XDATA) ; the initialized external data area
- ;; .area XINIT (CODE) ; the code space consts to init XISEG
- .area XSEG (XDATA) ; zero initialized xdata
- .area USBDESCSEG (XDATA) ; usb descriptors
-
-
- .area CSEG (CODE)
-
- ;; sfr that sets upper address byte of MOVX using @r0 or @r1
- _MPAGE = 0x0092
-
-__sdcc_external_startup::
- ;; This system is now compiled with the --no-xinit-opt
- ;; which means that any initialized XDATA is handled
- ;; inline by code in the GSINIT segs emitted for each file.
- ;;
- ;; We zero XSEG and all of the internal ram to ensure
- ;; a known good state for uninitialized variables.
-
-; _mcs51_genRAMCLEAR() start
- mov r0,#l_XSEG
- mov a,r0
- orl a,#(l_XSEG >> 8)
- jz 00002$
- mov r1,#((l_XSEG + 255) >> 8)
- mov dptr,#s_XSEG
- clr a
-
-00001$: movx @dptr,a
- inc dptr
- djnz r0,00001$
- djnz r1,00001$
-
- ;; We're about to clear internal memory. This will overwrite
- ;; the stack which contains our return address.
- ;; Pop our return address into DPH, DPL
-00002$: pop dph
- pop dpl
-
- ;; R0 and A contain 0. This loop will execute 256 times.
- ;;
- ;; FWIW the first iteration writes direct address 0x00,
- ;; which is the location of r0. We get lucky, we're
- ;; writing the correct value (0)
-
-00003$: mov @r0,a
- djnz r0,00003$
-
- push dpl ; restore our return address
- push dph
-
- mov dpl,#0 ; indicate that data init is still required
- ret
Index: tools/fx2/src/hw_nexys2.c
===================================================================
--- tools/fx2/src/hw_nexys2.c (revision 17)
+++ tools/fx2/src/hw_nexys2.c (nonexistent)
@@ -1,284 +0,0 @@
-/* $Id: hw_nexys2.c 447 2011-12-31 19:41:32Z mueller $ */
-/*
- * Copyright 2011- by Walter F.J. Mueller
- * Code was forked from ixo-jtag.svn.sourceforge.net on 2011-07-17
- *
- * - original copyright and licence disclaimer --------------------------------
- * - Copyright (C) 2007 Kolja Waschk, ixo.de
- * - This code is part of usbjtag. usbjtag is free software;
- * - This code was copied from hw_basic.c and adapted for the Digilent Nexys(2)
- * - boards by Sune Mai (Oct 2008) with minor cleanups by Hauke Daempfling
- * - (May 2010). See http://www.fpga4fun.com/forum/viewtopic.php?t=483&start=50
- * ----------------------------------------------------------------------------
- *
- * This program is free software; you may redistribute and/or modify it under
- * the terms of the GNU General Public License as published by the Free
- * Software Foundation, either version 2, or at your option any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for complete details.
- *
- * ----------------------------------------------------------------------------
- * Hardware-dependent code for usb_jtag
- *
- * Revision History:
- *
- * Date Rev Version Comment
- * 2011-12-30 447 1.2.1 move JTAG pin OE intoProgIO_Set_State()
- * 2011-12-29 446 1.2 clean-out all code not relevant for nexys2
- * 2011-07-23 397 1.1 move IFCONFIG and CPUCS init to usb_fifo_init
- * 2011-07-17 394 1.0 Initial version (from ixo-jtag/usb_jtag Rev 204)
- *
- *-----------------------------------------------------------------------------
- */
-
-#include
-#include "hardware.h"
-#include "delay.h"
-
-//-----------------------------------------------------------------------------
-
-/* JTAG TCK, AS/PS DCLK */
-
-sbit at 0xB4 TCK; /* Port D.4 */
-#define bmTCKOE bmBIT4
-#define SetTCK(x) do{TCK=(x);}while(0)
-
-/* JTAG TDI, AS ASDI, PS DATA0 */
-
-sbit at 0xB2 TDI; /* Port D.2 */
-#define bmTDIOE bmBIT2
-#define SetTDI(x) do{TDI=(x);}while(0)
-
-/* JTAG TMS, AS/PS nCONFIG */
-
-sbit at 0xB3 TMS; /* Port D.3 */
-#define bmTMSOE bmBIT3
-#define SetTMS(x) do{TMS=(x);}while(0)
-
-/* JTAG TDO, AS/PS CONF_DONE */
-
-sbit at 0xB0 TDO; /* Port D.0 */
-#define bmTDOOE bmBIT0
-#define GetTDO(x) TDO
-
-/* USB Power-On (Nexys2 specific !!) */
-
-sbit at 0xB7 USBPOW; /* Port D.7 */
-#define bmUSBPOWOE bmBIT7
-#define SetUSBPOW(x) do{USBPOW=(x);}while(0)
-
-//-----------------------------------------------------------------------------
-
-#define bmPROGOUTOE (bmTCKOE|bmTDIOE|bmTMSOE)
-#define bmPROGINOE (bmTDOOE)
-
-//-----------------------------------------------------------------------------
-
-void ProgIO_Poll(void) {}
-void ProgIO_Enable(void) {}
-// These aren't called anywhere in usbjtag.c so far, might come...
-void ProgIO_Disable(void) {}
-void ProgIO_Deinit(void) {}
-
-
-void ProgIO_Init(void)
-{
- /* The following code depends on your actual circuit design.
- Make required changes _before_ you try the code! */
-
- // power on the onboard FPGA:
- // output enable and set to 1 the Nexys2 USB-Power-enable signal
- SetUSBPOW(1);
- OED=bmUSBPOWOE;
- // Note: JTAG signal output enables are in ProgIO_Set_State() below.
-
- mdelay(500); // wait for supply to come up
-}
-
-void ProgIO_Set_State(unsigned char d)
-{
- /* Set state of output pins:
- *
- * d.0 => TCK
- * d.1 => TMS
- * d.4 => TDI
- */
-
- // JTAG signal output enables done at first request:
- // this allows to use the JTAG connector with another JTAG cable
- // alternatively.
- OED=(OED&~bmPROGINOE) | bmPROGOUTOE; // Output enable
-
- SetTCK((d & bmBIT0) ? 1 : 0);
- SetTMS((d & bmBIT1) ? 1 : 0);
- SetTDI((d & bmBIT4) ? 1 : 0);
-}
-
-//-----------------------------------------------------------------------------
-// dummied AS/PS code
-#define GetASDO(x) 1
-
-unsigned char ProgIO_Set_Get_State(unsigned char d)
-{
- /* Set state of output pins (s.a.)
- * then read state of input pins:
- *
- * TDO => d.0
- * DATAOUT => d.1 (only #ifdef HAVE_AS_MODE)
- */
-
- ProgIO_Set_State(d);
- return (GetASDO()<<1)|GetTDO();
-}
-
-//-----------------------------------------------------------------------------
-
-void ProgIO_ShiftOut(unsigned char c)
-{
- /* Shift out byte C:
- *
- * 8x {
- * Output least significant bit on TDI
- * Raise TCK
- * Shift c right
- * Lower TCK
- * }
- */
-
- (void)c; /* argument passed in DPL */
-
- _asm
- MOV A,DPL
- ;; Bit0
- RRC A
- MOV _TDI,C
- SETB _TCK
- ;; Bit1
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit2
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit3
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit4
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit5
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit6
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit7
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- NOP
- CLR _TCK
- ret
- _endasm;
-}
-
-/*
-;; For ShiftInOut, the timing is a little more
-;; critical because we have to read _TDO/shift/set _TDI
-;; when _TCK is low. But 20% duty cycle at 48/4/5 MHz
-;; is just like 50% at 6 Mhz, and that's still acceptable
-*/
-
-unsigned char ProgIO_ShiftInOut(unsigned char c)
-{
- /* Shift out byte C, shift in from TDO:
- *
- * 8x {
- * Read carry from TDO
- * Output least significant bit on TDI
- * Raise TCK
- * Shift c right, append carry (TDO) at left
- * Lower TCK
- * }
- * Return c.
- */
-
- (void)c; /* argument passed in DPL */
-
- _asm
- MOV A,DPL
-
- ;; Bit0
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit1
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit2
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit3
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit4
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit5
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit6
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit7
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- NOP
- CLR _TCK
-
- MOV DPL,A
- ret
- _endasm;
-
- /* return value in DPL */
-
- return c;
-}
-
Index: tools/fx2/src/eeprom.c
===================================================================
--- tools/fx2/src/eeprom.c (revision 17)
+++ tools/fx2/src/eeprom.c (nonexistent)
@@ -1,78 +0,0 @@
-/* $Id: eeprom.c 395 2011-07-17 22:02:55Z mueller $ */
-/*-----------------------------------------------------------------------------
- * FTDI EEPROM emulation
- *-----------------------------------------------------------------------------
- * Copyright (C) 2007 Kolja Waschk, ixo.de
- *-----------------------------------------------------------------------------
- * This code is part of usbjtag. usbjtag is free software; you can redistribute
- * it and/or modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the License,
- * or (at your option) any later version. usbjtag is distributed in the hope
- * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details. You should have received a
- * copy of the GNU General Public License along with this program in the file
- * COPYING; if not, write to the Free Software Foundation, Inc., 51 Franklin
- * St, Fifth Floor, Boston, MA 02110-1301 USA
- *-----------------------------------------------------------------------------
- */
-
-#include "eeprom.h"
-#include "usb_descriptors.h"
-
-xdata unsigned char eeprom[128];
-
-extern xdata char dscr_vidpidver[6];
-extern xdata char dscr_attrpow[2];
-extern xdata char dscr_usbver[2];
-extern xdata char dscr_strorder[4];
-extern xdata char str1[];
-extern xdata char str2[];
-extern xdata char str3[];
-
-static unsigned char ee_ptr;
-static unsigned short ee_cksum;
-
-void eeprom_append(unsigned char nb)
-{
- unsigned char pree_ptr = ee_ptr & ~1;
- if(pree_ptr != ee_ptr)
- {
- ee_cksum = ee_cksum ^((unsigned short)nb << 8);
- ee_cksum = ee_cksum ^ eeprom[pree_ptr];
- ee_cksum = (ee_cksum << 1) | (ee_cksum >> 15);
- };
- eeprom[ee_ptr++] = nb;
-}
-
-void eeprom_init(void)
-{
- char j,sofs;
- ee_ptr = 0;
- ee_cksum = 0xAAAA;
-
- eeprom_append(0x00);
- eeprom_append(0x00);
- for(j=0;j<6;j++) eeprom_append(dscr_vidpidver[j]);
- for(j=0;j<2;j++) eeprom_append(dscr_attrpow[j]);
- eeprom_append(0x1C);
- eeprom_append(0x00);
- for(j=0;j<2;j++) eeprom_append(dscr_usbver[j]);
- sofs = 0x80 + ee_ptr + 6;
- eeprom_append(sofs);
- eeprom_append(str1[0]);
- sofs += str1[0];
- eeprom_append(sofs);
- eeprom_append(str2[0]);
- sofs += str2[0];
- eeprom_append(sofs);
- eeprom_append(str3[0]);
- for(j=0;j>8)&0xFF;
-}
-
Index: tools/fx2/src/hw_nexys3.c
===================================================================
--- tools/fx2/src/hw_nexys3.c (revision 17)
+++ tools/fx2/src/hw_nexys3.c (nonexistent)
@@ -1,274 +0,0 @@
-/* $Id: hw_nexys3.c 447 2011-12-31 19:41:32Z mueller $ */
-/*
- * Copyright 2011- by Walter F.J. Mueller
- * Code was forked from ixo-jtag.svn.sourceforge.net on 2011-07-17
- *
- * - original copyright and licence disclaimer --------------------------------
- * - Copyright (C) 2007 Kolja Waschk, ixo.de
- * - This code is part of usbjtag. usbjtag is free software;
- * - This code was copied from hw_basic.c and adapted for the Digilent Nexys(2)
- * - boards by Sune Mai (Oct 2008) with minor cleanups by Hauke Daempfling
- * - (May 2010). See http://www.fpga4fun.com/forum/viewtopic.php?t=483&start=50
- * ----------------------------------------------------------------------------
- *
- * This program is free software; you may redistribute and/or modify it under
- * the terms of the GNU General Public License as published by the Free
- * Software Foundation, either version 2, or at your option any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for complete details.
- *
- * ----------------------------------------------------------------------------
- * Hardware-dependent code for usb_jtag
- *
- * Revision History:
- *
- * Date Rev Version Comment
- * 2011-12-30 447 1.0.1 move JTAG pin OE intoProgIO_Set_State()
- * 2011-12-29 446 1.0 Initial version (adapt&cleanup from hw_nexys2.c)
- *
- *-----------------------------------------------------------------------------
- */
-
-#include
-#include "hardware.h"
-#include "delay.h"
-
-//-----------------------------------------------------------------------------
-
-/* JTAG TCK, AS/PS DCLK */
-
-sbit at 0xB4 TCK; /* Port D.4 */
-#define bmTCKOE bmBIT4
-#define SetTCK(x) do{TCK=(x);}while(0)
-
-/* JTAG TDI, AS ASDI, PS DATA0 */
-
-sbit at 0xB2 TDI; /* Port D.2 */
-#define bmTDIOE bmBIT2
-#define SetTDI(x) do{TDI=(x);}while(0)
-
-/* JTAG TMS, AS/PS nCONFIG */
-
-sbit at 0xB3 TMS; /* Port D.3 */
-#define bmTMSOE bmBIT3
-#define SetTMS(x) do{TMS=(x);}while(0)
-
-/* JTAG TDO, AS/PS CONF_DONE */
-
-sbit at 0xB0 TDO; /* Port D.0 */
-#define bmTDOOE bmBIT0
-#define GetTDO(x) TDO
-
-//-----------------------------------------------------------------------------
-
-#define bmPROGOUTOE (bmTCKOE|bmTDIOE|bmTMSOE)
-#define bmPROGINOE (bmTDOOE)
-
-//-----------------------------------------------------------------------------
-
-void ProgIO_Poll(void) {}
-void ProgIO_Enable(void) {}
-// These aren't called anywhere in usbjtag.c so far, might come...
-void ProgIO_Disable(void) {}
-void ProgIO_Deinit(void) {}
-
-
-void ProgIO_Init(void)
-{
- /* The following code depends on your actual circuit design.
- Make required changes _before_ you try the code! */
-
- // Note: JTAG signal output enables are in ProgIO_Set_State() below.
-
- mdelay(500); // wait for supply to come up
-
-}
-
-void ProgIO_Set_State(unsigned char d)
-{
- /* Set state of output pins:
- *
- * d.0 => TCK
- * d.1 => TMS
- * d.4 => TDI
- */
-
- // JTAG signal output enables done at first request:
- // this allows to use the JTAG connector with another JTAG cable
- // alternatively.
- OED=(OED&~bmPROGINOE) | bmPROGOUTOE; // Output enable
-
- SetTCK((d & bmBIT0) ? 1 : 0);
- SetTMS((d & bmBIT1) ? 1 : 0);
- SetTDI((d & bmBIT4) ? 1 : 0);
-}
-
-//-----------------------------------------------------------------------------
-// dummied AS/PS code
-#define GetASDO(x) 1
-
-unsigned char ProgIO_Set_Get_State(unsigned char d)
-{
- /* Set state of output pins (s.a.)
- * then read state of input pins:
- *
- * TDO => d.0
- * DATAOUT => d.1 (only #ifdef HAVE_AS_MODE)
- */
-
- ProgIO_Set_State(d);
- return (GetASDO()<<1)|GetTDO();
-}
-
-//-----------------------------------------------------------------------------
-
-void ProgIO_ShiftOut(unsigned char c)
-{
- /* Shift out byte C:
- *
- * 8x {
- * Output least significant bit on TDI
- * Raise TCK
- * Shift c right
- * Lower TCK
- * }
- */
-
- (void)c; /* argument passed in DPL */
-
- _asm
- MOV A,DPL
- ;; Bit0
- RRC A
- MOV _TDI,C
- SETB _TCK
- ;; Bit1
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit2
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit3
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit4
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit5
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit6
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- ;; Bit7
- RRC A
- CLR _TCK
- MOV _TDI,C
- SETB _TCK
- NOP
- CLR _TCK
- ret
- _endasm;
-}
-
-/*
-;; For ShiftInOut, the timing is a little more
-;; critical because we have to read _TDO/shift/set _TDI
-;; when _TCK is low. But 20% duty cycle at 48/4/5 MHz
-;; is just like 50% at 6 Mhz, and that's still acceptable
-*/
-
-unsigned char ProgIO_ShiftInOut(unsigned char c)
-{
- /* Shift out byte C, shift in from TDO:
- *
- * 8x {
- * Read carry from TDO
- * Output least significant bit on TDI
- * Raise TCK
- * Shift c right, append carry (TDO) at left
- * Lower TCK
- * }
- * Return c.
- */
-
- (void)c; /* argument passed in DPL */
-
- _asm
- MOV A,DPL
-
- ;; Bit0
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit1
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit2
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit3
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit4
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit5
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit6
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- CLR _TCK
- ;; Bit7
- MOV C,_TDO
- RRC A
- MOV _TDI,C
- SETB _TCK
- NOP
- CLR _TCK
-
- MOV DPL,A
- ret
- _endasm;
-
- /* return value in DPL */
-
- return c;
-}
-
-
Index: tools/fx2/src/dscr_gen.A51
===================================================================
--- tools/fx2/src/dscr_gen.A51 (revision 17)
+++ tools/fx2/src/dscr_gen.A51 (nonexistent)
@@ -1,455 +0,0 @@
-;;; -*- asm -*-
-;;; $Id: dscr_gen.A51 457 2012-02-12 22:34:20Z mueller $
-;;;
-;;; Copyright 2011-2012 by Walter F.J. Mueller
-;;; Code was forked from ixo-jtag.svn.sourceforge.net on 2011-07-17
-;;;
-;;;- original copyright and licence disclaimer ---------------------------------
-;;;- Copyright 2005..2007 Kolja Waschk, ixo.de
-;;;- Code based on USRP2 firmware (GNU Radio Project), version 3.0.2,
-;;;- Copyright 2003 Free Software Foundation, Inc.
-;;;- This code is part of usbjtag. usbjtag is free software;
-;;;- ---------------------------------------------------------------------------
-;;;
-;;; This program is free software; you may redistribute and/or modify it under
-;;; the terms of the GNU General Public License as published by the Free
-;;; Software Foundation, either version 2, or at your option any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
-;;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-;;; for complete details.
-;;;
-;;;-----------------------------------------------------------------------------
-;;; USB Descriptor, common source for jtag + 0, 2, or 3 hardware fifo interface
-;;;
-;;; Use C preprocessor to create an assembler source for the configurations:
-;;;
-;;; Endpoint Usage Comment
-;;; EP1 IN jtag always defined
-;;; EP2 OUT jtag always defined
-;;; EP4 OUT data defined if USE_2FIFO or USE_3FIFO
-;;; EP6 IN data defined if USE_2FIFO or USE_3FIFO
-;;; EP8 IN data defined if USE_3FIFO
-;;;
-;;; Available preprocessor options
-;;;
-;;; USE_VID USB Vendor ID
-;;; USE_PID USB Product ID
-;;;
-;;; USE_2FIFO if given EP4 OUT and EP6 IN created
-;;; USE_3FIFO if given EP4 OUT, EP6 IN and EP8 IN created
-;;; USE_DID=0xhhhh for product version (default 0x0004)
-;;; USE_MAXPOWER=nnn for USB max current (in units of 2 mA; default 250)
-;;;
-;;; USE_NEXYS2 prefix 'nexys2_' in iProduct string
-;;; USE_NEXYS3 prefix 'nexys3_' in iProduct string
-;;; USE_AS suffix '_as' in iProduct string
-;;; USE_IC suffix '_ic' in iProduct string
-;;;
-;;; Usage
-;;; cpp -P -x assembler-with-cpp dscr_gen.A51 > ...
-;;; cpp -P -x assembler-with-cpp dscr_gen.A51 -DUSE_2FIFO > ...
-;;; cpp -P -x assembler-with-cpp dscr_gen.A51 -DUSE_3FIFO > ...
-;;;
-;;;
-;;; Revision History:
-;;;
-;;; Date Rev Version Comment
-;;; 2012-02-11 457 2.1 iVendor string now reflects firmware file name;
-;;; iSerial string now 00000000;
-;;; VID/PID now via USE_VID/USE_PID defines
-;;; 2011-07-24 398 2.0 Convert all *.a51 to one common source
-;;; 2011-07-17 395 1.1 Use USB 2.0; New string values; use 512 byte for
-;;; all high speed endpoints
-;;; 2011-07-17 395 1.0 Initial version (derived from dscr_jtag.a51)
-;;;-----------------------------------------------------------------------------
-
-#ifndef USE_DID
-#define USE_DID 0x0004
-#endif
-
-#ifndef USE_MAXPOWER
-#define USE_MAXPOWER 250
-#endif
-
-#ifdef USE_3FIFO
-#define NUM_EPS 5
-#elif USE_2FIFO
-#define NUM_EPS 4
-#else
-#define NUM_EPS 2
-#endif
-
- .module usb_descriptors
-
- VID = USE_VID ; Vendor ID
- PID = USE_PID ; Product ID
- VERSION = USE_DID ; Version
-
- USB_VER = 0x0200 ; Support USB version 2.00
- USB_ATTR = 0x80 ; Bus powered, no remote wakeup
- FTD_ATTR = 0x001C ; Set USB version, use version string, enable suspend PD
- MAX_POWER = USE_MAXPOWER
-
- DSCR_DEVICE = 1 ; Descriptor type: Device
- DSCR_CONFIG = 2 ; Descriptor type: Configuration
- DSCR_STRING = 3 ; Descriptor type: String
- DSCR_INTRFC = 4 ; Descriptor type: Interface
- DSCR_ENDPNT = 5 ; Descriptor type: Endpoint
- DSCR_DEVQUAL = 6 ; Descriptor type: Device Qualifier
-
- DSCR_DEVICE_LEN = 18
- DSCR_CONFIG_LEN = 9
- DSCR_INTRFC_LEN = 9
- DSCR_ENDPNT_LEN = 7
- DSCR_DEVQUAL_LEN = 10
-
- ET_CONTROL = 0 ; Endpoint type: Control
- ET_ISO = 1 ; Endpoint type: Isochronous
- ET_BULK = 2 ; Endpoint type: Bulk
- ET_INT = 3 ; Endpoint type: Interrupt
-
-;;; --------------------------------------------------------
-;;; external ram data
-;;;--------------------------------------------------------
-
- .area USBDESCSEG (XDATA)
-
- .even ; descriptors must be 2-byte aligned for SUDPTR{H,L} to work
-
- ;; The .even directive isn't really honored by the linker. Bummer!
- ;; (There's no way to specify an alignment requirement for a given area,
- ;; hence when they're concatenated together, even doesn't work.)
- ;;
- ;; We work around this by telling the linker to put USBDESCSEG
- ;; at absolute address 0xE100 (see LDFLAGS in Makefile).
-
-;;; ----------------------------------------------------------------
-;;; descriptors used when operating at high speed (480Mbps)
-;;; ----------------------------------------------------------------
-
-_high_speed_device_descr::
- .db DSCR_DEVICE_LEN
- .db DSCR_DEVICE
-_dscr_usbver::
- .db USB_VER ; Specification version (MSB)
- .db 0x00 ; device class (vendor specific)
- .db 0x00 ; device subclass (vendor specific)
- .db 0x00 ; device protocol (vendor specific)
- .db 64 ; bMaxPacketSize0 for endpoint 0
-_dscr_vidpidver::
- .db VID ; idVendor
- .db PID ; idProduct
- .db VERSION ; bcdDevice
-_dscr_strorder::
- .db SI_VENDOR ; iManufacturer (string index)
- .db SI_PRODUCT ; iProduct (string index)
- .db SI_SERIAL ; iSerial number (string index)
- .db 1 ; bNumConfigurations
-
- .even
-_high_speed_devqual_descr::
- .db DSCR_DEVQUAL_LEN
- .db DSCR_DEVQUAL
- .db USB_VER ; bcdUSB (MSB)
- .db 0xFF ; bDeviceClass
- .db 0xFF ; bDeviceSubClass
- .db 0xFF ; bDeviceProtocol
- .db 64 ; bMaxPacketSize0
- .db 1 ; bNumConfigurations (one config at 12Mbps)
- .db 0 ; bReserved
-
- .even
-_high_speed_config_descr::
- .db DSCR_CONFIG_LEN
- .db DSCR_CONFIG
- .db <(_high_speed_config_descr_end - _high_speed_config_descr)
- .db >(_high_speed_config_descr_end - _high_speed_config_descr)
- .db 1 ; bNumInterfaces
- .db 1 ; bConfigurationValue
- .db 0 ; iConfiguration
-_dscr_attrpow::
- .db USB_ATTR ; bmAttributes
- .db MAX_POWER ; bMaxPower [Unit: 2 mA]
-
- ;; interface descriptor
-
- .db DSCR_INTRFC_LEN
- .db DSCR_INTRFC
- .db 0 ; bInterfaceNumber (zero based)
- .db 0 ; bAlternateSetting
- .db NUM_EPS ; bNumEndpoints
- .db 0xFF ; bInterfaceClass (vendor specific)
- .db 0xFF ; bInterfaceSubClass (vendor specific)
- .db 0xFF ; bInterfaceProtocol (vendor specific)
- .db SI_PRODUCT ; iInterface (description)
-
- ;; endpoint descriptor (jtag response)
-
- .db DSCR_ENDPNT_LEN
- .db DSCR_ENDPNT
- .db 0x81 ; bEndpointAddress (EP 1 IN)
- .db ET_BULK ; bmAttributes
- .db <512 ; wMaxPacketSize (LSB) !! use only 64 byte
- .db >512 ; wMaxPacketSize (MSB) !! use only 64 byte
- .db 0 ; bInterval (iso only)
-
- ;; endpoint descriptor (jtag request)
-
- .db DSCR_ENDPNT_LEN
- .db DSCR_ENDPNT
- .db 0x02 ; bEndpointAddress (EP 2 OUT)
- .db ET_BULK ; bmAttributes
- .db <512 ; wMaxPacketSize (LSB) !! use only 64 byte
- .db >512 ; wMaxPacketSize (MSB) !! use only 64 byte
- .db 0 ; bInterval (iso only)
-
-#if defined(USE_2FIFO) || defined(USE_3FIFO)
-
- ;; endpoint descriptor (RXFIFO HOST->FPGA)
-
- .db DSCR_ENDPNT_LEN
- .db DSCR_ENDPNT
- .db 0x04 ; bEndpointAddress (EP 4 OUT)
- .db ET_BULK ; bmAttributes
- .db <512 ; wMaxPacketSize (LSB)
- .db >512 ; wMaxPacketSize (MSB)
- .db 0 ; bInterval (iso only)
-
- ;; endpoint descriptor (TXFIFO FPGA->HOST)
-
- .db DSCR_ENDPNT_LEN
- .db DSCR_ENDPNT
- .db 0x86 ; bEndpointAddress (EP 6 IN)
- .db ET_BULK ; bmAttributes
- .db <512 ; wMaxPacketSize (LSB)
- .db >512 ; wMaxPacketSize (MSB)
- .db 0 ; bInterval (iso only)
-
-#endif
-
-#if defined(USE_3FIFO)
-
- ;; endpoint descriptor (extra FIFO FPGA->HOST)
-
- .db DSCR_ENDPNT_LEN
- .db DSCR_ENDPNT
- .db 0x88 ; bEndpointAddress (EP 8 IN)
- .db ET_BULK ; bmAttributes
- .db <512 ; wMaxPacketSize (LSB)
- .db >512 ; wMaxPacketSize (MSB)
- .db 0 ; bInterval (iso only)
-
-#endif
-
-_high_speed_config_descr_end:
-
-;;; ----------------------------------------------------------------
-;;; descriptors used when operating at full speed (12Mbps)
-;;; no data fifo endpoints defined, if we are in full speed mode this will be no
-;;; fun anyway. Shouldn't happen anyway, unless stone age USB hubs interfere...
-;;; ----------------------------------------------------------------
-
- .even
-_full_speed_device_descr::
- .db DSCR_DEVICE_LEN
- .db DSCR_DEVICE
- .db USB_VER ; Specification version (MSB)
- .db 0x00 ; device class (vendor specific)
- .db 0x00 ; device subclass (vendor specific)
- .db 0x00 ; device protocol (vendor specific)
- .db 64 ; bMaxPacketSize0 for endpoint 0
- .db VID ; idVendor
- .db PID ; idProduct
- .db VERSION ; bcdDevice
- .db SI_VENDOR ; iManufacturer (string index)
- .db SI_PRODUCT ; iProduct (string index)
- .db SI_SERIAL ; iSerial number (string index)
- .db 1 ; bNumConfigurations
-
-;;; describes the other speed (480Mbps)
- .even
-_full_speed_devqual_descr::
- .db DSCR_DEVQUAL_LEN
- .db DSCR_DEVQUAL
- .db USB_VER ; bcdUSB
- .db 0xFF ; bDeviceClass
- .db 0xFF ; bDeviceSubClass
- .db 0xFF ; bDeviceProtocol
- .db 64 ; bMaxPacketSize0
- .db 1 ; bNumConfigurations (one config at 480Mbps)
- .db 0 ; bReserved
-
- .even
-_full_speed_config_descr::
- .db DSCR_CONFIG_LEN
- .db DSCR_CONFIG
- .db <(_full_speed_config_descr_end - _full_speed_config_descr)
- .db >(_full_speed_config_descr_end - _full_speed_config_descr)
- .db 1 ; bNumInterfaces
- .db 1 ; bConfigurationValue
- .db 0 ; iConfiguration
- .db USB_ATTR ; bmAttributes
- .db MAX_POWER ; bMaxPower [Unit: 2 mA]
-
- ;; interface descriptor
-
- .db DSCR_INTRFC_LEN
- .db DSCR_INTRFC
- .db 0 ; bInterfaceNumber (zero based)
- .db 0 ; bAlternateSetting
- .db 2 ; bNumEndpoints
- .db 0xFF ; bInterfaceClass (vendor specific)
- .db 0xFF ; bInterfaceSubClass (vendor specific)
- .db 0xFF ; bInterfaceProtocol (vendor specific)
- .db SI_PRODUCT ; iInterface (description)
-
- ;; endpoint descriptor
-
- .db DSCR_ENDPNT_LEN
- .db DSCR_ENDPNT
- .db 0x81 ; bEndpointAddress (EP 1 IN)
- .db ET_BULK ; bmAttributes
- .db <64 ; wMaxPacketSize (LSB)
- .db >64 ; wMaxPacketSize (MSB)
- .db 0 ; bInterval (iso only)
-
- ;; endpoint descriptor
-
- .db DSCR_ENDPNT_LEN
- .db DSCR_ENDPNT
- .db 0x02 ; bEndpointAddress (EP 2 OUT)
- .db ET_BULK ; bmAttributes
- .db <64 ; wMaxPacketSize (LSB)
- .db >64 ; wMaxPacketSize (MSB)
- .db 0 ; bInterval (iso only)
-
-_full_speed_config_descr_end:
-
-;;; ----------------------------------------------------------------
-;;; string descriptors
-;;; ----------------------------------------------------------------
-
-_nstring_descriptors::
- .db (_string_descriptors_end - _string_descriptors) / 2
-
-_string_descriptors::
- .db str0
- .db str1
- .db str2
- .db str3
-_string_descriptors_end:
-
- SI_NONE = 0
- ;; str0 contains the language ID's.
- .even
-_str0::
-str0: .db str0_end - str0
- .db DSCR_STRING
- .db 0
- .db 0
- .db <0x0409 ; magic code for US English (LSB)
- .db >0x0409 ; magic code for US English (MSB)
-str0_end:
-
- SI_VENDOR = 1
- .even
-_str1::
-str1: .db str1_end - str1
- .db DSCR_STRING
- .db 'w, 0 ; 16-bit unicode
- .db 'w, 0
- .db 'w, 0
- .db '., 0
- .db 'r, 0
- .db 'e, 0
- .db 't, 0
- .db 'r, 0
- .db 'o, 0
- .db '1, 0
- .db '1, 0
- .db '., 0
- .db 'd, 0
- .db 'e, 0
-str1_end:
-
- SI_PRODUCT = 2
- .even
-_str2::
-str2: .db str2_end - str2
- .db DSCR_STRING
-#if defined(USE_NEXYS2)
- .db 'n, 0
- .db 'e, 0
- .db 'x, 0
- .db 'y, 0
- .db 's, 0
- .db '2, 0
- .db '_, 0
-#endif
-#if defined(USE_NEXYS3)
- .db 'n, 0
- .db 'e, 0
- .db 'x, 0
- .db 'y, 0
- .db 's, 0
- .db '3, 0
- .db '_, 0
-#endif
- .db 'j, 0
- .db 't, 0
- .db 'a, 0
- .db 'g, 0
-#if defined(USE_2FIFO)
- .db '_, 0
- .db '2, 0
- .db 'f, 0
- .db 'i, 0
- .db 'f, 0
- .db 'o, 0
-#endif
-#if defined(USE_3FIFO)
- .db '_, 0
- .db '3, 0
- .db 'f, 0
- .db 'i, 0
- .db 'f, 0
- .db 'o, 0
-#endif
-#if defined(USE_AS)
- .db '_, 0
- .db 'a, 0
- .db 's, 0
-#endif
-#if defined(USE_IC)
- .db '_, 0
- .db 'i, 0
- .db 'c, 0
-#endif
-str2_end:
-
- SI_SERIAL = 3
- .even
-_str3::
-str3: .db str3_end - str3
- .db DSCR_STRING
- .db '0, 0
- .db '0, 0
- .db '0, 0
- .db '0, 0
- .db '0, 0
- .db '0, 0
- .db '0, 0
- .db '0, 0
-str3_end:
Index: tools/fx2/src/vectors.a51
===================================================================
--- tools/fx2/src/vectors.a51 (revision 17)
+++ tools/fx2/src/vectors.a51 (nonexistent)
@@ -1,177 +0,0 @@
-;;; -*- asm -*-
-;;; $Id: vectors.a51 395 2011-07-17 22:02:55Z mueller $
-;;;
-;;;-----------------------------------------------------------------------------
-;;; Interrupt vectors
-;;;-----------------------------------------------------------------------------
-;;; Code taken from USRP2 firmware (GNU Radio Project), version 3.0.2,
-;;; Copyright 2003 Free Software Foundation, Inc.
-;;;-----------------------------------------------------------------------------
-;;; This code is part of usbjtag. usbjtag is free software; you can redistribute
-;;; it and/or modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 2 of the License,
-;;; or (at your option) any later version. usbjtag is distributed in the hope
-;;; that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
-;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details. You should have received a
-;;; copy of the GNU General Public License along with this program in the file
-;;; COPYING; if not, write to the Free Software Foundation, Inc., 51 Franklin
-;;; St, Fifth Floor, Boston, MA 02110-1301 USA
-;;;-----------------------------------------------------------------------------
-
-;;; N.B. This object module must come first in the list of modules
-
- .module vectors
-
-;;; ----------------------------------------------------------------
-;;; standard FX2 interrupt vectors
-;;; ----------------------------------------------------------------
-
- .area CSEG (CODE)
- .area GSINIT (CODE)
- .area CSEG (CODE)
-__standard_interrupt_vector::
-__reset_vector::
- ljmp s_GSINIT
-
- ;; 13 8-byte entries. We point them all at __isr_nop
- ljmp __isr_nop ; 3 bytes
- .ds 5 ; + 5 = 8 bytes for vector slot
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
- ljmp __isr_nop
- .ds 5
-
-__isr_nop::
- reti
-
-;;; ----------------------------------------------------------------
-;;; the FIFO/GPIF autovector. 14 4-byte entries.
-;;; must start on a 128 byte boundary.
-;;; ----------------------------------------------------------------
-
- . = __reset_vector + 0x0080
-
-__fifo_gpif_autovector::
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
-
-
-;;; ----------------------------------------------------------------
-;;; the USB autovector. 32 4-byte entries.
-;;; must start on a 256 byte boundary.
-;;; ----------------------------------------------------------------
-
- . = __reset_vector + 0x0100
-
-__usb_autovector::
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
- ljmp __isr_nop
- nop
Index: tools/fx2/src/README_iso_jtag.txt
===================================================================
--- tools/fx2/src/README_iso_jtag.txt (revision 17)
+++ tools/fx2/src/README_iso_jtag.txt (nonexistent)
@@ -1,123 +0,0 @@
-$ Id: $
-
-usb_jtag using Cypress FX2 chip
-===============================
-
-== General information ==
-
-The code in this directory is for Cypress FX2 (e.g. CY7C68013A) and can be
-compiled with the SDCC compiler (I tried version 2.6 as shipped with Ubuntu
-6.10). Once I had a version that could be compiled with Keil tools (until early
-2007), but switched to SDCC because I usually develop on a Linux host.
-
-No logic beside the FX2 itself and only a few external components are required
-for a basic JTAG adapter. I don't have detailed schematics available; my test
-setup consists of a FX2 on a custom board where it's directly connected to a
-Cyclone FPGA.
-
- ____________
- | |
- | Cypress |
- USB__| EZ-USB FX2 |__JTAG(TDI,TDO,TCK,TMS)
- | CY7C68013A |
- |____________|
- __|__________
- | |
- | 24 MHz XTAL |
- |_____________|
-
-
-Similar boards are available from fpga4fun.com - the boards named "Saxo-L" and
-"Xylo-EM" are pre-wired for use with an adapted version of my code, while
-"Saxo" and "Xylo" can be used after soldering 4 extra wires:
-
- http://www.fpga4fun.com/board_Xylo.html
-
-There's a discussion thread in the fpga4fun forum about this firmware:
-
- http://www.fpga4fun.com/forum/viewtopic.php?t=483
-
-
-== Use with Nexys 1 / 2 Boards ==
-
-Through a contribution by Sune Mai, this code can be used with the Digilent
-Nexys / Nexys2 boards.
-
- http://www.digilentinc.com/nexys/
- http://www.digilentinc.com/nexys2/
-
-The hardware-specific code file is hw_nexys.c, just change the line
-"HARDWARE=hw_basic" to "HARDWARE=hw_nexys" in the file "Makefile" to use it.
-
-Also, you may use the "nexys2prog" script by Andy Ross, available from the
-same place this code is available from:
-
- http://ixo-jtag.sourceforge.net/
-
-
-== Adapting the code to your hardware ==
-
-As is, the code assumes the following pin assignment:
-
- Port C.0: TDI
- Port C.1: TDO
- Port C.2: TCK
- Port C.3: TMS
-
-Other assignments are possible. If you have your signals connected to
-bit-addressable I/O pins (port A,B,C or D), I suggest you make a copy of
-hw_basic.c and adapt the definitions and ProgIO_Init() in it to your needs.
-The file hw_saxo_l is even simpler to adapt if you want only JTAG and no AS/PS
-mode. If your signals are not on bit-addressable I/Os (that is, you're using
-port E), you could base your adaptation on the slower hw_xpcu_i.c. You may
-specify the name of your adapted hardware-specific file when "make"ing, e.g.:
-
- make HARDWARE=hw_saxo_l
-
-
-The USB identification data (vendor/product ID, strings, ...) can be modified
-in dscr.a51. The firmware emulates the 128 byte EEPROM that usually holds
-configuration data for the FT245 and which can be read from the host; its
-content (including checksum) is computed from the data in dscr.a51 as well.
-
-The WAKEUP pin should be high for the re-numeration to work reliably (thanks
-Jean/fpga4fun!).
-
-
-== Using it with Xilinx JTAG cable ==
-
-There is code to support running in the "Xilinx Platform Cable USB". If you
-select HARDWARE=hw_xpcu_i or hw_xpcu_x at the top of the Makefile, a firmware
-for the XPCU will be built. I've tested this only with unmodified CPLD version
-18 (0x12) on a Spartan-3E starter kit, as it was programmed by my WebPack 8.2i.
-The code needs optimization; yet it is merely a proof of concept.
-Compile for the XPCU with e.g. "make HARDWARE=hw_xpcu_x".
-
- hw_xpcu_i: Access "internal" chain (the XPCU CPLD, IC3, itself)
- hw_xpcu_x: Access "external" chain (the Spartan 3E, PROM, etc.)
-
-
-== History ==
-
-Changes since previous release 2008-07-05:
- - Imported to SourceForge, please see the project page:
- http://ixo-jtag.sourceforge.net/
-
-Changes since previous release on 2007-02-15:
- - Jean Nicolle contributed hw_saxo_l.c for the FX2 boards from fpga4fun.com
- - fx2/Makefile fixed to build correct libfx2.lib even under Windows.
-
-Changes since previous release on 2007-01-28:
- - Initial suppport for running on Xilinx XPCU.
- - New FX2 code, based on USRP2 from the GNU Radio Project;
- - Firmware can now be compiled using SDCC 2.6. No more Keil support.
- - EEPROM content is automatically computed from dscr.a51, including checksum.
-
-Changes since initial release on 2006-04-23:
- - added this readme.txt
- - reorganized my project folder: diff now created from Subversion repository
- - stripped *.dist extension from eeprom.c and dscr.a51
- - added unique proper product and vendor ID (thanks to Antti Lukats!)
- - fixed checksum in eeprom.c
- - added comments about AS/PS mode pins in usbjtag.c
-
Index: tools/fx2/src/README.txt
===================================================================
--- tools/fx2/src/README.txt (revision 17)
+++ tools/fx2/src/README.txt (nonexistent)
@@ -1,25 +0,0 @@
-# $Id: README.txt 395 2011-07-17 22:02:55Z mueller $
-#
-
-The FX2 software is based on the Sourceforge project ixo-jtag
-
- http://sourceforge.net/projects/ixo-jtag/
-
-The usb_jtag sub project was checked out on 2011-07-17 (Rev 204)
-from Sourceforge and take as the basis for the further developement.
-The original README.txt is preserved under README_iso_jtag.txt.
-Only the hw_nexys.c branch is kept on the import.
-
-Change log:
-
-2011-07-17 (Rev 395)
- - Makefile: reorganized to support multiple target/fifo configs
- - renames:
- dscr.a51->dscr_jtag.a51
- hw_nexys.c->hw_nexys2.c
- usbjtag.c->main.c
- - dscr_jtag.a51
- - Use USB 2.0; New string values
- - use 512 byte for all high speed endpoints
- - dscr_jtag_2fifo.a51
- - dscr with EP4 as HOST->FPGA and EP6 as FPGA->HOST hardware fifo
Index: tools/fx2/src
===================================================================
--- tools/fx2/src (revision 17)
+++ tools/fx2/src (nonexistent)
tools/fx2/src
Property changes :
Deleted: svn:ignore
## -1,42 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
-*.asm
-*.ihx
-*.lnk
-*.lst
-*.map
-*.mem
-*.rel
-*.rst
-*.sym
-dscr_*.a51
Index: tools/fx2/bin/nexys3_jtag_2fifo_as.ihx
===================================================================
--- tools/fx2/bin/nexys3_jtag_2fifo_as.ihx (revision 17)
+++ tools/fx2/bin/nexys3_jtag_2fifo_as.ihx (nonexistent)
@@ -1,443 +0,0 @@
-:06000000020DE602006B98
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030DEC00020DF401
-:030E0700020DEFEA
-:050DEF001203F180FE7B
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C00112062DD001D000D005D0FE
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066A1201AAD005D0046C
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120601C3
-:06034C00D005D004801072
-:0E0352008A82C004C00512061F1201AAD0053F
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312094978
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206B9121C
-:0603FA000450120D19125F
-:0804000008B3D2AF1207C202DB
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E196E0F58212040AD0029030
-:0D04EC00E196E02AFAF582C00212040A909F
-:0B04F900E1B4E0F58212040AD002908A
-:0A050400E1B4E02AF58212040A9027
-:0A050E00E1DEE0F58212040A7A0033
-:0E05180090E196E0FBC3EA64808BF063F08014
-:0B05260095F05017EA2496F582E434AB
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1B4E0FBC3EA64808BF063F080CB
-:0B05510095F05017EA24B4F582E43462
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1DEE0FBC3EA64808BF063F08076
-:0B057C0095F05017EA24DEF582E4340D
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009022E00010100C1
-:0EE1230080FA0904000004FFFFFF02070581D7
-:0EE131000200020007050202000200070504BA
-:0BE13F0002000200070586020002003B
-:0EE14A001201000200000040C016EF030400A6
-:04E1580001020301BC
-:0AE15C000A060002FFFFFF40010069
-:0EE166000902200001010080FA0904000002F5
-:0EE17400FFFFFF0207058102400000070502C1
-:04E182000240000057
-:01E186000494
-:02E1870090E125
-:02E1890096E11D
-:02E18B00B4E1FD
-:02E18D00DEE1D1
-:06E1900006030000090473
-:0EE196001E037700770077002E0072006500F0
-:0EE1A400740072006F00310031002E00640024
-:02E1B200650006
-:0EE1B4002A036E0065007800790073003300C6
-:0EE1C2005F006A007400610067005F003200B9
-:0EE1D0006600690066006F005F00610073006A
-:0EE1DE001203300030003000300030003000FE
-:04E1EC0030003000CF
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0605FB009001F4020DD591
-:0E060100AA82ABB574FE5BF5F0741C45F0F5F3
-:0E060F00B5EA1392B4EAA2E192B3EAA2E49231
-:02061D00B22207
-:0E061F00120601A2B0E433FA74024AF58222F8
-:0E062D00E5821392B2D2B413C2B492B2D2B428
-:0E063B0013C2B492B2D2B413C2B492B2D2B40B
-:0E06490013C2B492B2D2B413C2B492B2D2B4FD
-:0E06570013C2B492B2D2B413C2B492B2D2B4EF
-:0506650000C2B42222D6
-:0E066A00E582A2B01392B2D2B4C2B4A2B01311
-:0E06780092B2D2B4C2B4A2B01392B2D2B4C243
-:0E068600B4A2B01392B2D2B4C2B4A2B0139216
-:0E069400B2D2B4C2B4A2B01392B2D2B4C2B405
-:0E06A200A2B01392B2D2B4C2B4A2B01392B2FC
-:0906B000D2B400C2B4F58222228A
-:0D06B90090E6007412F090E60174ABF09032
-:0E06C600E6707480F00090E60274E0F00090A0
-:0E06D400E60374F9F00090E6047480F00090E4
-:0D06E200E60B7403F00090E610E4F00090C9
-:0D06EF00E61174A0F00090E618E4F0009011
-:0E06FC00E6047402F00090E61274A2F0009082
-:0E070A00E61374A2F00090E61474E0F0009084
-:0E071800E6157402F00090E6047404F0009000
-:0E072600E6047406F00090E6047408F00090FB
-:0E073400E604E4F00090E60BE4F00090E649E5
-:0E0742007484F00090E6497484F00090E6198B
-:0E075000E4F00090E6197410F00090E63274A8
-:0E075E0080F00090E6337404F00090E61A7408
-:0E076C000CF00090E6247402F00090E625E404
-:0E077A00F00090E6347419F00090E63574FC3F
-:0E078800F00090E61BE4F0000090E691748013
-:0A079600F00090E6917480F000225C
-:0807A00090E6A0E04401F02204
-:0E07A800AA8274805AC423541FFB740F5A9007
-:0C07B600E6834BF090E683E04420F02244
-:0E07C20090E680E0440AF09000FA120DD59007
-:0E07D000E65D74FFF090E65F74FFF05391EF6A
-:0807DE0090E680E054F7F022E0
-:060E0100E478FFF6D8FDC5
-:060DE600751200751300F8
-:0A07E60090E680E0FA30E719751480
-:0307F0000075157C
-:0307F300E1751697
-:0307F60012751762
-:0307F900E175188F
-:0307FC001C751950
-:0307FF00E1751A87
-:0308020066751BFD
-:02080500E122EE
-:0408070075144A75A5
-:03080B0015E1757F
-:03080E00165C7500
-:0308110017E17577
-:03081400186675EE
-:0308170019E1756F
-:03081A001A1C7530
-:03081D001BE122BA
-:090820005391EF75A100D20232E0
-:0C082900C021C0E0C0F0C082C083C0024B
-:0E083500C003C004C005C006C007C000C0015B
-:0E084300C0D075D0005391EF75A1001207E6EA
-:0E085100D0D0D001D000D007D006D005D00402
-:0D085F00D003D002D083D082D0F0D0E0D002
-:02086C00213237
-:0C086E00C021C0E0C0F0C082C083C00206
-:0E087A00C003C004C005C006C007C000C00116
-:0E088800C0D075D0005391EF75A1001207E6A5
-:0E089600D0D0D001D000D007D006D005D004BD
-:0D08A400D003D002D083D082D0F0D0E0D0BD
-:0208B1002132F2
-:0508B3001207E6751CB0
-:0308B80020751D8B
-:0808BB0008758200120C727531
-:0308C3001C297578
-:0608C6001D0875821012EE
-:0408CC000C72751C19
-:0308D0006E751D25
-:0C08D30008758214120C7290E65C7431FF
-:0208DF00F02205
-:0D08E100E582547FFA24F75004758200224E
-:0708EE00BA0104758201222A
-:0808F500530201E4BA00010402
-:0308FD00F582225F
-:0E090000AA82BA010C90E6A1E0FB7C008B827B
-:03090E008C8322B5
-:0E091100BA810C90E6A2E0FB7C008B828C8306
-:01091F0022B5
-:0E09200053027FEA700C90E6A0E0FB7C008B97
-:04092E00828C832212
-:0E09320090E6A3E0FB7C00EAC313FA7D00EA26
-:090940002BFBED3C8B82F58322B8
-:0C094900C20290E6B8E0FA530260BA0067
-:03095500028028F5
-:05095800BA2002800D31
-:05095D00BA4002800E0B
-:05096200BA60028003F1
-:03096700020C0778
-:06096A001207A0020C07B9
-:0A097000120372E5826003020C0717
-:06097A001207A0020C07A9
-:0D09800090E6B8E0FA530280BA80028003CE
-:03098D00020B0852
-:0B09900090E6B9E0FABA0003020A8109
-:05099B00BA06028035E0
-:0509A000BA0802800806
-:0509A500BA0A028017F0
-:0309AA00020B023B
-:0C09AD0090E740E512F090E68AE4F0903C
-:0809B900E68B7401F0020C074B
-:0C09C10090E740E513F090E68AE4F09027
-:0809CD00E68B7401F0020C0737
-:0A09D50090E6BBE0FABA01028017B9
-:0509DF00BA020280389D
-:0509E400BA0302805976
-:0509E900BA0602801BAC
-:0509EE00BA0702803C85
-:0309F300020A7B7A
-:0A09F600AA14AB1590E6B3EBF07BFA
-:090A00000090E6B4EAF0020C07D4
-:0A0A0900AA16AB1790E6B3EBF07BE2
-:090A13000090E6B4EAF0020C07C1
-:0A0A1C00AA18AB1990E6B3EBF07BCB
-:090A26000090E6B4EAF0020C07AE
-:0A0A2F00AA1AAB1B90E6B3EBF07BB4
-:090A39000090E6B4EAF0020C079B
-:0E0A420090E6BAE0FA90E186E0FBC3EA9B4042
-:070A5000061207A0020C07CB
-:0C0A570090E6BAE075F002A42487F58256
-:0B0A630074E135F0F583E0FAA3E090A9
-:0D0A6E00E6B3F07B0090E6B4EAF0020C075E
-:060A7B001207A0020C07A7
-:0D0A810090E6B8E0FA53021FBA0002800AA6
-:050A8E00BA0102801B0B
-:050A9300BA0266802C90
-:0E0A980090E740E4F090E741F090E68AF0909D
-:080AA600E68B7402F0020C075C
-:0E0AAE0090E740E4F090E741F090E68AF09087
-:080ABC00E68B7402F0020C0746
-:0E0AC40090E6BCE0F5821208E1E58260259024
-:0E0AD200E6BCE0F582120900E0FA5302019042
-:0E0AE000E740EAF090E741E4F090E68AF090FB
-:080AEE00E68B7402F0020C0714
-:060AF6001207A0020C072C
-:060AFC001207A0020C0726
-:060B02001207A0020C071F
-:0C0B080090E6B9E0FA24F45003020C045B
-:070B1400EA2A2A900B1B7373
-:070B1B00020C04020B510261
-:060B22000BCC020BAD023A
-:060B28000C04020C0402A3
-:060B2E000C04020C04029D
-:060B34000C04020B3F025D
-:050B3A000C04020B4851
-:090B3F0090E6BAE0F512020C0781
-:090B480090E6BAE0F513020C0777
-:0D0B510090E6B8E0FA53021FBA00028005DA
-:050B5E00BA0247800A05
-:0A0B630090E6BAE01207A0020C07AA
-:0D0B6D0090E6BAE0703090E6BCE0F5821230
-:0D0B7A0008E1E582602390E6BCE0F5821200
-:0E0B87000900AA82AB83E0FC5304FE8A828B35
-:0E0B950083ECF090E6BCE0F5821207A88064C5
-:050BA3001207A0805FB5
-:050BA8001207A0805AB5
-:0E0BAD0090E6B8E0FA53021FBA004F90E6BA85
-:070BBB00E0FABA0102800517
-:050BC200BA02028040B0
-:050BC7001207A0803BB5
-:0E0BCC0090E6BAE0FA702C90E6BCE0F58212DA
-:0D0BDA0008E1E582601A90E6BCE0F58212A9
-:0E0BE7000900AA82AB83E0FC4304018A828BE2
-:050BF50083ECF0800D0F
-:050BFA001207A08008B5
-:050BFF001207A08003B5
-:030C04001207A034
-:080C070090E6A0E04480F02219
-:050C0F00AA82BA0300F7
-:070C14004005EA249C500199
-:010C1B0022B6
-:090C1C00740F5AFBBB03028007B0
-:070C2500740F5AFBBB0B45E5
-:0A0C2C00A2AF9203C2AFEA2400F564
-:0C0C360082E43400F5837402F07B00744B
-:0C0C4200012AFCE43BFDEC2400F582EDEF
-:0A0C4E003400F583E51DFCF074028C
-:0C0C58002AFAE43BFBEA2400F582EB34AE
-:0A0C640000F583AA1C7B00EAF0A251
-:030C6E000392AF3F
-:010C71002260
-:080C7200E582FA2483500122FF
-:060C7A00EA5403600122B0
-:0A0C8000A2AF9204C2AFEA2400F50F
-:0C0C8A0082E43401F5837402F07B0074F6
-:0C0C9600012AFCE43BFDEC2400F582ED9B
-:0A0CA2003401F583E51DF074022A09
-:0B0CAC00FAE43BFBEA2400F582EB3485
-:080CB70001F583AA1CEAF0A27A
-:040CBF000492AF22CA
-:050CC300AA82BA8000C6
-:070CC8004005EA244B500136
-:010CCF002202
-:060CD000EA54036001225A
-:0A0CD600A2AF9205C2AFEA2480F538
-:0C0CE00082E43400F5837402F07B0074A1
-:0C0CEC00012AFCE43BFDEC2480F582EDC5
-:0A0CF8003400F583E51DF074022AB4
-:0B0D0200FAE43BFBEA2480F582EB34AE
-:080D0D0000F583AA1CEAF0A224
-:040D15000592AF2272
-:080D1900C2E8C2EA751C007576
-:060D21001D017582431262
-:040D27000C0F751C1C
-:030D2B0080751DB3
-:0C0D2E0000758253120C0F0090E650E498
-:0E0D3A00F00090E652E4F00090E654E4F00081
-:0E0D480090E656E4F00090E65174FFF0009043
-:0E0D5600E65374FFF00090E65574FFF0009035
-:0E0D6400E65774FFF00090E658E4F090E65970
-:0E0D720074FFF090E65AE4F090E65B74FFF038
-:0E0D800090E65CE4F090E65D74FFF090E65EB5
-:0E0D8E00E4F090E65F74FFF00090E660E4F0A1
-:0D0D9C000090E66174FFF090E662E4F090D4
-:0E0DA900E66374FFF090E665E4F090E668748F
-:0A0DB7000BF05391AFD2E8D2EA220C
-:010DC100220F
-:020DC200AA8203
-:060DC400120DC1DAFB2252
-:030DCA0090FB504B
-:080DCD00A3E582458370F922C1
-:040DD500AA82AB83C0
-:080DD900120DCA1ABAFF011B3A
-:050DE100EA4B70F42252
-:030DF400758121E5
-:0A0DF7001205D5E5826003020DEF3E
-:00000001FF
Index: tools/fx2/bin/nexys2_jtag_3fifo_as.ihx
===================================================================
--- tools/fx2/bin/nexys2_jtag_3fifo_as.ihx (revision 17)
+++ tools/fx2/bin/nexys2_jtag_3fifo_as.ihx (nonexistent)
@@ -1,446 +0,0 @@
-:06000000020E0702006B76
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030E0D00020E15BD
-:030E2800020E10A7
-:050E10001203F180FE59
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C001120632D001D000D005D0F9
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066F1201AAD005D00467
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120606BE
-:06034C00D005D004801072
-:0E0352008A82C004C0051206241201AAD0053A
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312096A57
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206BE1217
-:0603FA000450120D3A123E
-:0804000008D4D2AF1207E30299
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E19EE0F58212040AD0029028
-:0D04EC00E19EE02AFAF582C00212040A9097
-:0B04F900E1BCE0F58212040AD0029082
-:0A050400E1BCE02AF58212040A901F
-:0A050E00E1E6E0F58212040A7A002B
-:0E05180090E19EE0FBC3EA64808BF063F0800C
-:0B05260095F05017EA249EF582E434A3
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1BCE0FBC3EA64808BF063F080C3
-:0B05510095F05017EA24BCF582E4345A
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1E6E0FBC3EA64808BF063F0806E
-:0B057C0095F05017EA24E6F582E43405
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009023500010100BA
-:0EE1230080FA0904000005FFFFFF02070581D6
-:0EE131000200020007050202000200070504BA
-:0EE13F000200020007058602000200070588A4
-:04E14D0002000200CA
-:0EE152001201000200000040C016EF0304009E
-:04E1600001020301B4
-:0AE164000A060002FFFFFF40010061
-:0EE16E000902200001010080FA0904000002ED
-:0EE17C00FFFFFF0207058102400000070502B9
-:04E18A00024000004F
-:01E18E00048C
-:02E18F0098E115
-:02E191009EE10D
-:02E19300BCE1ED
-:02E19500E6E1C1
-:06E198000603000009046B
-:0EE19E001E037700770077002E0072006500E8
-:0EE1AC00740072006F00310031002E0064001C
-:02E1BA006500FE
-:0EE1BC002A036E0065007800790073003200BF
-:0EE1CA005F006A007400610067005F003300B0
-:0EE1D8006600690066006F005F006100730062
-:0EE1E6001203300030003000300030003000F6
-:04E1F40030003000C7
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0B05FB00D2B775B5809001F4020DF638
-:0E060600AA82ABB574FE5BF5F0741C45F0F5EE
-:0E061400B5EA1392B4EAA2E192B3EAA2E4922C
-:02062200B22202
-:0E062400120606A2B0E433FA74024AF58222EE
-:0E063200E5821392B2D2B413C2B492B2D2B423
-:0E06400013C2B492B2D2B413C2B492B2D2B406
-:0E064E0013C2B492B2D2B413C2B492B2D2B4F8
-:0E065C0013C2B492B2D2B413C2B492B2D2B4EA
-:05066A0000C2B42222D1
-:0E066F00E582A2B01392B2D2B4C2B4A2B0130C
-:0E067D0092B2D2B4C2B4A2B01392B2D2B4C23E
-:0E068B00B4A2B01392B2D2B4C2B4A2B0139211
-:0E069900B2D2B4C2B4A2B01392B2D2B4C2B400
-:0E06A700A2B01392B2D2B4C2B4A2B01392B2F7
-:0906B500D2B400C2B4F582222285
-:0D06BE0090E6007412F090E60174ABF0902D
-:0E06CB00E6707480F00090E60274E0F000909B
-:0E06D900E60374F9F00090E6047480F00090DF
-:0D06E700E60B7403F00090E610E4F00090C4
-:0D06F400E61174A0F00090E618E4F000900C
-:0E070100E6047402F00090E61274A2F000907C
-:0E070F00E61374A2F00090E61474E2F000907D
-:0E071D00E61574E2F00090E6047404F000901B
-:0E072B00E6047406F00090E6047408F00090F6
-:0E073900E604E4F00090E60BE4F00090E649E0
-:0E0747007484F00090E6497484F00090E61986
-:0E075500E4F00090E6197410F00090E63274A3
-:0E07630080F00090E6337404F00090E61A7403
-:0E0771000CF00090E6247402F00090E625E4FF
-:0E077F00F00090E6347409F00090E63574FC4A
-:0E078D00F00090E61B740CF00090E62674025B
-:0E079B00F00090E627E4F00090E6367441F09E
-:0E07A9000090E63774FCF0000090E69174803A
-:0A07B700F00090E6917480F000223B
-:0807C10090E6A0E04401F022E3
-:0E07C900AA8274805AC423541FFB740F5A90E6
-:0C07D700E6834BF090E683E04420F02223
-:0E07E30090E680E0440AF09000FA120DF690C5
-:0E07F100E65D74FFF090E65F74FFF05391EF49
-:0807FF0090E680E054F7F022BF
-:060E2200E478FFF6D8FDA4
-:060E0700751200751300D6
-:0A08070090E680E0FA30E71975145E
-:030811000075155A
-:03081400E1751675
-:0308170012751740
-:03081A00E175186D
-:03081D001C75192E
-:03082000E1751A65
-:030823006E751BD4
-:02082600E122CD
-:04082800751452757C
-:03082C0015E1755E
-:03082F00166475D7
-:0308320017E17556
-:03083500186E75C5
-:0308380019E1754E
-:03083B001A1C750F
-:03083E001BE12299
-:090841005391EF75A100D20232BF
-:0C084A00C021C0E0C0F0C082C083C0022A
-:0E085600C003C004C005C006C007C000C0013A
-:0E086400C0D075D0005391EF75A100120807A7
-:0E087200D0D0D001D000D007D006D005D004E1
-:0D088000D003D002D083D082D0F0D0E0D0E1
-:02088D00213216
-:0C088F00C021C0E0C0F0C082C083C002E5
-:0E089B00C003C004C005C006C007C000C001F5
-:0E08A900C0D075D0005391EF75A10012080762
-:0E08B700D0D0D001D000D007D006D005D0049C
-:0D08C500D003D002D083D082D0F0D0E0D09C
-:0208D2002132D1
-:0508D400120807751C6D
-:0308D90041751D49
-:0808DC0008758200120C9375EF
-:0308E4001C4A7536
-:0608E7001D0875821012CD
-:0408ED000C93751CD7
-:0308F1008F751DE3
-:0C08F40008758214120C9390E65C7431BD
-:02090000F022E3
-:0D090200E582547FFA24F75004758200222C
-:07090F00BA01047582012208
-:08091600530201E4BA000104E0
-:03091E00F582223D
-:0E092100AA82BA010C90E6A1E0FB7C008B825A
-:03092F008C832294
-:0E093200BA810C90E6A2E0FB7C008B828C83E5
-:010940002294
-:0E09410053027FEA700C90E6A0E0FB7C008B76
-:04094F00828C8322F1
-:0E09530090E6A3E0FB7C00EAC313FA7D00EA05
-:090961002BFBED3C8B82F5832297
-:0C096A00C20290E6B8E0FA530260BA0046
-:03097600028028D4
-:05097900BA2002800D10
-:05097E00BA4002800EEA
-:05098300BA60028003D0
-:03098800020C2836
-:06098B001207C1020C2856
-:0A099100120372E5826003020C28D5
-:06099B001207C1020C2846
-:0D09A10090E6B8E0FA530280BA80028003AD
-:0309AE00020B2910
-:0B09B10090E6B9E0FABA0003020AA2C7
-:0509BC00BA06028035BF
-:0509C100BA08028008E5
-:0509C600BA0A028017CF
-:0309CB00020B23F9
-:0C09CE0090E740E512F090E68AE4F0901B
-:0809DA00E68B7401F0020C2809
-:0C09E20090E740E513F090E68AE4F09006
-:0809EE00E68B7401F0020C28F5
-:0A09F60090E6BBE0FABA0102801798
-:050A0000BA020280387B
-:050A0500BA0302805954
-:050A0A00BA0602801B8A
-:050A0F00BA0702803C63
-:030A1400020A9C37
-:0A0A1700AA14AB1590E6B3EBF07BD8
-:090A21000090E6B4EAF0020C2892
-:0A0A2A00AA16AB1790E6B3EBF07BC1
-:090A34000090E6B4EAF0020C287F
-:0A0A3D00AA18AB1990E6B3EBF07BAA
-:090A47000090E6B4EAF0020C286C
-:0A0A5000AA1AAB1B90E6B3EBF07B93
-:090A5A000090E6B4EAF0020C2859
-:0E0A630090E6BAE0FA90E18EE0FBC3EA9B4019
-:070A7100061207C1020C2868
-:0C0A780090E6BAE075F002A4248FF5822D
-:0B0A840074E135F0F583E0FAA3E09088
-:0D0A8F00E6B3F07B0090E6B4EAF0020C281C
-:060A9C001207C1020C2844
-:0D0AA20090E6B8E0FA53021FBA0002800A85
-:050AAF00BA0102801BEA
-:050AB400BA0266802C6F
-:0E0AB90090E740E4F090E741F090E68AF0907C
-:080AC700E68B7402F0020C281A
-:0E0ACF0090E740E4F090E741F090E68AF09066
-:080ADD00E68B7402F0020C2804
-:0E0AE50090E6BCE0F582120902E582602590E1
-:0E0AF300E6BCE0F582120921E0FA5302019000
-:0E0B0100E740EAF090E741E4F090E68AF090D9
-:080B0F00E68B7402F0020C28D1
-:060B17001207C1020C28C8
-:060B1D001207C1020C28C2
-:060B23001207C1020C28BC
-:0C0B290090E6B9E0FA24F45003020C2519
-:070B3500EA2A2A900B3C7331
-:070B3C00020C25020B7202FE
-:060B43000BED020BCE02D7
-:060B49000C25020C250240
-:060B4F000C25020C25023A
-:060B55000C25020B6002FA
-:050B5B000C25020B69EE
-:090B600090E6BAE0F512020C283F
-:090B690090E6BAE0F513020C2835
-:0D0B720090E6B8E0FA53021FBA00028005B9
-:050B7F00BA0247800AE4
-:0A0B840090E6BAE01207C1020C2847
-:0D0B8E0090E6BAE0703090E6BCE0F582120F
-:0D0B9B000902E582602390E6BCE0F58212BD
-:0E0BA8000921AA82AB83E0FC5304FE8A828BF3
-:0E0BB60083ECF090E6BCE0F5821207C9806483
-:050BC4001207C1805F73
-:050BC9001207C1805A73
-:0E0BCE0090E6B8E0FA53021FBA004F90E6BA64
-:070BDC00E0FABA01028005F6
-:050BE300BA020280408F
-:050BE8001207C1803B73
-:0E0BED0090E6BAE0FA702C90E6BCE0F58212B9
-:0D0BFB000902E582601A90E6BCE0F5821266
-:0E0C08000921AA82AB83E0FC4304018A828B9F
-:050C160083ECF0800DED
-:050C1B001207C1800872
-:050C20001207C1800372
-:030C25001207C1F2
-:080C280090E6A0E04480F022F8
-:050C3000AA82BA0300D6
-:070C35004005EA249C500178
-:010C3C002295
-:090C3D00740F5AFBBB030280078F
-:070C4600740F5AFBBB0B45C4
-:0A0C4D00A2AF9203C2AFEA2400F543
-:0C0C570082E43400F5837402F07B00742A
-:0C0C6300012AFCE43BFDEC2400F582EDCE
-:0A0C6F003400F583E51DFCF074026B
-:0C0C79002AFAE43BFBEA2400F582EB348D
-:0A0C850000F583AA1C7B00EAF0A230
-:030C8F000392AF1E
-:010C9200223F
-:080C9300E582FA2483500122DE
-:060C9B00EA54036001228F
-:0A0CA100A2AF9204C2AFEA2400F5EE
-:0C0CAB0082E43401F5837402F07B0074D5
-:0C0CB700012AFCE43BFDEC2400F582ED7A
-:0A0CC3003401F583E51DF074022AE8
-:0B0CCD00FAE43BFBEA2400F582EB3464
-:080CD80001F583AA1CEAF0A259
-:040CE0000492AF22A9
-:050CE400AA82BA8000A5
-:070CE9004005EA244B500115
-:010CF00022E1
-:060CF100EA540360012239
-:0A0CF700A2AF9205C2AFEA2480F517
-:0C0D010082E43400F5837402F07B00747F
-:0C0D0D00012AFCE43BFDEC2480F582EDA3
-:0A0D19003400F583E51DF074022A92
-:0B0D2300FAE43BFBEA2480F582EB348D
-:080D2E0000F583AA1CEAF0A203
-:040D36000592AF2251
-:080D3A00C2E8C2EA751C007555
-:060D42001D017582431241
-:040D48000C30751CDA
-:030D4C0080751D92
-:0C0D4F0000758253120C300090E650E456
-:0E0D5B00F00090E652E4F00090E654E4F00060
-:0E0D690090E656E4F00090E65174FFF0009022
-:0E0D7700E65374FFF00090E65574FFF0009014
-:0E0D8500E65774FFF00090E658E4F090E6594F
-:0E0D930074FFF090E65AE4F090E65B74FFF017
-:0E0DA10090E65CE4F090E65D74FFF090E65E94
-:0E0DAF00E4F090E65F74FFF00090E660E4F080
-:0D0DBD000090E66174FFF090E662E4F090B3
-:0E0DCA00E66374FFF090E665E4F090E668746E
-:0A0DD8000BF05391AFD2E8D2EA22EB
-:010DE20022EE
-:020DE300AA82E2
-:060DE500120DE2DAFB2210
-:030DEB0090FB502A
-:080DEE00A3E582458370F922A0
-:040DF600AA82AB839F
-:080DFA00120DEB1ABAFF011BF8
-:050E0200EA4B70F42230
-:030E1500758121C3
-:0A0E18001205D5E5826003020E10FA
-:00000001FF
Index: tools/fx2/bin/nexys3_jtag_3fifo_as.ihx
===================================================================
--- tools/fx2/bin/nexys3_jtag_3fifo_as.ihx (revision 17)
+++ tools/fx2/bin/nexys3_jtag_3fifo_as.ihx (nonexistent)
@@ -1,446 +0,0 @@
-:06000000020E0202006B7B
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030E0800020E10C7
-:030E2300020E0BB1
-:050E0B001203F180FE5E
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C00112062DD001D000D005D0FE
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066A1201AAD005D0046C
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120601C3
-:06034C00D005D004801072
-:0E0352008A82C004C00512061F1201AAD0053F
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E6003002031209655C
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206B9121C
-:0603FA000450120D351243
-:0804000008CFD2AF1207DE02A3
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E19EE0F58212040AD0029028
-:0D04EC00E19EE02AFAF582C00212040A9097
-:0B04F900E1BCE0F58212040AD0029082
-:0A050400E1BCE02AF58212040A901F
-:0A050E00E1E6E0F58212040A7A002B
-:0E05180090E19EE0FBC3EA64808BF063F0800C
-:0B05260095F05017EA249EF582E434A3
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1BCE0FBC3EA64808BF063F080C3
-:0B05510095F05017EA24BCF582E4345A
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1E6E0FBC3EA64808BF063F0806E
-:0B057C0095F05017EA24E6F582E43405
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009023500010100BA
-:0EE1230080FA0904000005FFFFFF02070581D6
-:0EE131000200020007050202000200070504BA
-:0EE13F000200020007058602000200070588A4
-:04E14D0002000200CA
-:0EE152001201000200000040C016EF0304009E
-:04E1600001020301B4
-:0AE164000A060002FFFFFF40010061
-:0EE16E000902200001010080FA0904000002ED
-:0EE17C00FFFFFF0207058102400000070502B9
-:04E18A00024000004F
-:01E18E00048C
-:02E18F0098E115
-:02E191009EE10D
-:02E19300BCE1ED
-:02E19500E6E1C1
-:06E198000603000009046B
-:0EE19E001E037700770077002E0072006500E8
-:0EE1AC00740072006F00310031002E0064001C
-:02E1BA006500FE
-:0EE1BC002A036E0065007800790073003300BE
-:0EE1CA005F006A007400610067005F003300B0
-:0EE1D8006600690066006F005F006100730062
-:0EE1E6001203300030003000300030003000F6
-:04E1F40030003000C7
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0605FB009001F4020DF175
-:0E060100AA82ABB574FE5BF5F0741C45F0F5F3
-:0E060F00B5EA1392B4EAA2E192B3EAA2E49231
-:02061D00B22207
-:0E061F00120601A2B0E433FA74024AF58222F8
-:0E062D00E5821392B2D2B413C2B492B2D2B428
-:0E063B0013C2B492B2D2B413C2B492B2D2B40B
-:0E06490013C2B492B2D2B413C2B492B2D2B4FD
-:0E06570013C2B492B2D2B413C2B492B2D2B4EF
-:0506650000C2B42222D6
-:0E066A00E582A2B01392B2D2B4C2B4A2B01311
-:0E06780092B2D2B4C2B4A2B01392B2D2B4C243
-:0E068600B4A2B01392B2D2B4C2B4A2B0139216
-:0E069400B2D2B4C2B4A2B01392B2D2B4C2B405
-:0E06A200A2B01392B2D2B4C2B4A2B01392B2FC
-:0906B000D2B400C2B4F58222228A
-:0D06B90090E6007412F090E60174ABF09032
-:0E06C600E6707480F00090E60274E0F00090A0
-:0E06D400E60374F9F00090E6047480F00090E4
-:0D06E200E60B7403F00090E610E4F00090C9
-:0D06EF00E61174A0F00090E618E4F0009011
-:0E06FC00E6047402F00090E61274A2F0009082
-:0E070A00E61374A2F00090E61474E2F0009082
-:0E071800E61574E2F00090E6047404F0009020
-:0E072600E6047406F00090E6047408F00090FB
-:0E073400E604E4F00090E60BE4F00090E649E5
-:0E0742007484F00090E6497484F00090E6198B
-:0E075000E4F00090E6197410F00090E63274A8
-:0E075E0080F00090E6337404F00090E61A7408
-:0E076C000CF00090E6247402F00090E625E404
-:0E077A00F00090E6347409F00090E63574FC4F
-:0E078800F00090E61B740CF00090E626740260
-:0E079600F00090E627E4F00090E6367441F0A3
-:0E07A4000090E63774FCF0000090E69174803F
-:0A07B200F00090E6917480F0002240
-:0807BC0090E6A0E04401F022E8
-:0E07C400AA8274805AC423541FFB740F5A90EB
-:0C07D200E6834BF090E683E04420F02228
-:0E07DE0090E680E0440AF09000FA120DF190CF
-:0E07EC00E65D74FFF090E65F74FFF05391EF4E
-:0807FA0090E680E054F7F022C4
-:060E1D00E478FFF6D8FDA9
-:060E0200751200751300DB
-:0A08020090E680E0FA30E719751463
-:03080C000075155F
-:03080F00E175167A
-:0308120012751745
-:03081500E1751872
-:030818001C751933
-:03081B00E1751A6A
-:03081E006E751BD9
-:02082100E122D2
-:040823007514527581
-:0308270015E17563
-:03082A00166475DC
-:03082D0017E1755B
-:03083000186E75CA
-:0308330019E17553
-:030836001A1C7514
-:030839001BE1229E
-:09083C005391EF75A100D20232C4
-:0C084500C021C0E0C0F0C082C083C0022F
-:0E085100C003C004C005C006C007C000C0013F
-:0E085F00C0D075D0005391EF75A100120802B1
-:0E086D00D0D0D001D000D007D006D005D004E6
-:0D087B00D003D002D083D082D0F0D0E0D0E6
-:0208880021321B
-:0C088A00C021C0E0C0F0C082C083C002EA
-:0E089600C003C004C005C006C007C000C001FA
-:0E08A400C0D075D0005391EF75A1001208026C
-:0E08B200D0D0D001D000D007D006D005D004A1
-:0D08C000D003D002D083D082D0F0D0E0D0A1
-:0208CD002132D6
-:0508CF00120802751C77
-:0308D4003C751D53
-:0808D70008758200120C8E75F9
-:0308DF001C457540
-:0608E2001D0875821012D2
-:0408E8000C8E751CE1
-:0308EC008A751DED
-:0C08EF0008758214120C8E90E65C7431C7
-:0208FB00F022E9
-:0D08FD00E582547FFA24F750047582002232
-:07090A00BA0104758201220D
-:08091100530201E4BA000104E5
-:03091900F5822242
-:0E091C00AA82BA010C90E6A1E0FB7C008B825F
-:03092A008C832299
-:0E092D00BA810C90E6A2E0FB7C008B828C83EA
-:01093B002299
-:0E093C0053027FEA700C90E6A0E0FB7C008B7B
-:04094A00828C8322F6
-:0E094E0090E6A3E0FB7C00EAC313FA7D00EA0A
-:09095C002BFBED3C8B82F583229C
-:0C096500C20290E6B8E0FA530260BA004B
-:03097100028028D9
-:05097400BA2002800D15
-:05097900BA4002800EEF
-:05097E00BA60028003D5
-:03098300020C2340
-:060986001207BC020C2365
-:0A098C00120372E5826003020C23DF
-:060996001207BC020C2355
-:0D099C0090E6B8E0FA530280BA80028003B2
-:0309A900020B241A
-:0B09AC0090E6B9E0FABA0003020A9DD1
-:0509B700BA06028035C4
-:0509BC00BA08028008EA
-:0509C100BA0A028017D4
-:0309C600020B1E03
-:0C09C90090E740E512F090E68AE4F09020
-:0809D500E68B7401F0020C2313
-:0C09DD0090E740E513F090E68AE4F0900B
-:0809E900E68B7401F0020C23FF
-:0A09F10090E6BBE0FABA010280179D
-:0509FB00BA0202803881
-:050A0000BA0302805959
-:050A0500BA0602801B8F
-:050A0A00BA0702803C68
-:030A0F00020A9741
-:0A0A1200AA14AB1590E6B3EBF07BDD
-:090A1C000090E6B4EAF0020C239C
-:0A0A2500AA16AB1790E6B3EBF07BC6
-:090A2F000090E6B4EAF0020C2389
-:0A0A3800AA18AB1990E6B3EBF07BAF
-:090A42000090E6B4EAF0020C2376
-:0A0A4B00AA1AAB1B90E6B3EBF07B98
-:090A55000090E6B4EAF0020C2363
-:0E0A5E0090E6BAE0FA90E18EE0FBC3EA9B401E
-:070A6C00061207BC020C2377
-:0C0A730090E6BAE075F002A4248FF58232
-:0B0A7F0074E135F0F583E0FAA3E0908D
-:0D0A8A00E6B3F07B0090E6B4EAF0020C2326
-:060A97001207BC020C2353
-:0D0A9D0090E6B8E0FA53021FBA0002800A8A
-:050AAA00BA0102801BEF
-:050AAF00BA0266802C74
-:0E0AB40090E740E4F090E741F090E68AF09081
-:080AC200E68B7402F0020C2324
-:0E0ACA0090E740E4F090E741F090E68AF0906B
-:080AD800E68B7402F0020C230E
-:0E0AE00090E6BCE0F5821208FDE582602590EC
-:0E0AEE00E6BCE0F58212091CE0FA530201900A
-:0E0AFC00E740EAF090E741E4F090E68AF090DF
-:080B0A00E68B7402F0020C23DB
-:060B12001207BC020C23D7
-:060B18001207BC020C23D1
-:060B1E001207BC020C23CB
-:0C0B240090E6B9E0FA24F45003020C2023
-:070B3000EA2A2A900B37733B
-:070B3700020C20020B6D020D
-:060B3E000BE8020BC902E6
-:060B44000C20020C20024F
-:060B4A000C20020C200249
-:060B50000C20020B5B0209
-:050B56000C20020B64FD
-:090B5B0090E6BAE0F512020C2349
-:090B640090E6BAE0F513020C233F
-:0D0B6D0090E6B8E0FA53021FBA00028005BE
-:050B7A00BA0247800AE9
-:0A0B7F0090E6BAE01207BC020C2356
-:0D0B890090E6BAE0703090E6BCE0F5821214
-:0D0B960008FDE582602390E6BCE0F58212C8
-:0E0BA300091CAA82AB83E0FC5304FE8A828BFD
-:0E0BB10083ECF090E6BCE0F5821207C480648D
-:050BBF001207BC805F7D
-:050BC4001207BC805A7D
-:0E0BC90090E6B8E0FA53021FBA004F90E6BA69
-:070BD700E0FABA01028005FB
-:050BDE00BA0202804094
-:050BE3001207BC803B7D
-:0E0BE80090E6BAE0FA702C90E6BCE0F58212BE
-:0D0BF60008FDE582601A90E6BCE0F5821271
-:0E0C0300091CAA82AB83E0FC4304018A828BA9
-:050C110083ECF0800DF2
-:050C16001207BC80087C
-:050C1B001207BC80037C
-:030C20001207BCFC
-:080C230090E6A0E04480F022FD
-:050C2B00AA82BA0300DB
-:070C30004005EA249C50017D
-:010C3700229A
-:090C3800740F5AFBBB0302800794
-:070C4100740F5AFBBB0B45C9
-:0A0C4800A2AF9203C2AFEA2400F548
-:0C0C520082E43400F5837402F07B00742F
-:0C0C5E00012AFCE43BFDEC2400F582EDD3
-:0A0C6A003400F583E51DFCF0740270
-:0C0C74002AFAE43BFBEA2400F582EB3492
-:0A0C800000F583AA1C7B00EAF0A235
-:030C8A000392AF23
-:010C8D002244
-:080C8E00E582FA2483500122E3
-:060C9600EA540360012294
-:0A0C9C00A2AF9204C2AFEA2400F5F3
-:0C0CA60082E43401F5837402F07B0074DA
-:0C0CB200012AFCE43BFDEC2400F582ED7F
-:0A0CBE003401F583E51DF074022AED
-:0B0CC800FAE43BFBEA2400F582EB3469
-:080CD30001F583AA1CEAF0A25E
-:040CDB000492AF22AE
-:050CDF00AA82BA8000AA
-:070CE4004005EA244B50011A
-:010CEB0022E6
-:060CEC00EA54036001223E
-:0A0CF200A2AF9205C2AFEA2480F51C
-:0C0CFC0082E43400F5837402F07B007485
-:0C0D0800012AFCE43BFDEC2480F582EDA8
-:0A0D14003400F583E51DF074022A97
-:0B0D1E00FAE43BFBEA2480F582EB3492
-:080D290000F583AA1CEAF0A208
-:040D31000592AF2256
-:080D3500C2E8C2EA751C00755A
-:060D3D001D017582431246
-:040D43000C2B751CE4
-:030D470080751D97
-:0C0D4A0000758253120C2B0090E650E460
-:0E0D5600F00090E652E4F00090E654E4F00065
-:0E0D640090E656E4F00090E65174FFF0009027
-:0E0D7200E65374FFF00090E65574FFF0009019
-:0E0D8000E65774FFF00090E658E4F090E65954
-:0E0D8E0074FFF090E65AE4F090E65B74FFF01C
-:0E0D9C0090E65CE4F090E65D74FFF090E65E99
-:0E0DAA00E4F090E65F74FFF00090E660E4F085
-:0D0DB8000090E66174FFF090E662E4F090B8
-:0E0DC500E66374FFF090E665E4F090E6687473
-:0A0DD3000BF05391AFD2E8D2EA22F0
-:010DDD0022F3
-:020DDE00AA82E7
-:060DE000120DDDDAFB221A
-:030DE60090FB502F
-:080DE900A3E582458370F922A5
-:040DF100AA82AB83A4
-:080DF500120DE61ABAFF011B02
-:050DFD00EA4B70F42236
-:030E1000758121C8
-:0A0E13001205D5E5826003020E0B04
-:00000001FF
Index: tools/fx2/bin/nexys2_jtag.ihx
===================================================================
--- tools/fx2/bin/nexys2_jtag.ihx (revision 17)
+++ tools/fx2/bin/nexys2_jtag.ihx (nonexistent)
@@ -1,437 +0,0 @@
-:06000000020DAC02006BD2
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030DB200020DBA75
-:030DCD00020DB55F
-:050DB5001203F180FEB5
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C001120632D001D000D005D0F9
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066F1201AAD005D00467
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120606BE
-:06034C00D005D004801072
-:0E0352008A82C004C0051206241201AAD0053A
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312090FB2
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206BE1217
-:0603FA000450120CDF129A
-:080400000879D2AF120788024F
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E188E0F58212040AD002903E
-:0D04EC00E188E02AFAF582C00212040A90AD
-:0B04F900E1A6E0F58212040AD0029098
-:0A050400E1A6E02AF58212040A9035
-:0A050E00E1BEE0F58212040A7A0053
-:0E05180090E188E0FBC3EA64808BF063F08022
-:0B05260095F05017EA2488F582E434B9
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1A6E0FBC3EA64808BF063F080D9
-:0B05510095F05017EA24A6F582E43470
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1BEE0FBC3EA64808BF063F08096
-:0B057C0095F05017EA24BEF582E4342D
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009022000010100CF
-:0EE1230080FA0904000002FFFFFF02070581D9
-:0BE131000200020007050202000200CD
-:0EE13C001201000200000040C016EF030400B4
-:04E14A0001020301CA
-:0AE14E000A060002FFFFFF40010077
-:0EE158000902200001010080FA090400000203
-:0EE16600FFFFFF0207058102400000070502CF
-:04E174000240000065
-:01E1780004A2
-:02E1790082E141
-:02E17B0088E139
-:02E17D00A6E119
-:02E17F00BEE1FF
-:06E1820006030000090481
-:0EE188001E037700770077002E0072006500FE
-:0EE19600740072006F00310031002E00640032
-:02E1A400650014
-:0EE1A60018036E0065007800790073003200E7
-:0AE1B4005F006A007400610067005C
-:0EE1BE0012033000300030003000300030001E
-:04E1CC0030003000EF
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0B05FB00D2B775B5809001F4020D9B93
-:0E060600AA82ABB574FE5BF5F0741C45F0F5EE
-:0E061400B5EA1392B4EAA2E192B3EAA2E4922C
-:02062200B22202
-:0E062400120606A2B0E433FA74024AF58222EE
-:0E063200E5821392B2D2B413C2B492B2D2B423
-:0E06400013C2B492B2D2B413C2B492B2D2B406
-:0E064E0013C2B492B2D2B413C2B492B2D2B4F8
-:0E065C0013C2B492B2D2B413C2B492B2D2B4EA
-:05066A0000C2B42222D1
-:0E066F00E582A2B01392B2D2B4C2B4A2B0130C
-:0E067D0092B2D2B4C2B4A2B01392B2D2B4C23E
-:0E068B00B4A2B01392B2D2B4C2B4A2B0139211
-:0E069900B2D2B4C2B4A2B01392B2D2B4C2B400
-:0E06A700A2B01392B2D2B4C2B4A2B01392B2F7
-:0906B500D2B400C2B4F582222285
-:0D06BE0090E6007412F090E60174ABF0902D
-:0E06CB00E6707480F00090E60274E0F000909B
-:0E06D900E60374F9F00090E6047480F00090DF
-:0D06E700E60B7403F00090E610E4F00090C4
-:0D06F400E61174A0F00090E618E4F000900C
-:0E070100E6047402F00090E61274A2F000907C
-:0E070F00E6137402F00090E6147402F00090FD
-:0E071D00E6157402F00090E6047404F00090FB
-:0E072B00E6047406F00090E6047408F00090F6
-:0E073900E604E4F00090E619E4F00090E61A01
-:0E074700E4F00090E61BE4F00090E60BE4F016
-:0E075500000090E6917480F00090E6917480B0
-:03076300F0002281
-:0807660090E6A0E04401F0223E
-:0E076E00AA8274805AC423541FFB740F5A9041
-:0C077C00E6834BF090E683E04420F0227E
-:0E07880090E680E0440AF09000FA120D9B907B
-:0E079600E65D74FFF090E65F74FFF05391EFA4
-:0807A40090E680E054F7F0221A
-:060DC700E478FFF6D8FD00
-:060DAC0075120075130032
-:0A07AC0090E680E0FA30E7197514BA
-:0307B600007515B6
-:0307B900E17516D1
-:0307BC001275179C
-:0307BF00E17518C9
-:0307C2001C75198A
-:0307C500E1751AC1
-:0307C80058751B46
-:0207CB00E12229
-:0407CD0075143C75EE
-:0307D10015E175BA
-:0307D400164E7549
-:0307D70017E175B2
-:0307DA0018587537
-:0307DD0019E175AA
-:0307E0001A1C756B
-:0307E3001BE122F5
-:0907E6005391EF75A100D202321B
-:0C07EF00C021C0E0C0F0C082C083C00286
-:0E07FB00C003C004C005C006C007C000C00196
-:0E080900C0D075D0005391EF75A1001207AC5E
-:0E081700D0D0D001D000D007D006D005D0043C
-:0D082500D003D002D083D082D0F0D0E0D03C
-:02083200213271
-:0C083400C021C0E0C0F0C082C083C00240
-:0E084000C003C004C005C006C007C000C00150
-:0E084E00C0D075D0005391EF75A1001207AC19
-:0E085C00D0D0D001D000D007D006D005D004F7
-:0D086A00D003D002D083D082D0F0D0E0D0F7
-:0208770021322C
-:050879001207AC751C24
-:03087E00E6751DFF
-:0808810007758200120C3875A6
-:030889001CEF75EC
-:06088C001D077582101229
-:040892000C38751C8D
-:0308960034751D99
-:0C08990008758214120C3890E65C743173
-:0208A500F0223F
-:0D08A700E582547FFA24F750047582002288
-:0708B400BA01047582012264
-:0808BB00530201E4BA0001043C
-:0308C300F5822299
-:0E08C600AA82BA010C90E6A1E0FB7C008B82B6
-:0308D4008C8322F0
-:0E08D700BA810C90E6A2E0FB7C008B828C8341
-:0108E50022F0
-:0E08E60053027FEA700C90E6A0E0FB7C008BD2
-:0408F400828C83224D
-:0E08F80090E6A3E0FB7C00EAC313FA7D00EA61
-:090906002BFBED3C8B82F58322F2
-:0C090F00C20290E6B8E0FA530260BA00A1
-:03091B000280282F
-:05091E00BA2002800D6B
-:05092300BA4002800E45
-:05092800BA600280032B
-:03092D00020BCDED
-:06093000120766020BCD68
-:0A093600120372E5826003020BCD8C
-:06094000120766020BCD58
-:0D09460090E6B8E0FA530280BA8002800308
-:03095300020ACEC7
-:0B09560090E6B9E0FABA0003020A477D
-:05096100BA060280351A
-:05096600BA0802800840
-:05096B00BA0A0280172A
-:03097000020AC8B0
-:0C09730090E740E512F090E68AE4F09076
-:08097F00E68B7401F0020BCDC0
-:0C09870090E740E513F090E68AE4F09061
-:08099300E68B7401F0020BCDAC
-:0A099B0090E6BBE0FABA01028017F3
-:0509A500BA02028038D7
-:0509AA00BA03028059B0
-:0509AF00BA0602801BE6
-:0509B400BA0702803CBF
-:0309B900020A41EE
-:0A09BC00AA14AB1590E6B3EBF07B34
-:0909C6000090E6B4EAF0020BCD4A
-:0A09CF00AA16AB1790E6B3EBF07B1D
-:0909D9000090E6B4EAF0020BCD37
-:0A09E200AA18AB1990E6B3EBF07B06
-:0909EC000090E6B4EAF0020BCD24
-:0A09F500AA1AAB1B90E6B3EBF07BEF
-:0909FF000090E6B4EAF0020BCD11
-:0E0A080090E6BAE0FA90E178E0FBC3EA9B408A
-:070A160006120766020BCD7A
-:0C0A1D0090E6BAE075F002A42479F5829E
-:0B0A290074E135F0F583E0FAA3E090E3
-:0D0A3400E6B3F07B0090E6B4EAF0020BCDD3
-:060A4100120766020BCD56
-:0D0A470090E6B8E0FA53021FBA0002800AE0
-:050A5400BA0102801B45
-:050A5900BA0266802CCA
-:0E0A5E0090E740E4F090E741F090E68AF090D7
-:080A6C00E68B7402F0020BCDD1
-:0E0A740090E740E4F090E741F090E68AF090C1
-:080A8200E68B7402F0020BCDBB
-:0E0A8A0090E6BCE0F5821208A7E58260259098
-:0E0A9800E6BCE0F5821208C6E0FA53020190B7
-:0E0AA600E740EAF090E741E4F090E68AF09035
-:080AB400E68B7402F0020BCD89
-:060ABC00120766020BCDDB
-:060AC200120766020BCDD5
-:060AC800120766020BCDCF
-:0C0ACE0090E6B9E0FA24F45003020BCAD1
-:070ADA00EA2A2A900AE173E9
-:070AE100020BCA020B170211
-:060AE8000B92020B7302E9
-:060AEE000BCA020BCA0254
-:060AF4000BCA020BCA024E
-:060AFA000BCA020B05020D
-:050B00000BCA020B0E00
-:090B050090E6BAE0F512020BCDF6
-:090B0E0090E6BAE0F513020BCDEC
-:0D0B170090E6B8E0FA53021FBA0002800514
-:050B2400BA0247800A3F
-:0A0B290090E6BAE0120766020BCD59
-:0D0B330090E6BAE0703090E6BCE0F582126A
-:0D0B400008A7E582602390E6BCE0F5821274
-:0E0B4D0008C6AA82AB83E0FC5304FE8A828BAA
-:0E0B5B0083ECF090E6BCE0F58212076E806439
-:050B6900120766805F29
-:050B6E00120766805A29
-:0E0B730090E6B8E0FA53021FBA004F90E6BABF
-:070B8100E0FABA0102800551
-:050B8800BA02028040EA
-:050B8D00120766803B29
-:0E0B920090E6BAE0FA702C90E6BCE0F5821214
-:0D0BA00008A7E582601A90E6BCE0F582121D
-:0E0BAD0008C6AA82AB83E0FC4304018A828B57
-:050BBB0083ECF0800D49
-:050BC000120766800829
-:050BC500120766800329
-:030BCA00120766A9
-:080BCD0090E6A0E04480F02254
-:050BD500AA82BA030032
-:070BDA004005EA249C5001D4
-:010BE10022F1
-:090BE200740F5AFBBB03028007EB
-:070BEB00740F5AFBBB0B4520
-:0A0BF200A2AF9203C2AFEA2400F59F
-:0C0BFC0082E43400F5837402F07B007486
-:0C0C0800012AFCE43BFDEC2400F582ED29
-:0A0C14003400F583E51DFCF07402C6
-:0C0C1E002AFAE43BFBEA2400F582EB34E8
-:0A0C2A0000F583AA1C7B00EAF0A28B
-:030C34000392AF79
-:010C3700229A
-:080C3800E582FA248350012239
-:060C4000EA5403600122EA
-:0A0C4600A2AF9204C2AFEA2400F549
-:0C0C500082E43401F5837402F07B007430
-:0C0C5C00012AFCE43BFDEC2400F582EDD5
-:0A0C68003401F583E51DF074022A43
-:0B0C7200FAE43BFBEA2400F582EB34BF
-:080C7D0001F583AA1CEAF0A2B4
-:040C85000492AF2204
-:050C8900AA82BA800000
-:070C8E004005EA244B500170
-:010C9500223C
-:060C9600EA540360012294
-:0A0C9C00A2AF9205C2AFEA2480F572
-:0C0CA60082E43400F5837402F07B0074DB
-:0C0CB200012AFCE43BFDEC2480F582EDFF
-:0A0CBE003400F583E51DF074022AEE
-:0B0CC800FAE43BFBEA2480F582EB34E9
-:080CD30000F583AA1CEAF0A25F
-:040CDB000592AF22AD
-:080CDF00C2E8C2EA751C0075B1
-:060CE7001D01758243129D
-:040CED000BD5751C92
-:030CF10080751DEE
-:0C0CF40000758253120BD50090E650E40E
-:0E0D0000F00090E652E4F00090E654E4F000BB
-:0E0D0E0090E656E4F00090E65174FFF000907D
-:0E0D1C00E65374FFF00090E65574FFF000906F
-:0E0D2A00E65774FFF00090E658E4F090E659AA
-:0E0D380074FFF090E65AE4F090E65B74FFF072
-:0E0D460090E65CE4F090E65D74FFF090E65EEF
-:0E0D5400E4F090E65F74FFF00090E660E4F0DB
-:0D0D62000090E66174FFF090E662E4F0900E
-:0E0D6F00E66374FFF090E665E4F090E66874C9
-:0A0D7D000BF05391AFD2E8D2EA2246
-:010D87002249
-:020D8800AA823D
-:060D8A00120D87DAFB22C6
-:030D900090FB5085
-:080D9300A3E582458370F922FB
-:040D9B00AA82AB83FA
-:080D9F00120D901ABAFF011BAE
-:050DA700EA4B70F4228C
-:030DBA007581211F
-:0A0DBD001205D5E5826003020DB5B2
-:00000001FF
Index: tools/fx2/bin/nexys2_jtag_2fifo_ic.ihx
===================================================================
--- tools/fx2/bin/nexys2_jtag_2fifo_ic.ihx (revision 17)
+++ tools/fx2/bin/nexys2_jtag_2fifo_ic.ihx (nonexistent)
@@ -1,443 +0,0 @@
-:06000000020DEB02006B93
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030DF100020DF9F7
-:030E0C00020DF4E0
-:050DF4001203F180FE76
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C001120632D001D000D005D0F9
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066F1201AAD005D00467
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120606BE
-:06034C00D005D004801072
-:0E0352008A82C004C0051206241201AAD0053A
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312094E73
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206BE1217
-:0603FA000450120D1E125A
-:0804000008B8D2AF1207C702D1
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E196E0F58212040AD0029030
-:0D04EC00E196E02AFAF582C00212040A909F
-:0B04F900E1B4E0F58212040AD002908A
-:0A050400E1B4E02AF58212040A9027
-:0A050E00E1DEE0F58212040A7A0033
-:0E05180090E196E0FBC3EA64808BF063F08014
-:0B05260095F05017EA2496F582E434AB
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1B4E0FBC3EA64808BF063F080CB
-:0B05510095F05017EA24B4F582E43462
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1DEE0FBC3EA64808BF063F08076
-:0B057C0095F05017EA24DEF582E4340D
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009022E00010100C1
-:0EE1230080FA0904000004FFFFFF02070581D7
-:0EE131000200020007050202000200070504BA
-:0BE13F0002000200070586020002003B
-:0EE14A001201000200000040C016EF030400A6
-:04E1580001020301BC
-:0AE15C000A060002FFFFFF40010069
-:0EE166000902200001010080FA0904000002F5
-:0EE17400FFFFFF0207058102400000070502C1
-:04E182000240000057
-:01E186000494
-:02E1870090E125
-:02E1890096E11D
-:02E18B00B4E1FD
-:02E18D00DEE1D1
-:06E1900006030000090473
-:0EE196001E037700770077002E0072006500F0
-:0EE1A400740072006F00310031002E00640024
-:02E1B200650006
-:0EE1B4002A036E0065007800790073003200C7
-:0EE1C2005F006A007400610067005F003200B9
-:0EE1D0006600690066006F005F006900630072
-:0EE1DE001203300030003000300030003000FE
-:04E1EC0030003000CF
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0B05FB00D2B775B5809001F4020DDA54
-:0E060600AA82ABB574FE5BF5F0741C45F0F5EE
-:0E061400B5EA1392B4EAA2E192B3EAA2E4922C
-:02062200B22202
-:0E062400120606A2B0E433FA74024AF58222EE
-:0E063200E5821392B2D2B413C2B492B2D2B423
-:0E06400013C2B492B2D2B413C2B492B2D2B406
-:0E064E0013C2B492B2D2B413C2B492B2D2B4F8
-:0E065C0013C2B492B2D2B413C2B492B2D2B4EA
-:05066A0000C2B42222D1
-:0E066F00E582A2B01392B2D2B4C2B4A2B0130C
-:0E067D0092B2D2B4C2B4A2B01392B2D2B4C23E
-:0E068B00B4A2B01392B2D2B4C2B4A2B0139211
-:0E069900B2D2B4C2B4A2B01392B2D2B4C2B400
-:0E06A700A2B01392B2D2B4C2B4A2B01392B2F7
-:0906B500D2B400C2B4F582222285
-:0D06BE0090E6007412F090E60174A3F09035
-:0E06CB00E6707480F00090E60274E0F000909B
-:0E06D900E60374F9F00090E6047480F00090DF
-:0D06E700E60B7403F00090E610E4F00090C4
-:0D06F400E61174A0F00090E618E4F000900C
-:0E070100E6047402F00090E61274A2F000907C
-:0E070F00E61374A2F00090E61474E0F000907F
-:0E071D00E6157402F00090E6047404F00090FB
-:0E072B00E6047406F00090E6047408F00090F6
-:0E073900E604E4F00090E60BE4F00090E649E0
-:0E0747007484F00090E6497484F00090E61986
-:0E075500E4F00090E6197410F00090E63274A3
-:0E07630080F00090E6337404F00090E61A7403
-:0E0771000CF00090E6247402F00090E625E4FF
-:0E077F00F00090E6347419F00090E63574FC3A
-:0E078D00F00090E61BE4F0000090E69174800E
-:0A079B00F00090E6917480F0002257
-:0807A50090E6A0E04401F022FF
-:0E07AD00AA8274805AC423541FFB740F5A9002
-:0C07BB00E6834BF090E683E04420F0223F
-:0E07C70090E680E0440AF09000FA120DDA90FD
-:0E07D500E65D74FFF090E65F74FFF05391EF65
-:0807E30090E680E054F7F022DB
-:060E0600E478FFF6D8FDC0
-:060DEB00751200751300F3
-:0A07EB0090E680E0FA30E71975147B
-:0307F50000751577
-:0307F800E1751692
-:0307FB001275175D
-:0307FE00E175188A
-:030801001C75194A
-:03080400E1751A81
-:0308070066751BF8
-:02080A00E122E9
-:04080C0075144A75A0
-:0308100015E1757A
-:03081300165C75FB
-:0308160017E17572
-:03081900186675E9
-:03081C0019E1756A
-:03081F001A1C752B
-:030822001BE122B5
-:090825005391EF75A100D20232DB
-:0C082E00C021C0E0C0F0C082C083C00246
-:0E083A00C003C004C005C006C007C000C00156
-:0E084800C0D075D0005391EF75A1001207EBE0
-:0E085600D0D0D001D000D007D006D005D004FD
-:0D086400D003D002D083D082D0F0D0E0D0FD
-:02087100213232
-:0C087300C021C0E0C0F0C082C083C00201
-:0E087F00C003C004C005C006C007C000C00111
-:0E088D00C0D075D0005391EF75A1001207EB9B
-:0E089B00D0D0D001D000D007D006D005D004B8
-:0D08A900D003D002D083D082D0F0D0E0D0B8
-:0208B6002132ED
-:0508B8001207EB751CA6
-:0308BD0025751D81
-:0808C00008758200120C777527
-:0308C8001C2E756E
-:0608CB001D0875821012E9
-:0408D1000C77751C0F
-:0308D50073751D1B
-:0C08D80008758214120C7790E65C7431F5
-:0208E400F02200
-:0D08E600E582547FFA24F750047582002249
-:0708F300BA01047582012225
-:0808FA00530201E4BA000104FD
-:03090200F5822259
-:0E090500AA82BA010C90E6A1E0FB7C008B8276
-:030913008C8322B0
-:0E091600BA810C90E6A2E0FB7C008B828C8301
-:0109240022B0
-:0E09250053027FEA700C90E6A0E0FB7C008B92
-:04093300828C83220D
-:0E09370090E6A3E0FB7C00EAC313FA7D00EA21
-:090945002BFBED3C8B82F58322B3
-:0C094E00C20290E6B8E0FA530260BA0062
-:03095A00028028F0
-:05095D00BA2002800D2C
-:05096200BA4002800E06
-:05096700BA60028003EC
-:03096C00020C0C6E
-:06096F001207A5020C0CAA
-:0A097500120372E5826003020C0C0D
-:06097F001207A5020C0C9A
-:0D09850090E6B8E0FA530280BA80028003C9
-:03099200020B0D48
-:0B09950090E6B9E0FABA0003020A86FF
-:0509A000BA06028035DB
-:0509A500BA0802800801
-:0509AA00BA0A028017EB
-:0309AF00020B0731
-:0C09B20090E740E512F090E68AE4F09037
-:0809BE00E68B7401F0020C0C41
-:0C09C60090E740E513F090E68AE4F09022
-:0809D200E68B7401F0020C0C2D
-:0A09DA0090E6BBE0FABA01028017B4
-:0509E400BA0202803898
-:0509E900BA0302805971
-:0509EE00BA0602801BA7
-:0509F300BA0702803C80
-:0309F800020A8070
-:0A09FB00AA14AB1590E6B3EBF07BF5
-:090A05000090E6B4EAF0020C0CCA
-:0A0A0E00AA16AB1790E6B3EBF07BDD
-:090A18000090E6B4EAF0020C0CB7
-:0A0A2100AA18AB1990E6B3EBF07BC6
-:090A2B000090E6B4EAF0020C0CA4
-:0A0A3400AA1AAB1B90E6B3EBF07BAF
-:090A3E000090E6B4EAF0020C0C91
-:0E0A470090E6BAE0FA90E186E0FBC3EA9B403D
-:070A5500061207A5020C0CBC
-:0C0A5C0090E6BAE075F002A42487F58251
-:0B0A680074E135F0F583E0FAA3E090A4
-:0D0A7300E6B3F07B0090E6B4EAF0020C0C54
-:060A80001207A5020C0C98
-:0D0A860090E6B8E0FA53021FBA0002800AA1
-:050A9300BA0102801B06
-:050A9800BA0266802C8B
-:0E0A9D0090E740E4F090E741F090E68AF09098
-:080AAB00E68B7402F0020C0C52
-:0E0AB30090E740E4F090E741F090E68AF09082
-:080AC100E68B7402F0020C0C3C
-:0E0AC90090E6BCE0F5821208E6E5826025901A
-:0E0AD700E6BCE0F582120905E0FA5302019038
-:0E0AE500E740EAF090E741E4F090E68AF090F6
-:080AF300E68B7402F0020C0C0A
-:060AFB001207A5020C0C1D
-:060B01001207A5020C0C16
-:060B07001207A5020C0C10
-:0C0B0D0090E6B9E0FA24F45003020C0951
-:070B1900EA2A2A900B207369
-:070B2000020C09020B560252
-:060B27000BD1020BB2022B
-:060B2D000C09020C090294
-:060B33000C09020C09028E
-:060B39000C09020B44024E
-:050B3F000C09020B4D42
-:090B440090E6BAE0F512020C0C77
-:090B4D0090E6BAE0F513020C0C6D
-:0D0B560090E6B8E0FA53021FBA00028005D5
-:050B6300BA0247800A00
-:0A0B680090E6BAE01207A5020C0C9B
-:0D0B720090E6BAE0703090E6BCE0F582122B
-:0D0B7F0008E6E582602390E6BCE0F58212F6
-:0E0B8C000905AA82AB83E0FC5304FE8A828B2B
-:0E0B9A0083ECF090E6BCE0F5821207AD8064BB
-:050BA8001207A5805FAB
-:050BAD001207A5805AAB
-:0E0BB20090E6B8E0FA53021FBA004F90E6BA80
-:070BC000E0FABA0102800512
-:050BC700BA02028040AB
-:050BCC001207A5803BAB
-:0E0BD10090E6BAE0FA702C90E6BCE0F58212D5
-:0D0BDF0008E6E582601A90E6BCE0F582129F
-:0E0BEC000905AA82AB83E0FC4304018A828BD8
-:050BFA0083ECF0800D0A
-:050BFF001207A58008AB
-:050C04001207A58003AA
-:030C09001207A52A
-:080C0C0090E6A0E04480F02214
-:050C1400AA82BA0300F2
-:070C19004005EA249C500194
-:010C200022B1
-:090C2100740F5AFBBB03028007AB
-:070C2A00740F5AFBBB0B45E0
-:0A0C3100A2AF9203C2AFEA2400F55F
-:0C0C3B0082E43400F5837402F07B007446
-:0C0C4700012AFCE43BFDEC2400F582EDEA
-:0A0C53003400F583E51DFCF0740287
-:0C0C5D002AFAE43BFBEA2400F582EB34A9
-:0A0C690000F583AA1C7B00EAF0A24C
-:030C73000392AF3A
-:010C7600225B
-:080C7700E582FA2483500122FA
-:060C7F00EA5403600122AB
-:0A0C8500A2AF9204C2AFEA2400F50A
-:0C0C8F0082E43401F5837402F07B0074F1
-:0C0C9B00012AFCE43BFDEC2400F582ED96
-:0A0CA7003401F583E51DF074022A04
-:0B0CB100FAE43BFBEA2400F582EB3480
-:080CBC0001F583AA1CEAF0A275
-:040CC4000492AF22C5
-:050CC800AA82BA8000C1
-:070CCD004005EA244B500131
-:010CD40022FD
-:060CD500EA540360012255
-:0A0CDB00A2AF9205C2AFEA2480F533
-:0C0CE50082E43400F5837402F07B00749C
-:0C0CF100012AFCE43BFDEC2480F582EDC0
-:0A0CFD003400F583E51DF074022AAF
-:0B0D0700FAE43BFBEA2480F582EB34A9
-:080D120000F583AA1CEAF0A21F
-:040D1A000592AF226D
-:080D1E00C2E8C2EA751C007571
-:060D26001D01758243125D
-:040D2C000C14751C12
-:030D300080751DAE
-:0C0D330000758253120C140090E650E48E
-:0E0D3F00F00090E652E4F00090E654E4F0007C
-:0E0D4D0090E656E4F00090E65174FFF000903E
-:0E0D5B00E65374FFF00090E65574FFF0009030
-:0E0D6900E65774FFF00090E658E4F090E6596B
-:0E0D770074FFF090E65AE4F090E65B74FFF033
-:0E0D850090E65CE4F090E65D74FFF090E65EB0
-:0E0D9300E4F090E65F74FFF00090E660E4F09C
-:0D0DA1000090E66174FFF090E662E4F090CF
-:0E0DAE00E66374FFF090E665E4F090E668748A
-:0A0DBC000BF05391AFD2E8D2EA2207
-:010DC600220A
-:020DC700AA82FE
-:060DC900120DC6DAFB2248
-:030DCF0090FB5046
-:080DD200A3E582458370F922BC
-:040DDA00AA82AB83BB
-:080DDE00120DCF1ABAFF011B30
-:050DE600EA4B70F4224D
-:030DF900758121E0
-:0A0DFC001205D5E5826003020DF434
-:00000001FF
Index: tools/fx2/bin/nexys3_jtag.ihx
===================================================================
--- tools/fx2/bin/nexys3_jtag.ihx (revision 17)
+++ tools/fx2/bin/nexys3_jtag.ihx (nonexistent)
@@ -1,437 +0,0 @@
-:06000000020DA702006BD7
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030DAD00020DB57F
-:030DC800020DB069
-:050DB0001203F180FEBA
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C00112062DD001D000D005D0FE
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066A1201AAD005D0046C
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120601C3
-:06034C00D005D004801072
-:0E0352008A82C004C00512061F1201AAD0053F
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312090AB7
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206B9121C
-:0603FA000450120CDA129F
-:080400000874D2AF1207830259
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E188E0F58212040AD002903E
-:0D04EC00E188E02AFAF582C00212040A90AD
-:0B04F900E1A6E0F58212040AD0029098
-:0A050400E1A6E02AF58212040A9035
-:0A050E00E1BEE0F58212040A7A0053
-:0E05180090E188E0FBC3EA64808BF063F08022
-:0B05260095F05017EA2488F582E434B9
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1A6E0FBC3EA64808BF063F080D9
-:0B05510095F05017EA24A6F582E43470
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1BEE0FBC3EA64808BF063F08096
-:0B057C0095F05017EA24BEF582E4342D
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009022000010100CF
-:0EE1230080FA0904000002FFFFFF02070581D9
-:0BE131000200020007050202000200CD
-:0EE13C001201000200000040C016EF030400B4
-:04E14A0001020301CA
-:0AE14E000A060002FFFFFF40010077
-:0EE158000902200001010080FA090400000203
-:0EE16600FFFFFF0207058102400000070502CF
-:04E174000240000065
-:01E1780004A2
-:02E1790082E141
-:02E17B0088E139
-:02E17D00A6E119
-:02E17F00BEE1FF
-:06E1820006030000090481
-:0EE188001E037700770077002E0072006500FE
-:0EE19600740072006F00310031002E00640032
-:02E1A400650014
-:0EE1A60018036E0065007800790073003300E6
-:0AE1B4005F006A007400610067005C
-:0EE1BE0012033000300030003000300030001E
-:04E1CC0030003000EF
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0605FB009001F4020D96D0
-:0E060100AA82ABB574FE5BF5F0741C45F0F5F3
-:0E060F00B5EA1392B4EAA2E192B3EAA2E49231
-:02061D00B22207
-:0E061F00120601A2B0E433FA74024AF58222F8
-:0E062D00E5821392B2D2B413C2B492B2D2B428
-:0E063B0013C2B492B2D2B413C2B492B2D2B40B
-:0E06490013C2B492B2D2B413C2B492B2D2B4FD
-:0E06570013C2B492B2D2B413C2B492B2D2B4EF
-:0506650000C2B42222D6
-:0E066A00E582A2B01392B2D2B4C2B4A2B01311
-:0E06780092B2D2B4C2B4A2B01392B2D2B4C243
-:0E068600B4A2B01392B2D2B4C2B4A2B0139216
-:0E069400B2D2B4C2B4A2B01392B2D2B4C2B405
-:0E06A200A2B01392B2D2B4C2B4A2B01392B2FC
-:0906B000D2B400C2B4F58222228A
-:0D06B90090E6007412F090E60174ABF09032
-:0E06C600E6707480F00090E60274E0F00090A0
-:0E06D400E60374F9F00090E6047480F00090E4
-:0D06E200E60B7403F00090E610E4F00090C9
-:0D06EF00E61174A0F00090E618E4F0009011
-:0E06FC00E6047402F00090E61274A2F0009082
-:0E070A00E6137402F00090E6147402F0009002
-:0E071800E6157402F00090E6047404F0009000
-:0E072600E6047406F00090E6047408F00090FB
-:0E073400E604E4F00090E619E4F00090E61A06
-:0E074200E4F00090E61BE4F00090E60BE4F01B
-:0E075000000090E6917480F00090E6917480B5
-:03075E00F0002286
-:0807610090E6A0E04401F02243
-:0E076900AA8274805AC423541FFB740F5A9046
-:0C077700E6834BF090E683E04420F02283
-:0E07830090E680E0440AF09000FA120D969085
-:0E079100E65D74FFF090E65F74FFF05391EFA9
-:08079F0090E680E054F7F0221F
-:060DC200E478FFF6D8FD05
-:060DA70075120075130037
-:0A07A70090E680E0FA30E7197514BF
-:0307B100007515BB
-:0307B400E17516D6
-:0307B700127517A1
-:0307BA00E17518CE
-:0307BD001C75198F
-:0307C000E1751AC6
-:0307C30058751B4B
-:0207C600E1222E
-:0407C80075143C75F3
-:0307CC0015E175BF
-:0307CF00164E754E
-:0307D20017E175B7
-:0307D5001858753C
-:0307D80019E175AF
-:0307DB001A1C7570
-:0307DE001BE122FA
-:0907E1005391EF75A100D2023220
-:0C07EA00C021C0E0C0F0C082C083C0028B
-:0E07F600C003C004C005C006C007C000C0019B
-:0E080400C0D075D0005391EF75A1001207A768
-:0E081200D0D0D001D000D007D006D005D00441
-:0D082000D003D002D083D082D0F0D0E0D041
-:02082D00213276
-:0C082F00C021C0E0C0F0C082C083C00245
-:0E083B00C003C004C005C006C007C000C00155
-:0E084900C0D075D0005391EF75A1001207A723
-:0E085700D0D0D001D000D007D006D005D004FC
-:0D086500D003D002D083D082D0F0D0E0D0FC
-:02087200213231
-:050874001207A7751C2E
-:03087900E1751D09
-:08087C0007758200120C3375B0
-:030884001CEA75F6
-:060887001D07758210122E
-:04088D000C33751C97
-:030891002F751DA3
-:0C08940008758214120C3390E65C74317D
-:0208A000F02244
-:0D08A200E582547FFA24F75004758200228D
-:0708AF00BA01047582012269
-:0808B600530201E4BA00010441
-:0308BE00F582229E
-:0E08C100AA82BA010C90E6A1E0FB7C008B82BB
-:0308CF008C8322F5
-:0E08D200BA810C90E6A2E0FB7C008B828C8346
-:0108E00022F5
-:0E08E10053027FEA700C90E6A0E0FB7C008BD7
-:0408EF00828C832252
-:0E08F30090E6A3E0FB7C00EAC313FA7D00EA66
-:090901002BFBED3C8B82F58322F7
-:0C090A00C20290E6B8E0FA530260BA00A6
-:0309160002802834
-:05091900BA2002800D70
-:05091E00BA4002800E4A
-:05092300BA6002800330
-:03092800020BC8F7
-:06092B00120761020BC877
-:0A093100120372E5826003020BC896
-:06093B00120761020BC867
-:0D09410090E6B8E0FA530280BA800280030D
-:03094E00020AC9D1
-:0B09510090E6B9E0FABA0003020A4287
-:05095C00BA060280351F
-:05096100BA0802800845
-:05096600BA0A0280172F
-:03096B00020AC3BA
-:0C096E0090E740E512F090E68AE4F0907B
-:08097A00E68B7401F0020BC8CA
-:0C09820090E740E513F090E68AE4F09066
-:08098E00E68B7401F0020BC8B6
-:0A09960090E6BBE0FABA01028017F8
-:0509A000BA02028038DC
-:0509A500BA03028059B5
-:0509AA00BA0602801BEB
-:0509AF00BA0702803CC4
-:0309B400020A3CF8
-:0A09B700AA14AB1590E6B3EBF07B39
-:0909C1000090E6B4EAF0020BC854
-:0A09CA00AA16AB1790E6B3EBF07B22
-:0909D4000090E6B4EAF0020BC841
-:0A09DD00AA18AB1990E6B3EBF07B0B
-:0909E7000090E6B4EAF0020BC82E
-:0A09F000AA1AAB1B90E6B3EBF07BF4
-:0909FA000090E6B4EAF0020BC81B
-:0E0A030090E6BAE0FA90E178E0FBC3EA9B408F
-:070A110006120761020BC889
-:0C0A180090E6BAE075F002A42479F582A3
-:0B0A240074E135F0F583E0FAA3E090E8
-:0D0A2F00E6B3F07B0090E6B4EAF0020BC8DD
-:060A3C00120761020BC865
-:0D0A420090E6B8E0FA53021FBA0002800AE5
-:050A4F00BA0102801B4A
-:050A5400BA0266802CCF
-:0E0A590090E740E4F090E741F090E68AF090DC
-:080A6700E68B7402F0020BC8DB
-:0E0A6F0090E740E4F090E741F090E68AF090C6
-:080A7D00E68B7402F0020BC8C5
-:0E0A850090E6BCE0F5821208A2E582602590A2
-:0E0A9300E6BCE0F5821208C1E0FA53020190C1
-:0E0AA100E740EAF090E741E4F090E68AF0903A
-:080AAF00E68B7402F0020BC893
-:060AB700120761020BC8EA
-:060ABD00120761020BC8E4
-:060AC300120761020BC8DE
-:0C0AC90090E6B9E0FA24F45003020BC5DB
-:070AD500EA2A2A900ADC73F3
-:070ADC00020BC5020B120220
-:060AE3000B8D020B6E02F8
-:060AE9000BC5020BC50263
-:060AEF000BC5020BC5025D
-:060AF5000BC5020B00021C
-:050AFB000BC5020B0910
-:090B000090E6BAE0F512020BC800
-:090B090090E6BAE0F513020BC8F6
-:0D0B120090E6B8E0FA53021FBA0002800519
-:050B1F00BA0247800A44
-:0A0B240090E6BAE0120761020BC868
-:0D0B2E0090E6BAE0703090E6BCE0F582126F
-:0D0B3B0008A2E582602390E6BCE0F582127E
-:0E0B480008C1AA82AB83E0FC5304FE8A828BB4
-:0E0B560083ECF090E6BCE0F582120769806443
-:050B6400120761805F33
-:050B6900120761805A33
-:0E0B6E0090E6B8E0FA53021FBA004F90E6BAC4
-:070B7C00E0FABA0102800556
-:050B8300BA02028040EF
-:050B8800120761803B33
-:0E0B8D0090E6BAE0FA702C90E6BCE0F5821219
-:0D0B9B0008A2E582601A90E6BCE0F5821227
-:0E0BA80008C1AA82AB83E0FC4304018A828B61
-:050BB60083ECF0800D4E
-:050BBB00120761800833
-:050BC000120761800333
-:030BC500120761B3
-:080BC80090E6A0E04480F02259
-:050BD000AA82BA030037
-:070BD5004005EA249C5001D9
-:010BDC0022F6
-:090BDD00740F5AFBBB03028007F0
-:070BE600740F5AFBBB0B4525
-:0A0BED00A2AF9203C2AFEA2400F5A4
-:0C0BF70082E43400F5837402F07B00748B
-:0C0C0300012AFCE43BFDEC2400F582ED2E
-:0A0C0F003400F583E51DFCF07402CB
-:0C0C19002AFAE43BFBEA2400F582EB34ED
-:0A0C250000F583AA1C7B00EAF0A290
-:030C2F000392AF7E
-:010C3200229F
-:080C3300E582FA24835001223E
-:060C3B00EA5403600122EF
-:0A0C4100A2AF9204C2AFEA2400F54E
-:0C0C4B0082E43401F5837402F07B007435
-:0C0C5700012AFCE43BFDEC2400F582EDDA
-:0A0C63003401F583E51DF074022A48
-:0B0C6D00FAE43BFBEA2400F582EB34C4
-:080C780001F583AA1CEAF0A2B9
-:040C80000492AF2209
-:050C8400AA82BA800005
-:070C89004005EA244B500175
-:010C90002241
-:060C9100EA540360012299
-:0A0C9700A2AF9205C2AFEA2480F577
-:0C0CA10082E43400F5837402F07B0074E0
-:0C0CAD00012AFCE43BFDEC2480F582ED04
-:0A0CB9003400F583E51DF074022AF3
-:0B0CC300FAE43BFBEA2480F582EB34EE
-:080CCE0000F583AA1CEAF0A264
-:040CD6000592AF22B2
-:080CDA00C2E8C2EA751C0075B6
-:060CE2001D0175824312A2
-:040CE8000BD0751C9C
-:030CEC0080751DF3
-:0C0CEF0000758253120BD00090E650E418
-:0E0CFB00F00090E652E4F00090E654E4F000C1
-:0E0D090090E656E4F00090E65174FFF0009082
-:0E0D1700E65374FFF00090E65574FFF0009074
-:0E0D2500E65774FFF00090E658E4F090E659AF
-:0E0D330074FFF090E65AE4F090E65B74FFF077
-:0E0D410090E65CE4F090E65D74FFF090E65EF4
-:0E0D4F00E4F090E65F74FFF00090E660E4F0E0
-:0D0D5D000090E66174FFF090E662E4F09013
-:0E0D6A00E66374FFF090E665E4F090E66874CE
-:0A0D78000BF05391AFD2E8D2EA224B
-:010D8200224E
-:020D8300AA8242
-:060D8500120D82DAFB22D0
-:030D8B0090FB508A
-:080D8E00A3E582458370F92200
-:040D9600AA82AB83FF
-:080D9A00120D8B1ABAFF011BB8
-:050DA200EA4B70F42291
-:030DB50075812124
-:0A0DB8001205D5E5826003020DB0BC
-:00000001FF
Index: tools/fx2/bin/nexys3_jtag_2fifo_ic.ihx
===================================================================
--- tools/fx2/bin/nexys3_jtag_2fifo_ic.ihx (revision 17)
+++ tools/fx2/bin/nexys3_jtag_2fifo_ic.ihx (nonexistent)
@@ -1,443 +0,0 @@
-:06000000020DE602006B98
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030DEC00020DF401
-:030E0700020DEFEA
-:050DEF001203F180FE7B
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C00112062DD001D000D005D0FE
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066A1201AAD005D0046C
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120601C3
-:06034C00D005D004801072
-:0E0352008A82C004C00512061F1201AAD0053F
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312094978
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206B9121C
-:0603FA000450120D19125F
-:0804000008B3D2AF1207C202DB
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E196E0F58212040AD0029030
-:0D04EC00E196E02AFAF582C00212040A909F
-:0B04F900E1B4E0F58212040AD002908A
-:0A050400E1B4E02AF58212040A9027
-:0A050E00E1DEE0F58212040A7A0033
-:0E05180090E196E0FBC3EA64808BF063F08014
-:0B05260095F05017EA2496F582E434AB
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1B4E0FBC3EA64808BF063F080CB
-:0B05510095F05017EA24B4F582E43462
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1DEE0FBC3EA64808BF063F08076
-:0B057C0095F05017EA24DEF582E4340D
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009022E00010100C1
-:0EE1230080FA0904000004FFFFFF02070581D7
-:0EE131000200020007050202000200070504BA
-:0BE13F0002000200070586020002003B
-:0EE14A001201000200000040C016EF030400A6
-:04E1580001020301BC
-:0AE15C000A060002FFFFFF40010069
-:0EE166000902200001010080FA0904000002F5
-:0EE17400FFFFFF0207058102400000070502C1
-:04E182000240000057
-:01E186000494
-:02E1870090E125
-:02E1890096E11D
-:02E18B00B4E1FD
-:02E18D00DEE1D1
-:06E1900006030000090473
-:0EE196001E037700770077002E0072006500F0
-:0EE1A400740072006F00310031002E00640024
-:02E1B200650006
-:0EE1B4002A036E0065007800790073003300C6
-:0EE1C2005F006A007400610067005F003200B9
-:0EE1D0006600690066006F005F006900630072
-:0EE1DE001203300030003000300030003000FE
-:04E1EC0030003000CF
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0605FB009001F4020DD591
-:0E060100AA82ABB574FE5BF5F0741C45F0F5F3
-:0E060F00B5EA1392B4EAA2E192B3EAA2E49231
-:02061D00B22207
-:0E061F00120601A2B0E433FA74024AF58222F8
-:0E062D00E5821392B2D2B413C2B492B2D2B428
-:0E063B0013C2B492B2D2B413C2B492B2D2B40B
-:0E06490013C2B492B2D2B413C2B492B2D2B4FD
-:0E06570013C2B492B2D2B413C2B492B2D2B4EF
-:0506650000C2B42222D6
-:0E066A00E582A2B01392B2D2B4C2B4A2B01311
-:0E06780092B2D2B4C2B4A2B01392B2D2B4C243
-:0E068600B4A2B01392B2D2B4C2B4A2B0139216
-:0E069400B2D2B4C2B4A2B01392B2D2B4C2B405
-:0E06A200A2B01392B2D2B4C2B4A2B01392B2FC
-:0906B000D2B400C2B4F58222228A
-:0D06B90090E6007412F090E60174A3F0903A
-:0E06C600E6707480F00090E60274E0F00090A0
-:0E06D400E60374F9F00090E6047480F00090E4
-:0D06E200E60B7403F00090E610E4F00090C9
-:0D06EF00E61174A0F00090E618E4F0009011
-:0E06FC00E6047402F00090E61274A2F0009082
-:0E070A00E61374A2F00090E61474E0F0009084
-:0E071800E6157402F00090E6047404F0009000
-:0E072600E6047406F00090E6047408F00090FB
-:0E073400E604E4F00090E60BE4F00090E649E5
-:0E0742007484F00090E6497484F00090E6198B
-:0E075000E4F00090E6197410F00090E63274A8
-:0E075E0080F00090E6337404F00090E61A7408
-:0E076C000CF00090E6247402F00090E625E404
-:0E077A00F00090E6347419F00090E63574FC3F
-:0E078800F00090E61BE4F0000090E691748013
-:0A079600F00090E6917480F000225C
-:0807A00090E6A0E04401F02204
-:0E07A800AA8274805AC423541FFB740F5A9007
-:0C07B600E6834BF090E683E04420F02244
-:0E07C20090E680E0440AF09000FA120DD59007
-:0E07D000E65D74FFF090E65F74FFF05391EF6A
-:0807DE0090E680E054F7F022E0
-:060E0100E478FFF6D8FDC5
-:060DE600751200751300F8
-:0A07E60090E680E0FA30E719751480
-:0307F0000075157C
-:0307F300E1751697
-:0307F60012751762
-:0307F900E175188F
-:0307FC001C751950
-:0307FF00E1751A87
-:0308020066751BFD
-:02080500E122EE
-:0408070075144A75A5
-:03080B0015E1757F
-:03080E00165C7500
-:0308110017E17577
-:03081400186675EE
-:0308170019E1756F
-:03081A001A1C7530
-:03081D001BE122BA
-:090820005391EF75A100D20232E0
-:0C082900C021C0E0C0F0C082C083C0024B
-:0E083500C003C004C005C006C007C000C0015B
-:0E084300C0D075D0005391EF75A1001207E6EA
-:0E085100D0D0D001D000D007D006D005D00402
-:0D085F00D003D002D083D082D0F0D0E0D002
-:02086C00213237
-:0C086E00C021C0E0C0F0C082C083C00206
-:0E087A00C003C004C005C006C007C000C00116
-:0E088800C0D075D0005391EF75A1001207E6A5
-:0E089600D0D0D001D000D007D006D005D004BD
-:0D08A400D003D002D083D082D0F0D0E0D0BD
-:0208B1002132F2
-:0508B3001207E6751CB0
-:0308B80020751D8B
-:0808BB0008758200120C727531
-:0308C3001C297578
-:0608C6001D0875821012EE
-:0408CC000C72751C19
-:0308D0006E751D25
-:0C08D30008758214120C7290E65C7431FF
-:0208DF00F02205
-:0D08E100E582547FFA24F75004758200224E
-:0708EE00BA0104758201222A
-:0808F500530201E4BA00010402
-:0308FD00F582225F
-:0E090000AA82BA010C90E6A1E0FB7C008B827B
-:03090E008C8322B5
-:0E091100BA810C90E6A2E0FB7C008B828C8306
-:01091F0022B5
-:0E09200053027FEA700C90E6A0E0FB7C008B97
-:04092E00828C832212
-:0E09320090E6A3E0FB7C00EAC313FA7D00EA26
-:090940002BFBED3C8B82F58322B8
-:0C094900C20290E6B8E0FA530260BA0067
-:03095500028028F5
-:05095800BA2002800D31
-:05095D00BA4002800E0B
-:05096200BA60028003F1
-:03096700020C0778
-:06096A001207A0020C07B9
-:0A097000120372E5826003020C0717
-:06097A001207A0020C07A9
-:0D09800090E6B8E0FA530280BA80028003CE
-:03098D00020B0852
-:0B09900090E6B9E0FABA0003020A8109
-:05099B00BA06028035E0
-:0509A000BA0802800806
-:0509A500BA0A028017F0
-:0309AA00020B023B
-:0C09AD0090E740E512F090E68AE4F0903C
-:0809B900E68B7401F0020C074B
-:0C09C10090E740E513F090E68AE4F09027
-:0809CD00E68B7401F0020C0737
-:0A09D50090E6BBE0FABA01028017B9
-:0509DF00BA020280389D
-:0509E400BA0302805976
-:0509E900BA0602801BAC
-:0509EE00BA0702803C85
-:0309F300020A7B7A
-:0A09F600AA14AB1590E6B3EBF07BFA
-:090A00000090E6B4EAF0020C07D4
-:0A0A0900AA16AB1790E6B3EBF07BE2
-:090A13000090E6B4EAF0020C07C1
-:0A0A1C00AA18AB1990E6B3EBF07BCB
-:090A26000090E6B4EAF0020C07AE
-:0A0A2F00AA1AAB1B90E6B3EBF07BB4
-:090A39000090E6B4EAF0020C079B
-:0E0A420090E6BAE0FA90E186E0FBC3EA9B4042
-:070A5000061207A0020C07CB
-:0C0A570090E6BAE075F002A42487F58256
-:0B0A630074E135F0F583E0FAA3E090A9
-:0D0A6E00E6B3F07B0090E6B4EAF0020C075E
-:060A7B001207A0020C07A7
-:0D0A810090E6B8E0FA53021FBA0002800AA6
-:050A8E00BA0102801B0B
-:050A9300BA0266802C90
-:0E0A980090E740E4F090E741F090E68AF0909D
-:080AA600E68B7402F0020C075C
-:0E0AAE0090E740E4F090E741F090E68AF09087
-:080ABC00E68B7402F0020C0746
-:0E0AC40090E6BCE0F5821208E1E58260259024
-:0E0AD200E6BCE0F582120900E0FA5302019042
-:0E0AE000E740EAF090E741E4F090E68AF090FB
-:080AEE00E68B7402F0020C0714
-:060AF6001207A0020C072C
-:060AFC001207A0020C0726
-:060B02001207A0020C071F
-:0C0B080090E6B9E0FA24F45003020C045B
-:070B1400EA2A2A900B1B7373
-:070B1B00020C04020B510261
-:060B22000BCC020BAD023A
-:060B28000C04020C0402A3
-:060B2E000C04020C04029D
-:060B34000C04020B3F025D
-:050B3A000C04020B4851
-:090B3F0090E6BAE0F512020C0781
-:090B480090E6BAE0F513020C0777
-:0D0B510090E6B8E0FA53021FBA00028005DA
-:050B5E00BA0247800A05
-:0A0B630090E6BAE01207A0020C07AA
-:0D0B6D0090E6BAE0703090E6BCE0F5821230
-:0D0B7A0008E1E582602390E6BCE0F5821200
-:0E0B87000900AA82AB83E0FC5304FE8A828B35
-:0E0B950083ECF090E6BCE0F5821207A88064C5
-:050BA3001207A0805FB5
-:050BA8001207A0805AB5
-:0E0BAD0090E6B8E0FA53021FBA004F90E6BA85
-:070BBB00E0FABA0102800517
-:050BC200BA02028040B0
-:050BC7001207A0803BB5
-:0E0BCC0090E6BAE0FA702C90E6BCE0F58212DA
-:0D0BDA0008E1E582601A90E6BCE0F58212A9
-:0E0BE7000900AA82AB83E0FC4304018A828BE2
-:050BF50083ECF0800D0F
-:050BFA001207A08008B5
-:050BFF001207A08003B5
-:030C04001207A034
-:080C070090E6A0E04480F02219
-:050C0F00AA82BA0300F7
-:070C14004005EA249C500199
-:010C1B0022B6
-:090C1C00740F5AFBBB03028007B0
-:070C2500740F5AFBBB0B45E5
-:0A0C2C00A2AF9203C2AFEA2400F564
-:0C0C360082E43400F5837402F07B00744B
-:0C0C4200012AFCE43BFDEC2400F582EDEF
-:0A0C4E003400F583E51DFCF074028C
-:0C0C58002AFAE43BFBEA2400F582EB34AE
-:0A0C640000F583AA1C7B00EAF0A251
-:030C6E000392AF3F
-:010C71002260
-:080C7200E582FA2483500122FF
-:060C7A00EA5403600122B0
-:0A0C8000A2AF9204C2AFEA2400F50F
-:0C0C8A0082E43401F5837402F07B0074F6
-:0C0C9600012AFCE43BFDEC2400F582ED9B
-:0A0CA2003401F583E51DF074022A09
-:0B0CAC00FAE43BFBEA2400F582EB3485
-:080CB70001F583AA1CEAF0A27A
-:040CBF000492AF22CA
-:050CC300AA82BA8000C6
-:070CC8004005EA244B500136
-:010CCF002202
-:060CD000EA54036001225A
-:0A0CD600A2AF9205C2AFEA2480F538
-:0C0CE00082E43400F5837402F07B0074A1
-:0C0CEC00012AFCE43BFDEC2480F582EDC5
-:0A0CF8003400F583E51DF074022AB4
-:0B0D0200FAE43BFBEA2480F582EB34AE
-:080D0D0000F583AA1CEAF0A224
-:040D15000592AF2272
-:080D1900C2E8C2EA751C007576
-:060D21001D017582431262
-:040D27000C0F751C1C
-:030D2B0080751DB3
-:0C0D2E0000758253120C0F0090E650E498
-:0E0D3A00F00090E652E4F00090E654E4F00081
-:0E0D480090E656E4F00090E65174FFF0009043
-:0E0D5600E65374FFF00090E65574FFF0009035
-:0E0D6400E65774FFF00090E658E4F090E65970
-:0E0D720074FFF090E65AE4F090E65B74FFF038
-:0E0D800090E65CE4F090E65D74FFF090E65EB5
-:0E0D8E00E4F090E65F74FFF00090E660E4F0A1
-:0D0D9C000090E66174FFF090E662E4F090D4
-:0E0DA900E66374FFF090E665E4F090E668748F
-:0A0DB7000BF05391AFD2E8D2EA220C
-:010DC100220F
-:020DC200AA8203
-:060DC400120DC1DAFB2252
-:030DCA0090FB504B
-:080DCD00A3E582458370F922C1
-:040DD500AA82AB83C0
-:080DD900120DCA1ABAFF011B3A
-:050DE100EA4B70F42252
-:030DF400758121E5
-:0A0DF7001205D5E5826003020DEF3E
-:00000001FF
Index: tools/fx2/bin/nexys2_jtag_3fifo_ic.ihx
===================================================================
--- tools/fx2/bin/nexys2_jtag_3fifo_ic.ihx (revision 17)
+++ tools/fx2/bin/nexys2_jtag_3fifo_ic.ihx (nonexistent)
@@ -1,446 +0,0 @@
-:06000000020E0702006B76
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030E0D00020E15BD
-:030E2800020E10A7
-:050E10001203F180FE59
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C001120632D001D000D005D0F9
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066F1201AAD005D00467
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120606BE
-:06034C00D005D004801072
-:0E0352008A82C004C0051206241201AAD0053A
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312096A57
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206BE1217
-:0603FA000450120D3A123E
-:0804000008D4D2AF1207E30299
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E19EE0F58212040AD0029028
-:0D04EC00E19EE02AFAF582C00212040A9097
-:0B04F900E1BCE0F58212040AD0029082
-:0A050400E1BCE02AF58212040A901F
-:0A050E00E1E6E0F58212040A7A002B
-:0E05180090E19EE0FBC3EA64808BF063F0800C
-:0B05260095F05017EA249EF582E434A3
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1BCE0FBC3EA64808BF063F080C3
-:0B05510095F05017EA24BCF582E4345A
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1E6E0FBC3EA64808BF063F0806E
-:0B057C0095F05017EA24E6F582E43405
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009023500010100BA
-:0EE1230080FA0904000005FFFFFF02070581D6
-:0EE131000200020007050202000200070504BA
-:0EE13F000200020007058602000200070588A4
-:04E14D0002000200CA
-:0EE152001201000200000040C016EF0304009E
-:04E1600001020301B4
-:0AE164000A060002FFFFFF40010061
-:0EE16E000902200001010080FA0904000002ED
-:0EE17C00FFFFFF0207058102400000070502B9
-:04E18A00024000004F
-:01E18E00048C
-:02E18F0098E115
-:02E191009EE10D
-:02E19300BCE1ED
-:02E19500E6E1C1
-:06E198000603000009046B
-:0EE19E001E037700770077002E0072006500E8
-:0EE1AC00740072006F00310031002E0064001C
-:02E1BA006500FE
-:0EE1BC002A036E0065007800790073003200BF
-:0EE1CA005F006A007400610067005F003300B0
-:0EE1D8006600690066006F005F00690063006A
-:0EE1E6001203300030003000300030003000F6
-:04E1F40030003000C7
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0B05FB00D2B775B5809001F4020DF638
-:0E060600AA82ABB574FE5BF5F0741C45F0F5EE
-:0E061400B5EA1392B4EAA2E192B3EAA2E4922C
-:02062200B22202
-:0E062400120606A2B0E433FA74024AF58222EE
-:0E063200E5821392B2D2B413C2B492B2D2B423
-:0E06400013C2B492B2D2B413C2B492B2D2B406
-:0E064E0013C2B492B2D2B413C2B492B2D2B4F8
-:0E065C0013C2B492B2D2B413C2B492B2D2B4EA
-:05066A0000C2B42222D1
-:0E066F00E582A2B01392B2D2B4C2B4A2B0130C
-:0E067D0092B2D2B4C2B4A2B01392B2D2B4C23E
-:0E068B00B4A2B01392B2D2B4C2B4A2B0139211
-:0E069900B2D2B4C2B4A2B01392B2D2B4C2B400
-:0E06A700A2B01392B2D2B4C2B4A2B01392B2F7
-:0906B500D2B400C2B4F582222285
-:0D06BE0090E6007412F090E60174A3F09035
-:0E06CB00E6707480F00090E60274E0F000909B
-:0E06D900E60374F9F00090E6047480F00090DF
-:0D06E700E60B7403F00090E610E4F00090C4
-:0D06F400E61174A0F00090E618E4F000900C
-:0E070100E6047402F00090E61274A2F000907C
-:0E070F00E61374A2F00090E61474E2F000907D
-:0E071D00E61574E2F00090E6047404F000901B
-:0E072B00E6047406F00090E6047408F00090F6
-:0E073900E604E4F00090E60BE4F00090E649E0
-:0E0747007484F00090E6497484F00090E61986
-:0E075500E4F00090E6197410F00090E63274A3
-:0E07630080F00090E6337404F00090E61A7403
-:0E0771000CF00090E6247402F00090E625E4FF
-:0E077F00F00090E6347409F00090E63574FC4A
-:0E078D00F00090E61B740CF00090E62674025B
-:0E079B00F00090E627E4F00090E6367441F09E
-:0E07A9000090E63774FCF0000090E69174803A
-:0A07B700F00090E6917480F000223B
-:0807C10090E6A0E04401F022E3
-:0E07C900AA8274805AC423541FFB740F5A90E6
-:0C07D700E6834BF090E683E04420F02223
-:0E07E30090E680E0440AF09000FA120DF690C5
-:0E07F100E65D74FFF090E65F74FFF05391EF49
-:0807FF0090E680E054F7F022BF
-:060E2200E478FFF6D8FDA4
-:060E0700751200751300D6
-:0A08070090E680E0FA30E71975145E
-:030811000075155A
-:03081400E1751675
-:0308170012751740
-:03081A00E175186D
-:03081D001C75192E
-:03082000E1751A65
-:030823006E751BD4
-:02082600E122CD
-:04082800751452757C
-:03082C0015E1755E
-:03082F00166475D7
-:0308320017E17556
-:03083500186E75C5
-:0308380019E1754E
-:03083B001A1C750F
-:03083E001BE12299
-:090841005391EF75A100D20232BF
-:0C084A00C021C0E0C0F0C082C083C0022A
-:0E085600C003C004C005C006C007C000C0013A
-:0E086400C0D075D0005391EF75A100120807A7
-:0E087200D0D0D001D000D007D006D005D004E1
-:0D088000D003D002D083D082D0F0D0E0D0E1
-:02088D00213216
-:0C088F00C021C0E0C0F0C082C083C002E5
-:0E089B00C003C004C005C006C007C000C001F5
-:0E08A900C0D075D0005391EF75A10012080762
-:0E08B700D0D0D001D000D007D006D005D0049C
-:0D08C500D003D002D083D082D0F0D0E0D09C
-:0208D2002132D1
-:0508D400120807751C6D
-:0308D90041751D49
-:0808DC0008758200120C9375EF
-:0308E4001C4A7536
-:0608E7001D0875821012CD
-:0408ED000C93751CD7
-:0308F1008F751DE3
-:0C08F40008758214120C9390E65C7431BD
-:02090000F022E3
-:0D090200E582547FFA24F75004758200222C
-:07090F00BA01047582012208
-:08091600530201E4BA000104E0
-:03091E00F582223D
-:0E092100AA82BA010C90E6A1E0FB7C008B825A
-:03092F008C832294
-:0E093200BA810C90E6A2E0FB7C008B828C83E5
-:010940002294
-:0E09410053027FEA700C90E6A0E0FB7C008B76
-:04094F00828C8322F1
-:0E09530090E6A3E0FB7C00EAC313FA7D00EA05
-:090961002BFBED3C8B82F5832297
-:0C096A00C20290E6B8E0FA530260BA0046
-:03097600028028D4
-:05097900BA2002800D10
-:05097E00BA4002800EEA
-:05098300BA60028003D0
-:03098800020C2836
-:06098B001207C1020C2856
-:0A099100120372E5826003020C28D5
-:06099B001207C1020C2846
-:0D09A10090E6B8E0FA530280BA80028003AD
-:0309AE00020B2910
-:0B09B10090E6B9E0FABA0003020AA2C7
-:0509BC00BA06028035BF
-:0509C100BA08028008E5
-:0509C600BA0A028017CF
-:0309CB00020B23F9
-:0C09CE0090E740E512F090E68AE4F0901B
-:0809DA00E68B7401F0020C2809
-:0C09E20090E740E513F090E68AE4F09006
-:0809EE00E68B7401F0020C28F5
-:0A09F60090E6BBE0FABA0102801798
-:050A0000BA020280387B
-:050A0500BA0302805954
-:050A0A00BA0602801B8A
-:050A0F00BA0702803C63
-:030A1400020A9C37
-:0A0A1700AA14AB1590E6B3EBF07BD8
-:090A21000090E6B4EAF0020C2892
-:0A0A2A00AA16AB1790E6B3EBF07BC1
-:090A34000090E6B4EAF0020C287F
-:0A0A3D00AA18AB1990E6B3EBF07BAA
-:090A47000090E6B4EAF0020C286C
-:0A0A5000AA1AAB1B90E6B3EBF07B93
-:090A5A000090E6B4EAF0020C2859
-:0E0A630090E6BAE0FA90E18EE0FBC3EA9B4019
-:070A7100061207C1020C2868
-:0C0A780090E6BAE075F002A4248FF5822D
-:0B0A840074E135F0F583E0FAA3E09088
-:0D0A8F00E6B3F07B0090E6B4EAF0020C281C
-:060A9C001207C1020C2844
-:0D0AA20090E6B8E0FA53021FBA0002800A85
-:050AAF00BA0102801BEA
-:050AB400BA0266802C6F
-:0E0AB90090E740E4F090E741F090E68AF0907C
-:080AC700E68B7402F0020C281A
-:0E0ACF0090E740E4F090E741F090E68AF09066
-:080ADD00E68B7402F0020C2804
-:0E0AE50090E6BCE0F582120902E582602590E1
-:0E0AF300E6BCE0F582120921E0FA5302019000
-:0E0B0100E740EAF090E741E4F090E68AF090D9
-:080B0F00E68B7402F0020C28D1
-:060B17001207C1020C28C8
-:060B1D001207C1020C28C2
-:060B23001207C1020C28BC
-:0C0B290090E6B9E0FA24F45003020C2519
-:070B3500EA2A2A900B3C7331
-:070B3C00020C25020B7202FE
-:060B43000BED020BCE02D7
-:060B49000C25020C250240
-:060B4F000C25020C25023A
-:060B55000C25020B6002FA
-:050B5B000C25020B69EE
-:090B600090E6BAE0F512020C283F
-:090B690090E6BAE0F513020C2835
-:0D0B720090E6B8E0FA53021FBA00028005B9
-:050B7F00BA0247800AE4
-:0A0B840090E6BAE01207C1020C2847
-:0D0B8E0090E6BAE0703090E6BCE0F582120F
-:0D0B9B000902E582602390E6BCE0F58212BD
-:0E0BA8000921AA82AB83E0FC5304FE8A828BF3
-:0E0BB60083ECF090E6BCE0F5821207C9806483
-:050BC4001207C1805F73
-:050BC9001207C1805A73
-:0E0BCE0090E6B8E0FA53021FBA004F90E6BA64
-:070BDC00E0FABA01028005F6
-:050BE300BA020280408F
-:050BE8001207C1803B73
-:0E0BED0090E6BAE0FA702C90E6BCE0F58212B9
-:0D0BFB000902E582601A90E6BCE0F5821266
-:0E0C08000921AA82AB83E0FC4304018A828B9F
-:050C160083ECF0800DED
-:050C1B001207C1800872
-:050C20001207C1800372
-:030C25001207C1F2
-:080C280090E6A0E04480F022F8
-:050C3000AA82BA0300D6
-:070C35004005EA249C500178
-:010C3C002295
-:090C3D00740F5AFBBB030280078F
-:070C4600740F5AFBBB0B45C4
-:0A0C4D00A2AF9203C2AFEA2400F543
-:0C0C570082E43400F5837402F07B00742A
-:0C0C6300012AFCE43BFDEC2400F582EDCE
-:0A0C6F003400F583E51DFCF074026B
-:0C0C79002AFAE43BFBEA2400F582EB348D
-:0A0C850000F583AA1C7B00EAF0A230
-:030C8F000392AF1E
-:010C9200223F
-:080C9300E582FA2483500122DE
-:060C9B00EA54036001228F
-:0A0CA100A2AF9204C2AFEA2400F5EE
-:0C0CAB0082E43401F5837402F07B0074D5
-:0C0CB700012AFCE43BFDEC2400F582ED7A
-:0A0CC3003401F583E51DF074022AE8
-:0B0CCD00FAE43BFBEA2400F582EB3464
-:080CD80001F583AA1CEAF0A259
-:040CE0000492AF22A9
-:050CE400AA82BA8000A5
-:070CE9004005EA244B500115
-:010CF00022E1
-:060CF100EA540360012239
-:0A0CF700A2AF9205C2AFEA2480F517
-:0C0D010082E43400F5837402F07B00747F
-:0C0D0D00012AFCE43BFDEC2480F582EDA3
-:0A0D19003400F583E51DF074022A92
-:0B0D2300FAE43BFBEA2480F582EB348D
-:080D2E0000F583AA1CEAF0A203
-:040D36000592AF2251
-:080D3A00C2E8C2EA751C007555
-:060D42001D017582431241
-:040D48000C30751CDA
-:030D4C0080751D92
-:0C0D4F0000758253120C300090E650E456
-:0E0D5B00F00090E652E4F00090E654E4F00060
-:0E0D690090E656E4F00090E65174FFF0009022
-:0E0D7700E65374FFF00090E65574FFF0009014
-:0E0D8500E65774FFF00090E658E4F090E6594F
-:0E0D930074FFF090E65AE4F090E65B74FFF017
-:0E0DA10090E65CE4F090E65D74FFF090E65E94
-:0E0DAF00E4F090E65F74FFF00090E660E4F080
-:0D0DBD000090E66174FFF090E662E4F090B3
-:0E0DCA00E66374FFF090E665E4F090E668746E
-:0A0DD8000BF05391AFD2E8D2EA22EB
-:010DE20022EE
-:020DE300AA82E2
-:060DE500120DE2DAFB2210
-:030DEB0090FB502A
-:080DEE00A3E582458370F922A0
-:040DF600AA82AB839F
-:080DFA00120DEB1ABAFF011BF8
-:050E0200EA4B70F42230
-:030E1500758121C3
-:0A0E18001205D5E5826003020E10FA
-:00000001FF
Index: tools/fx2/bin/nexys3_jtag_3fifo_ic.ihx
===================================================================
--- tools/fx2/bin/nexys3_jtag_3fifo_ic.ihx (revision 17)
+++ tools/fx2/bin/nexys3_jtag_3fifo_ic.ihx (nonexistent)
@@ -1,446 +0,0 @@
-:06000000020E0202006B7B
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030E0800020E10C7
-:030E2300020E0BB1
-:050E0B001203F180FE5E
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C00112062DD001D000D005D0FE
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066A1201AAD005D0046C
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120601C3
-:06034C00D005D004801072
-:0E0352008A82C004C00512061F1201AAD0053F
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E6003002031209655C
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206B9121C
-:0603FA000450120D351243
-:0804000008CFD2AF1207DE02A3
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E19EE0F58212040AD0029028
-:0D04EC00E19EE02AFAF582C00212040A9097
-:0B04F900E1BCE0F58212040AD0029082
-:0A050400E1BCE02AF58212040A901F
-:0A050E00E1E6E0F58212040A7A002B
-:0E05180090E19EE0FBC3EA64808BF063F0800C
-:0B05260095F05017EA249EF582E434A3
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1BCE0FBC3EA64808BF063F080C3
-:0B05510095F05017EA24BCF582E4345A
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1E6E0FBC3EA64808BF063F0806E
-:0B057C0095F05017EA24E6F582E43405
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009023500010100BA
-:0EE1230080FA0904000005FFFFFF02070581D6
-:0EE131000200020007050202000200070504BA
-:0EE13F000200020007058602000200070588A4
-:04E14D0002000200CA
-:0EE152001201000200000040C016EF0304009E
-:04E1600001020301B4
-:0AE164000A060002FFFFFF40010061
-:0EE16E000902200001010080FA0904000002ED
-:0EE17C00FFFFFF0207058102400000070502B9
-:04E18A00024000004F
-:01E18E00048C
-:02E18F0098E115
-:02E191009EE10D
-:02E19300BCE1ED
-:02E19500E6E1C1
-:06E198000603000009046B
-:0EE19E001E037700770077002E0072006500E8
-:0EE1AC00740072006F00310031002E0064001C
-:02E1BA006500FE
-:0EE1BC002A036E0065007800790073003300BE
-:0EE1CA005F006A007400610067005F003300B0
-:0EE1D8006600690066006F005F00690063006A
-:0EE1E6001203300030003000300030003000F6
-:04E1F40030003000C7
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0605FB009001F4020DF175
-:0E060100AA82ABB574FE5BF5F0741C45F0F5F3
-:0E060F00B5EA1392B4EAA2E192B3EAA2E49231
-:02061D00B22207
-:0E061F00120601A2B0E433FA74024AF58222F8
-:0E062D00E5821392B2D2B413C2B492B2D2B428
-:0E063B0013C2B492B2D2B413C2B492B2D2B40B
-:0E06490013C2B492B2D2B413C2B492B2D2B4FD
-:0E06570013C2B492B2D2B413C2B492B2D2B4EF
-:0506650000C2B42222D6
-:0E066A00E582A2B01392B2D2B4C2B4A2B01311
-:0E06780092B2D2B4C2B4A2B01392B2D2B4C243
-:0E068600B4A2B01392B2D2B4C2B4A2B0139216
-:0E069400B2D2B4C2B4A2B01392B2D2B4C2B405
-:0E06A200A2B01392B2D2B4C2B4A2B01392B2FC
-:0906B000D2B400C2B4F58222228A
-:0D06B90090E6007412F090E60174A3F0903A
-:0E06C600E6707480F00090E60274E0F00090A0
-:0E06D400E60374F9F00090E6047480F00090E4
-:0D06E200E60B7403F00090E610E4F00090C9
-:0D06EF00E61174A0F00090E618E4F0009011
-:0E06FC00E6047402F00090E61274A2F0009082
-:0E070A00E61374A2F00090E61474E2F0009082
-:0E071800E61574E2F00090E6047404F0009020
-:0E072600E6047406F00090E6047408F00090FB
-:0E073400E604E4F00090E60BE4F00090E649E5
-:0E0742007484F00090E6497484F00090E6198B
-:0E075000E4F00090E6197410F00090E63274A8
-:0E075E0080F00090E6337404F00090E61A7408
-:0E076C000CF00090E6247402F00090E625E404
-:0E077A00F00090E6347409F00090E63574FC4F
-:0E078800F00090E61B740CF00090E626740260
-:0E079600F00090E627E4F00090E6367441F0A3
-:0E07A4000090E63774FCF0000090E69174803F
-:0A07B200F00090E6917480F0002240
-:0807BC0090E6A0E04401F022E8
-:0E07C400AA8274805AC423541FFB740F5A90EB
-:0C07D200E6834BF090E683E04420F02228
-:0E07DE0090E680E0440AF09000FA120DF190CF
-:0E07EC00E65D74FFF090E65F74FFF05391EF4E
-:0807FA0090E680E054F7F022C4
-:060E1D00E478FFF6D8FDA9
-:060E0200751200751300DB
-:0A08020090E680E0FA30E719751463
-:03080C000075155F
-:03080F00E175167A
-:0308120012751745
-:03081500E1751872
-:030818001C751933
-:03081B00E1751A6A
-:03081E006E751BD9
-:02082100E122D2
-:040823007514527581
-:0308270015E17563
-:03082A00166475DC
-:03082D0017E1755B
-:03083000186E75CA
-:0308330019E17553
-:030836001A1C7514
-:030839001BE1229E
-:09083C005391EF75A100D20232C4
-:0C084500C021C0E0C0F0C082C083C0022F
-:0E085100C003C004C005C006C007C000C0013F
-:0E085F00C0D075D0005391EF75A100120802B1
-:0E086D00D0D0D001D000D007D006D005D004E6
-:0D087B00D003D002D083D082D0F0D0E0D0E6
-:0208880021321B
-:0C088A00C021C0E0C0F0C082C083C002EA
-:0E089600C003C004C005C006C007C000C001FA
-:0E08A400C0D075D0005391EF75A1001208026C
-:0E08B200D0D0D001D000D007D006D005D004A1
-:0D08C000D003D002D083D082D0F0D0E0D0A1
-:0208CD002132D6
-:0508CF00120802751C77
-:0308D4003C751D53
-:0808D70008758200120C8E75F9
-:0308DF001C457540
-:0608E2001D0875821012D2
-:0408E8000C8E751CE1
-:0308EC008A751DED
-:0C08EF0008758214120C8E90E65C7431C7
-:0208FB00F022E9
-:0D08FD00E582547FFA24F750047582002232
-:07090A00BA0104758201220D
-:08091100530201E4BA000104E5
-:03091900F5822242
-:0E091C00AA82BA010C90E6A1E0FB7C008B825F
-:03092A008C832299
-:0E092D00BA810C90E6A2E0FB7C008B828C83EA
-:01093B002299
-:0E093C0053027FEA700C90E6A0E0FB7C008B7B
-:04094A00828C8322F6
-:0E094E0090E6A3E0FB7C00EAC313FA7D00EA0A
-:09095C002BFBED3C8B82F583229C
-:0C096500C20290E6B8E0FA530260BA004B
-:03097100028028D9
-:05097400BA2002800D15
-:05097900BA4002800EEF
-:05097E00BA60028003D5
-:03098300020C2340
-:060986001207BC020C2365
-:0A098C00120372E5826003020C23DF
-:060996001207BC020C2355
-:0D099C0090E6B8E0FA530280BA80028003B2
-:0309A900020B241A
-:0B09AC0090E6B9E0FABA0003020A9DD1
-:0509B700BA06028035C4
-:0509BC00BA08028008EA
-:0509C100BA0A028017D4
-:0309C600020B1E03
-:0C09C90090E740E512F090E68AE4F09020
-:0809D500E68B7401F0020C2313
-:0C09DD0090E740E513F090E68AE4F0900B
-:0809E900E68B7401F0020C23FF
-:0A09F10090E6BBE0FABA010280179D
-:0509FB00BA0202803881
-:050A0000BA0302805959
-:050A0500BA0602801B8F
-:050A0A00BA0702803C68
-:030A0F00020A9741
-:0A0A1200AA14AB1590E6B3EBF07BDD
-:090A1C000090E6B4EAF0020C239C
-:0A0A2500AA16AB1790E6B3EBF07BC6
-:090A2F000090E6B4EAF0020C2389
-:0A0A3800AA18AB1990E6B3EBF07BAF
-:090A42000090E6B4EAF0020C2376
-:0A0A4B00AA1AAB1B90E6B3EBF07B98
-:090A55000090E6B4EAF0020C2363
-:0E0A5E0090E6BAE0FA90E18EE0FBC3EA9B401E
-:070A6C00061207BC020C2377
-:0C0A730090E6BAE075F002A4248FF58232
-:0B0A7F0074E135F0F583E0FAA3E0908D
-:0D0A8A00E6B3F07B0090E6B4EAF0020C2326
-:060A97001207BC020C2353
-:0D0A9D0090E6B8E0FA53021FBA0002800A8A
-:050AAA00BA0102801BEF
-:050AAF00BA0266802C74
-:0E0AB40090E740E4F090E741F090E68AF09081
-:080AC200E68B7402F0020C2324
-:0E0ACA0090E740E4F090E741F090E68AF0906B
-:080AD800E68B7402F0020C230E
-:0E0AE00090E6BCE0F5821208FDE582602590EC
-:0E0AEE00E6BCE0F58212091CE0FA530201900A
-:0E0AFC00E740EAF090E741E4F090E68AF090DF
-:080B0A00E68B7402F0020C23DB
-:060B12001207BC020C23D7
-:060B18001207BC020C23D1
-:060B1E001207BC020C23CB
-:0C0B240090E6B9E0FA24F45003020C2023
-:070B3000EA2A2A900B37733B
-:070B3700020C20020B6D020D
-:060B3E000BE8020BC902E6
-:060B44000C20020C20024F
-:060B4A000C20020C200249
-:060B50000C20020B5B0209
-:050B56000C20020B64FD
-:090B5B0090E6BAE0F512020C2349
-:090B640090E6BAE0F513020C233F
-:0D0B6D0090E6B8E0FA53021FBA00028005BE
-:050B7A00BA0247800AE9
-:0A0B7F0090E6BAE01207BC020C2356
-:0D0B890090E6BAE0703090E6BCE0F5821214
-:0D0B960008FDE582602390E6BCE0F58212C8
-:0E0BA300091CAA82AB83E0FC5304FE8A828BFD
-:0E0BB10083ECF090E6BCE0F5821207C480648D
-:050BBF001207BC805F7D
-:050BC4001207BC805A7D
-:0E0BC90090E6B8E0FA53021FBA004F90E6BA69
-:070BD700E0FABA01028005FB
-:050BDE00BA0202804094
-:050BE3001207BC803B7D
-:0E0BE80090E6BAE0FA702C90E6BCE0F58212BE
-:0D0BF60008FDE582601A90E6BCE0F5821271
-:0E0C0300091CAA82AB83E0FC4304018A828BA9
-:050C110083ECF0800DF2
-:050C16001207BC80087C
-:050C1B001207BC80037C
-:030C20001207BCFC
-:080C230090E6A0E04480F022FD
-:050C2B00AA82BA0300DB
-:070C30004005EA249C50017D
-:010C3700229A
-:090C3800740F5AFBBB0302800794
-:070C4100740F5AFBBB0B45C9
-:0A0C4800A2AF9203C2AFEA2400F548
-:0C0C520082E43400F5837402F07B00742F
-:0C0C5E00012AFCE43BFDEC2400F582EDD3
-:0A0C6A003400F583E51DFCF0740270
-:0C0C74002AFAE43BFBEA2400F582EB3492
-:0A0C800000F583AA1C7B00EAF0A235
-:030C8A000392AF23
-:010C8D002244
-:080C8E00E582FA2483500122E3
-:060C9600EA540360012294
-:0A0C9C00A2AF9204C2AFEA2400F5F3
-:0C0CA60082E43401F5837402F07B0074DA
-:0C0CB200012AFCE43BFDEC2400F582ED7F
-:0A0CBE003401F583E51DF074022AED
-:0B0CC800FAE43BFBEA2400F582EB3469
-:080CD30001F583AA1CEAF0A25E
-:040CDB000492AF22AE
-:050CDF00AA82BA8000AA
-:070CE4004005EA244B50011A
-:010CEB0022E6
-:060CEC00EA54036001223E
-:0A0CF200A2AF9205C2AFEA2480F51C
-:0C0CFC0082E43400F5837402F07B007485
-:0C0D0800012AFCE43BFDEC2480F582EDA8
-:0A0D14003400F583E51DF074022A97
-:0B0D1E00FAE43BFBEA2480F582EB3492
-:080D290000F583AA1CEAF0A208
-:040D31000592AF2256
-:080D3500C2E8C2EA751C00755A
-:060D3D001D017582431246
-:040D43000C2B751CE4
-:030D470080751D97
-:0C0D4A0000758253120C2B0090E650E460
-:0E0D5600F00090E652E4F00090E654E4F00065
-:0E0D640090E656E4F00090E65174FFF0009027
-:0E0D7200E65374FFF00090E65574FFF0009019
-:0E0D8000E65774FFF00090E658E4F090E65954
-:0E0D8E0074FFF090E65AE4F090E65B74FFF01C
-:0E0D9C0090E65CE4F090E65D74FFF090E65E99
-:0E0DAA00E4F090E65F74FFF00090E660E4F085
-:0D0DB8000090E66174FFF090E662E4F090B8
-:0E0DC500E66374FFF090E665E4F090E6687473
-:0A0DD3000BF05391AFD2E8D2EA22F0
-:010DDD0022F3
-:020DDE00AA82E7
-:060DE000120DDDDAFB221A
-:030DE60090FB502F
-:080DE900A3E582458370F922A5
-:040DF100AA82AB83A4
-:080DF500120DE61ABAFF011B02
-:050DFD00EA4B70F42236
-:030E1000758121C8
-:0A0E13001205D5E5826003020E0B04
-:00000001FF
Index: tools/fx2/bin/nexys2_jtag_2fifo_as.ihx
===================================================================
--- tools/fx2/bin/nexys2_jtag_2fifo_as.ihx (revision 17)
+++ tools/fx2/bin/nexys2_jtag_2fifo_as.ihx (nonexistent)
@@ -1,443 +0,0 @@
-:06000000020DEB02006B93
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030DF100020DF9F7
-:030E0C00020DF4E0
-:050DF4001203F180FE76
-:06018000C200E4F508F5E1
-:0401860009F50AD29B
-:05018A0001750B00757A
-:06018F000C001205FB123A
-:0E01950005F875CB6375CAC0758E0075C80479
-:0701A300D2AFD2B0D2B122AD
-:0B01AA00AA82850C827583E0EAF00554
-:0501B5000C0509E4B592
-:0401BA000902050A27
-:0101BE00221E
-:0401BF0020000122F9
-:0E01C3001205F790E6A2E0FA30E103020257BF
-:0A01D100E509450A60687AC07BE783
-:0E01DB008B9D7AC07BE77B008A9E90E67C7449
-:0C01E90031F07460F0C3743E9509E49599
-:0A01F5000A50107A3EE50924C2F515
-:0601FF0009E50A34FFF5DA
-:030205000A800765
-:06020800AA09E4F509F566
-:01020E000AE5
-:0B020F008A037C007DE08D9A850B9B2C
-:0E021A008A041AEC601090E67BE090E67CF01F
-:080228007C007DE08D9A80EA64
-:0C023000859B0B0090E68F74022BF0D22F
-:03023C00CF801858
-:0E023F0030CF1590E7C07431F090E7C17460C5
-:0A024D00F00090E68F7402F0C2CFBB
-:06025700E5AA30E00122DF
-:0A025D00C3E50994C1E50A940040CE
-:02026700012272
-:0E02690090E690E0FB7A0090E691E0FC7D00CC
-:0A027700EA4CF50DEB4DF50E7C008E
-:0E0281007DF08D9A7C007DF08C9B7C007D00D2
-:0A028F00C3EC950DED950E4003023F
-:02029900036AF6
-:07029B00E5087003020326D1
-:0A02A200E50DC39CFEE50E9DFFA8CC
-:0C02AC00087900C3E89EE99F5004880612
-:0202B8008907B4
-:0A02BA008E00E508C398F508EE2C4D
-:0B02C400FCEF3DFD30012C8E008F018F
-:0902CF008802890318B8FF011927
-:0E02D800EA4B60B390E67BE0F582C004C005FF
-:0E02E600C000C001120632D001D000D005D0F9
-:0302F4000480D8AB
-:0402F7008E028F03E1
-:0902FB008A068B071ABAFF011BE9
-:0E030400EE4F608790E67BE0F582C002C003FA
-:0E031200C004C00512066F1201AAD005D00467
-:06032000D003D00280D5DD
-:0D03260090E67BE0FA23235401FBB40100B4
-:0A0333009201EA30E707743F5AF523
-:03033D0008802213
-:0C03400030010F8A82C004C005120606BE
-:06034C00D005D004801072
-:0E0352008A82C004C0051206241201AAD0053A
-:02036000D004C7
-:050362000CBC00010DC0
-:0303670002028F00
-:08036A000090E6917480F0227E
-:0E03720090E6B8E0FA20E70C90E6B9E07002E1
-:02038000D200A9
-:04038200758201225D
-:0E03860090E6B9E0FABA902B90E6BCE025E0D4
-:0A039400547FFA2400F582E43418C7
-:0C039E00F583E0FB90E740F0EA04240047
-:0C03AA00F582E43418F583E0FA90E74196
-:0303B600F0800CC8
-:0C03B90090E7407436F090E7417483F048
-:0D03C50090E68AE4F090E6BEE0FABA02008D
-:0903D200500790E6BEE0FA80023B
-:0203DB007A02A4
-:0903DD0090E68BEAF07582012222
-:0603E60030020312094E73
-:0503EC001201BF80F5C5
-:0903F100C2AF1201801206BE1217
-:0603FA000450120D1E125A
-:0804000008B8D2AF1207C702D1
-:0204080003E609
-:0A040A00AA82E50F54FEFBB50F02B5
-:0204140080293D
-:0A0416008A048C05E46210ED621107
-:0A042000EB2400F582E43418F583A4
-:0A042A00E0FB7C006210EC6211E5BB
-:060434001033C51133C5B1
-:05043A001192E0F51035
-:06043F00AB0F050FEB24DA
-:0A04450000F582E43418F583EAF0B4
-:01044F00228A
-:07045000750F007510AA757D
-:0C04570011AA75820012040A75820012BE
-:04046300040A7A000D
-:0C046700C3EA648094865017EA2408F56C
-:0C04730082E434E1F583E0F582C002125F
-:07047F00040AD0020A80E12B
-:020486007A00FA
-:0C048800C3EA648094825017EA2423F534
-:0C04940082E434E1F583E0F582C002123E
-:0704A000040AD0020A80E10A
-:0E04A70075821C12040A75820012040A7A0083
-:0C04B500C3EA648094825017EA2402F528
-:0C04C10082E434E1F583E0F582C0021211
-:0704CD00040AD0020A80E1DD
-:0C04D4007486250FFAF582C00212040A9B
-:0C04E00090E196E0F58212040AD0029030
-:0D04EC00E196E02AFAF582C00212040A909F
-:0B04F900E1B4E0F58212040AD002908A
-:0A050400E1B4E02AF58212040A9027
-:0A050E00E1DEE0F58212040A7A0033
-:0E05180090E196E0FBC3EA64808BF063F08014
-:0B05260095F05017EA2496F582E434AB
-:0C053100E1F583E0F582C00212040AD05C
-:04053D00020A80D757
-:020541007A003E
-:0E05430090E1B4E0FBC3EA64808BF063F080CB
-:0B05510095F05017EA24B4F582E43462
-:0C055C00E1F583E0F582C00212040AD031
-:04056800020A80D72C
-:02056C007A0013
-:0E056E0090E1DEE0FBC3EA64808BF063F08076
-:0B057C0095F05017EA24DEF582E4340D
-:0C058700E1F583E0F582C00212040AD006
-:04059300020A80D701
-:020597007A00E8
-:0C059900C3EA648094845017EA240EF535
-:0C05A50082E434E1F583E0F582C002122C
-:0705B100040AD0020A80E1F8
-:0C05B8007482250F400875820012040AAE
-:0205C40080F2C3
-:0805C600AA1090187EEAF0AAC9
-:0705CE001190187FEAF022F2
-:0805D5007880E84400600C7915
-:0C05DD0001901800E4F0A3D8FCD9FAD07B
-:0E05E90083D082F6D8FDC082C08375820022C6
-:02E1000012010A
-:06E10200000200000040D5
-:06E10800C016EF03040045
-:04E10E000102030106
-:0AE112000A060002FFFFFF400100B3
-:07E11C0009022E00010100C1
-:0EE1230080FA0904000004FFFFFF02070581D7
-:0EE131000200020007050202000200070504BA
-:0BE13F0002000200070586020002003B
-:0EE14A001201000200000040C016EF030400A6
-:04E1580001020301BC
-:0AE15C000A060002FFFFFF40010069
-:0EE166000902200001010080FA0904000002F5
-:0EE17400FFFFFF0207058102400000070502C1
-:04E182000240000057
-:01E186000494
-:02E1870090E125
-:02E1890096E11D
-:02E18B00B4E1FD
-:02E18D00DEE1D1
-:06E1900006030000090473
-:0EE196001E037700770077002E0072006500F0
-:0EE1A400740072006F00310031002E00640024
-:02E1B200650006
-:0EE1B4002A036E0065007800790073003200C7
-:0EE1C2005F006A007400610067005F003200B9
-:0EE1D0006600690066006F005F00610073006A
-:0EE1DE001203300030003000300030003000FE
-:04E1EC0030003000CF
-:0105F70022E1
-:0105F80022E0
-:0105F90022DF
-:0105FA0022DE
-:0B05FB00D2B775B5809001F4020DDA54
-:0E060600AA82ABB574FE5BF5F0741C45F0F5EE
-:0E061400B5EA1392B4EAA2E192B3EAA2E4922C
-:02062200B22202
-:0E062400120606A2B0E433FA74024AF58222EE
-:0E063200E5821392B2D2B413C2B492B2D2B423
-:0E06400013C2B492B2D2B413C2B492B2D2B406
-:0E064E0013C2B492B2D2B413C2B492B2D2B4F8
-:0E065C0013C2B492B2D2B413C2B492B2D2B4EA
-:05066A0000C2B42222D1
-:0E066F00E582A2B01392B2D2B4C2B4A2B0130C
-:0E067D0092B2D2B4C2B4A2B01392B2D2B4C23E
-:0E068B00B4A2B01392B2D2B4C2B4A2B0139211
-:0E069900B2D2B4C2B4A2B01392B2D2B4C2B400
-:0E06A700A2B01392B2D2B4C2B4A2B01392B2F7
-:0906B500D2B400C2B4F582222285
-:0D06BE0090E6007412F090E60174ABF0902D
-:0E06CB00E6707480F00090E60274E0F000909B
-:0E06D900E60374F9F00090E6047480F00090DF
-:0D06E700E60B7403F00090E610E4F00090C4
-:0D06F400E61174A0F00090E618E4F000900C
-:0E070100E6047402F00090E61274A2F000907C
-:0E070F00E61374A2F00090E61474E0F000907F
-:0E071D00E6157402F00090E6047404F00090FB
-:0E072B00E6047406F00090E6047408F00090F6
-:0E073900E604E4F00090E60BE4F00090E649E0
-:0E0747007484F00090E6497484F00090E61986
-:0E075500E4F00090E6197410F00090E63274A3
-:0E07630080F00090E6337404F00090E61A7403
-:0E0771000CF00090E6247402F00090E625E4FF
-:0E077F00F00090E6347419F00090E63574FC3A
-:0E078D00F00090E61BE4F0000090E69174800E
-:0A079B00F00090E6917480F0002257
-:0807A50090E6A0E04401F022FF
-:0E07AD00AA8274805AC423541FFB740F5A9002
-:0C07BB00E6834BF090E683E04420F0223F
-:0E07C70090E680E0440AF09000FA120DDA90FD
-:0E07D500E65D74FFF090E65F74FFF05391EF65
-:0807E30090E680E054F7F022DB
-:060E0600E478FFF6D8FDC0
-:060DEB00751200751300F3
-:0A07EB0090E680E0FA30E71975147B
-:0307F50000751577
-:0307F800E1751692
-:0307FB001275175D
-:0307FE00E175188A
-:030801001C75194A
-:03080400E1751A81
-:0308070066751BF8
-:02080A00E122E9
-:04080C0075144A75A0
-:0308100015E1757A
-:03081300165C75FB
-:0308160017E17572
-:03081900186675E9
-:03081C0019E1756A
-:03081F001A1C752B
-:030822001BE122B5
-:090825005391EF75A100D20232DB
-:0C082E00C021C0E0C0F0C082C083C00246
-:0E083A00C003C004C005C006C007C000C00156
-:0E084800C0D075D0005391EF75A1001207EBE0
-:0E085600D0D0D001D000D007D006D005D004FD
-:0D086400D003D002D083D082D0F0D0E0D0FD
-:02087100213232
-:0C087300C021C0E0C0F0C082C083C00201
-:0E087F00C003C004C005C006C007C000C00111
-:0E088D00C0D075D0005391EF75A1001207EB9B
-:0E089B00D0D0D001D000D007D006D005D004B8
-:0D08A900D003D002D083D082D0F0D0E0D0B8
-:0208B6002132ED
-:0508B8001207EB751CA6
-:0308BD0025751D81
-:0808C00008758200120C777527
-:0308C8001C2E756E
-:0608CB001D0875821012E9
-:0408D1000C77751C0F
-:0308D50073751D1B
-:0C08D80008758214120C7790E65C7431F5
-:0208E400F02200
-:0D08E600E582547FFA24F750047582002249
-:0708F300BA01047582012225
-:0808FA00530201E4BA000104FD
-:03090200F5822259
-:0E090500AA82BA010C90E6A1E0FB7C008B8276
-:030913008C8322B0
-:0E091600BA810C90E6A2E0FB7C008B828C8301
-:0109240022B0
-:0E09250053027FEA700C90E6A0E0FB7C008B92
-:04093300828C83220D
-:0E09370090E6A3E0FB7C00EAC313FA7D00EA21
-:090945002BFBED3C8B82F58322B3
-:0C094E00C20290E6B8E0FA530260BA0062
-:03095A00028028F0
-:05095D00BA2002800D2C
-:05096200BA4002800E06
-:05096700BA60028003EC
-:03096C00020C0C6E
-:06096F001207A5020C0CAA
-:0A097500120372E5826003020C0C0D
-:06097F001207A5020C0C9A
-:0D09850090E6B8E0FA530280BA80028003C9
-:03099200020B0D48
-:0B09950090E6B9E0FABA0003020A86FF
-:0509A000BA06028035DB
-:0509A500BA0802800801
-:0509AA00BA0A028017EB
-:0309AF00020B0731
-:0C09B20090E740E512F090E68AE4F09037
-:0809BE00E68B7401F0020C0C41
-:0C09C60090E740E513F090E68AE4F09022
-:0809D200E68B7401F0020C0C2D
-:0A09DA0090E6BBE0FABA01028017B4
-:0509E400BA0202803898
-:0509E900BA0302805971
-:0509EE00BA0602801BA7
-:0509F300BA0702803C80
-:0309F800020A8070
-:0A09FB00AA14AB1590E6B3EBF07BF5
-:090A05000090E6B4EAF0020C0CCA
-:0A0A0E00AA16AB1790E6B3EBF07BDD
-:090A18000090E6B4EAF0020C0CB7
-:0A0A2100AA18AB1990E6B3EBF07BC6
-:090A2B000090E6B4EAF0020C0CA4
-:0A0A3400AA1AAB1B90E6B3EBF07BAF
-:090A3E000090E6B4EAF0020C0C91
-:0E0A470090E6BAE0FA90E186E0FBC3EA9B403D
-:070A5500061207A5020C0CBC
-:0C0A5C0090E6BAE075F002A42487F58251
-:0B0A680074E135F0F583E0FAA3E090A4
-:0D0A7300E6B3F07B0090E6B4EAF0020C0C54
-:060A80001207A5020C0C98
-:0D0A860090E6B8E0FA53021FBA0002800AA1
-:050A9300BA0102801B06
-:050A9800BA0266802C8B
-:0E0A9D0090E740E4F090E741F090E68AF09098
-:080AAB00E68B7402F0020C0C52
-:0E0AB30090E740E4F090E741F090E68AF09082
-:080AC100E68B7402F0020C0C3C
-:0E0AC90090E6BCE0F5821208E6E5826025901A
-:0E0AD700E6BCE0F582120905E0FA5302019038
-:0E0AE500E740EAF090E741E4F090E68AF090F6
-:080AF300E68B7402F0020C0C0A
-:060AFB001207A5020C0C1D
-:060B01001207A5020C0C16
-:060B07001207A5020C0C10
-:0C0B0D0090E6B9E0FA24F45003020C0951
-:070B1900EA2A2A900B207369
-:070B2000020C09020B560252
-:060B27000BD1020BB2022B
-:060B2D000C09020C090294
-:060B33000C09020C09028E
-:060B39000C09020B44024E
-:050B3F000C09020B4D42
-:090B440090E6BAE0F512020C0C77
-:090B4D0090E6BAE0F513020C0C6D
-:0D0B560090E6B8E0FA53021FBA00028005D5
-:050B6300BA0247800A00
-:0A0B680090E6BAE01207A5020C0C9B
-:0D0B720090E6BAE0703090E6BCE0F582122B
-:0D0B7F0008E6E582602390E6BCE0F58212F6
-:0E0B8C000905AA82AB83E0FC5304FE8A828B2B
-:0E0B9A0083ECF090E6BCE0F5821207AD8064BB
-:050BA8001207A5805FAB
-:050BAD001207A5805AAB
-:0E0BB20090E6B8E0FA53021FBA004F90E6BA80
-:070BC000E0FABA0102800512
-:050BC700BA02028040AB
-:050BCC001207A5803BAB
-:0E0BD10090E6BAE0FA702C90E6BCE0F58212D5
-:0D0BDF0008E6E582601A90E6BCE0F582129F
-:0E0BEC000905AA82AB83E0FC4304018A828BD8
-:050BFA0083ECF0800D0A
-:050BFF001207A58008AB
-:050C04001207A58003AA
-:030C09001207A52A
-:080C0C0090E6A0E04480F02214
-:050C1400AA82BA0300F2
-:070C19004005EA249C500194
-:010C200022B1
-:090C2100740F5AFBBB03028007AB
-:070C2A00740F5AFBBB0B45E0
-:0A0C3100A2AF9203C2AFEA2400F55F
-:0C0C3B0082E43400F5837402F07B007446
-:0C0C4700012AFCE43BFDEC2400F582EDEA
-:0A0C53003400F583E51DFCF0740287
-:0C0C5D002AFAE43BFBEA2400F582EB34A9
-:0A0C690000F583AA1C7B00EAF0A24C
-:030C73000392AF3A
-:010C7600225B
-:080C7700E582FA2483500122FA
-:060C7F00EA5403600122AB
-:0A0C8500A2AF9204C2AFEA2400F50A
-:0C0C8F0082E43401F5837402F07B0074F1
-:0C0C9B00012AFCE43BFDEC2400F582ED96
-:0A0CA7003401F583E51DF074022A04
-:0B0CB100FAE43BFBEA2400F582EB3480
-:080CBC0001F583AA1CEAF0A275
-:040CC4000492AF22C5
-:050CC800AA82BA8000C1
-:070CCD004005EA244B500131
-:010CD40022FD
-:060CD500EA540360012255
-:0A0CDB00A2AF9205C2AFEA2480F533
-:0C0CE50082E43400F5837402F07B00749C
-:0C0CF100012AFCE43BFDEC2480F582EDC0
-:0A0CFD003400F583E51DF074022AAF
-:0B0D0700FAE43BFBEA2480F582EB34A9
-:080D120000F583AA1CEAF0A21F
-:040D1A000592AF226D
-:080D1E00C2E8C2EA751C007571
-:060D26001D01758243125D
-:040D2C000C14751C12
-:030D300080751DAE
-:0C0D330000758253120C140090E650E48E
-:0E0D3F00F00090E652E4F00090E654E4F0007C
-:0E0D4D0090E656E4F00090E65174FFF000903E
-:0E0D5B00E65374FFF00090E65574FFF0009030
-:0E0D6900E65774FFF00090E658E4F090E6596B
-:0E0D770074FFF090E65AE4F090E65B74FFF033
-:0E0D850090E65CE4F090E65D74FFF090E65EB0
-:0E0D9300E4F090E65F74FFF00090E660E4F09C
-:0D0DA1000090E66174FFF090E662E4F090CF
-:0E0DAE00E66374FFF090E665E4F090E668748A
-:0A0DBC000BF05391AFD2E8D2EA2207
-:010DC600220A
-:020DC700AA82FE
-:060DC900120DC6DAFB2248
-:030DCF0090FB5046
-:080DD200A3E582458370F922BC
-:040DDA00AA82AB83BB
-:080DDE00120DCF1ABAFF011B30
-:050DE600EA4B70F4224D
-:030DF900758121E0
-:0A0DFC001205D5E5826003020DF434
-:00000001FF
Index: tools/fx2/bin
===================================================================
--- tools/fx2/bin (revision 17)
+++ tools/fx2/bin (nonexistent)
tools/fx2/bin
Property changes :
Deleted: svn:ignore
## -1,32 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
Index: tools/fx2/sys/README.txt
===================================================================
--- tools/fx2/sys/README.txt (revision 17)
+++ tools/fx2/sys/README.txt (nonexistent)
@@ -1,17 +0,0 @@
-# $Id: README.txt 446 2011-12-29 23:27:48Z mueller $
-
-to setup udev rules do
-
- sudo cp -a 99-retro-usb-permissions.rules /etc/udev/rules.d/
- sudo chown root:root /etc/udev/rules.d/99-retro-usb-permissions.rules
- dir /etc/udev/rules.d/
-
- sudo udevadm control --reload-rules
-
-to verify whether usb device was really put into group 'plugdev'
-
- lsusb
- --> look for bus/dev of interest
-
- find /dev/bus/usb -type c | sort| xargs ls -l
- --> check whether bus/dev of interest is in group plugdev
Index: tools/fx2/sys/99-retro-usb-permissions.rules
===================================================================
--- tools/fx2/sys/99-retro-usb-permissions.rules (revision 17)
+++ tools/fx2/sys/99-retro-usb-permissions.rules (nonexistent)
@@ -1,26 +0,0 @@
-# $Id: 99-retro-usb-permissions.rules 467 2013-01-02 19:49:05Z mueller $
-#
-# udev rules to make some USB adaptors writable to group plugdev
-#
-# copy into /etc/udev/rules.d
-#
-ACTION!="add", GOTO="special_usb_rules_end"
-SUBSYSTEM!="usb", GOTO="special_usb_rules_end"
-#
-# Cypress FX2 based systems ------------------------------------------
-# - Digilent Nexys2
-ATTR{idVendor}=="1443", ATTR{idProduct}=="0005", MODE="660", GROUP="plugdev"
-# - Digilent Nexys3 and Atlys
-ATTR{idVendor}=="1443", ATTR{idProduct}=="0007", MODE="660", GROUP="plugdev"
-#
-# - Cypress - EZ-USB FX2 USB 2.0 default
-ATTR{idVendor}=="04b4", ATTR{idProduct}=="8613", MODE="660", GROUP="plugdev"
-#
-# - ixo.de - USB-JTAG-IF (used by ixo_jtag firmware)
-ATTR{idVendor}=="16c0", ATTR{idProduct}=="06ad", MODE="660", GROUP="plugdev"
-# - VOTI - free for internal lab use 1007 (used by retro11 firmware; primary)
-ATTR{idVendor}=="16c0", ATTR{idProduct}=="03ef", MODE="660", GROUP="plugdev"
-# - VOTI - free for internal lab use 1008 (used by retro11 firmware; alternate)
-ATTR{idVendor}=="16c0", ATTR{idProduct}=="03f0", MODE="660", GROUP="plugdev"
-#
-LABEL="special_usb_rules_end"
Index: tools/fx2/sys
===================================================================
--- tools/fx2/sys (revision 17)
+++ tools/fx2/sys (nonexistent)
tools/fx2/sys
Property changes :
Deleted: svn:ignore
## -1,32 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
Index: tools/fx2
===================================================================
--- tools/fx2 (revision 17)
+++ tools/fx2 (nonexistent)
tools/fx2
Property changes :
Deleted: svn:ignore
## -1,32 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
Index: tools/tcl/setup_packages
===================================================================
--- tools/tcl/setup_packages (revision 17)
+++ tools/tcl/setup_packages (revision 16)
@@ -1,5 +1,5 @@
#! /usr/bin/env tclsh
-# $Id: setup_packages 445 2011-12-26 21:19:26Z mueller $
+# $Id: setup_packages 431 2011-11-21 17:56:37Z mueller $
#
pkg_mkIndex -verbose ../lib libr*tpp.so
#
@@ -11,4 +11,5 @@
pkg_mkIndex -verbose rbs3hio *.tcl
pkg_mkIndex -verbose rbemon *.tcl
#
-pkg_mkIndex -verbose tst_rlink *.tcl
+#
+pkg_mkIndex -verbose tst_rlink *.tcl
Index: tools/tcl/rbbram/perf.tcl
===================================================================
--- tools/tcl/rbbram/perf.tcl (revision 17)
+++ tools/tcl/rbbram/perf.tcl (revision 16)
@@ -1,6 +1,6 @@
-# $Id: perf.tcl 465 2012-12-27 21:29:38Z mueller $
+# $Id: perf.tcl 376 2011-04-17 12:24:07Z mueller $
#
-# Copyright 2011-2012 by Walter F.J. Mueller
+# Copyright 2011- by Walter F.J. Mueller
#
# This program is free software; you may redistribute and/or modify it under
# the terms of the GNU General Public License as published by the Free
@@ -13,7 +13,6 @@
#
# Revision History:
# Date Rev Version Comment
-# 2012-12-27 495 1.0.1 adopt format, cover small ms and large kb
# 2011-04-17 376 1.0 Initial version
#
@@ -136,16 +135,7 @@
foreach {nr i trun} $pval {
set ms [expr double($trun) / double($nr*$i)]
set kb [expr double(2*$nr*$i*$nblk) / double($trun)]
- if { $ms < 9.94 } {
- append oline [format " %5.2f" $ms]
- } else {
- append oline [format " %5.1f" $ms]
- }
- if { $kb > 999.9 } {
- append oline [format " %5.0f" $kb]
- } else {
- append oline [format " %5.1f" $kb]
- }
+ append oline [format " %5.1f %5.1f" $ms $kb]
}
append rval $oline
/tools/src/librlink/RlinkPortCuff.hpp
File deleted
/tools/src/librlink/RlinkPortCuff.cpp
File deleted
/tools/src/librlink/RlinkPortTerm.cpp
1,4 → 1,4
// $Id: RlinkPortTerm.cpp 466 2012-12-30 13:26:55Z mueller $ |
// $Id: RlinkPortTerm.cpp 440 2011-12-18 20:08:09Z mueller $ |
// |
// Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
24,7 → 24,7
|
/*! |
\file |
\version $Id: RlinkPortTerm.cpp 466 2012-12-30 13:26:55Z mueller $ |
\version $Id: RlinkPortTerm.cpp 440 2011-12-18 20:08:09Z mueller $ |
\brief Implemenation of RlinkPortTerm. |
*/ |
|
263,14 → 263,13
|
void RlinkPortTerm::Close() |
{ |
if (!IsOpen()) return; |
|
if (fFdWrite >= 0) { |
tcflush(fFdWrite, TCIOFLUSH); |
tcsetattr(fFdWrite, TCSANOW, &fTiosOld); |
if (fIsOpen) { |
if (fFdWrite >= 0) { |
tcflush(fFdWrite, TCIOFLUSH); |
tcsetattr(fFdWrite, TCSANOW, &fTiosOld); |
} |
RlinkPort::Close(); |
} |
RlinkPort::Close(); |
|
return; |
} |
|
285,7 → 284,7
uint8_t* po = buf; |
if (fRxBuf.size() < size) fRxBuf.resize(size); |
|
// repeat read until at least one byte returned (or an error occurs) |
// repeat read untill at least one byte returned (or an error occurs) |
// this avoids that the Read() returns with 0 in case only one byte is |
// seen and this is a kc_xesc. At most two iterations possible because |
// in 2nd iteration fPendXesc must be set and thus po pushed. |
/tools/src/librlink/RlinkPort.hpp
1,4 → 1,4
// $Id: RlinkPort.hpp 465 2012-12-27 21:29:38Z mueller $ |
// $Id: RlinkPort.hpp 380 2011-04-25 18:14:52Z mueller $ |
// |
// Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
13,7 → 13,6
// |
// Revision History: |
// Date Rev Version Comment |
// 2012-12-26 465 1.0.2 add CloseFd() method |
// 2011-04-24 380 1.0.1 use boost::noncopyable (instead of private dcl's) |
// 2011-03-27 375 1.0 Initial version |
// 2011-01-15 356 0.1 First draft |
22,7 → 21,7
|
/*! |
\file |
\version $Id: RlinkPort.hpp 465 2012-12-27 21:29:38Z mueller $ |
\version $Id: RlinkPort.hpp 380 2011-04-25 18:14:52Z mueller $ |
\brief Declaration of class RlinkPort. |
*/ |
|
98,7 → 97,6
bool AddOpt(const std::string& key, const std::string& val, |
bool hasval, const std::string& optlist, |
RerrMsg& emsg); |
void CloseFd(int& fd); |
|
protected: |
bool fIsOpen; //!< is open flag |
/tools/src/librlink/Makefile
1,4 → 1,4
# $Id: Makefile 465 2012-12-27 21:29:38Z mueller $ |
# $Id: Makefile 403 2011-08-06 17:36:22Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
16,7 → 16,7
# Compile and Link search paths |
# |
INCLFLAGS = -I${RETROBASE}/tools/src -I${BOOSTINC} |
LDLIBS = -lboost_thread -lusb-1.0 -L${RETROBASE}/tools/lib -lrtools |
LDLIBS = -lboost_thread -L${RETROBASE}/tools/lib -lrtools |
# |
# Object files to be included |
# |
24,8 → 24,7
RlinkCommand.o RlinkCommandExpect.o RlinkCommandList.o \ |
RlinkConnect.o \ |
RlinkCrc8.o RlinkPacketBuf.o \ |
RlinkPort.o RlinkPortFactory.o \ |
RlinkPortFifo.o RlinkPortTerm.o RlinkPortCuff.o |
RlinkPort.o RlinkPortFactory.o RlinkPortFifo.o RlinkPortTerm.o |
# |
DEP_all = $(OBJ_all:.o=.dep) |
# |
/tools/src/librlink/RlinkPort.cpp
1,4 → 1,4
// $Id: RlinkPort.cpp 466 2012-12-30 13:26:55Z mueller $ |
// $Id: RlinkPort.cpp 375 2011-04-02 07:56:47Z mueller $ |
// |
// Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
13,8 → 13,6
// |
// Revision History: |
// Date Rev Version Comment |
// 2012-12-28 466 1.0.2 allow Close() even when not open |
// 2012-12-26 465 1.0.1 add CloseFd() method |
// 2011-03-27 375 1.0 Initial version |
// 2011-01-15 356 0.1 First draft |
// --------------------------------------------------------------------------- |
21,7 → 19,7
|
/*! |
\file |
\version $Id: RlinkPort.cpp 466 2012-12-30 13:26:55Z mueller $ |
\version $Id: RlinkPort.cpp 375 2011-04-02 07:56:47Z mueller $ |
\brief Implemenation of RlinkPort. |
*/ |
|
80,12 → 78,14
|
void RlinkPort::Close() |
{ |
if (!IsOpen()) return; |
if (! IsOpen()) |
throw logic_error("RlinkPort::Close(): port not open"); |
|
if (fFdWrite == fFdRead) fFdWrite = -1; |
CloseFd(fFdWrite); |
CloseFd(fFdRead); |
close(fFdRead); |
if (fFdWrite != fFdRead) close(fFdWrite); |
|
fFdRead = -1; |
fFdWrite = -1; |
fIsOpen = false; |
fUrl.clear(); |
fScheme.clear(); |
338,7 → 338,7
|
return true; |
} |
// |
|
//------------------------------------------+----------------------------------- |
//! FIXME_docs |
|
359,18 → 359,6
} |
|
//------------------------------------------+----------------------------------- |
//! FIXME_docs |
|
void RlinkPort::CloseFd(int& fd) |
{ |
if (fd >= 0) { |
close(fd); |
fd = -1; |
} |
return; |
} |
|
//------------------------------------------+----------------------------------- |
#if (defined(Retro_NoInline) || defined(Retro_RlinkPort_NoInline)) |
#define inline |
#include "RlinkPort.ipp" |
/tools/src/librlink/RlinkPortFifo.cpp
1,4 → 1,4
// $Id: RlinkPortFifo.cpp 466 2012-12-30 13:26:55Z mueller $ |
// $Id: RlinkPortFifo.cpp 375 2011-04-02 07:56:47Z mueller $ |
// |
// Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
19,7 → 19,7
|
/*! |
\file |
\version $Id: RlinkPortFifo.cpp 466 2012-12-30 13:26:55Z mueller $ |
\version $Id: RlinkPortFifo.cpp 375 2011-04-02 07:56:47Z mueller $ |
\brief Implemenation of RlinkPortFifo. |
*/ |
|
49,10 → 49,7
//! Destructor |
|
RlinkPortFifo::~RlinkPortFifo() |
{ |
// no need to call Close() here, no RlinkPortFifo::Close() |
// cleanup will be done by ~RlinkPort() |
} |
{} |
|
//------------------------------------------+----------------------------------- |
//! FIXME_text |
/tools/src/librlink/RlinkPortFactory.cpp
1,6 → 1,6
// $Id: RlinkPortFactory.cpp 465 2012-12-27 21:29:38Z mueller $ |
// $Id: RlinkPortFactory.cpp 375 2011-04-02 07:56:47Z mueller $ |
// |
// Copyright 2011-2012 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
// This program is free software; you may redistribute and/or modify it under |
// the terms of the GNU General Public License as published by the Free |
13,7 → 13,6
// |
// Revision History: |
// Date Rev Version Comment |
// 2012-12-26 465 1.1 add cuff: support |
// 2011-03-27 374 1.0 Initial version |
// 2011-01-15 356 0.1 First draft |
// --------------------------------------------------------------------------- |
20,7 → 19,7
|
/*! |
\file |
\version $Id: RlinkPortFactory.cpp 465 2012-12-27 21:29:38Z mueller $ |
\version $Id: RlinkPortFactory.cpp 375 2011-04-02 07:56:47Z mueller $ |
\brief Implemenation of RlinkPortFactory. |
*/ |
|
27,7 → 26,6
#include "RlinkPortFactory.hpp" |
#include "RlinkPortFifo.hpp" |
#include "RlinkPortTerm.hpp" |
#include "RlinkPortCuff.hpp" |
|
using namespace std; |
using namespace Retro; |
55,8 → 53,6
return new RlinkPortFifo(); |
} else if (scheme == "term") { |
return new RlinkPortTerm(); |
} else if (scheme == "cuff") { |
return new RlinkPortCuff(); |
} |
|
emsg.Init("RlinkPortFactory::New()", string("unknown scheme: ") + scheme); |
/tools/src/librlinktpp/Makefile
1,8 → 1,7
# $Id: Makefile 464 2012-12-26 10:14:15Z mueller $ |
# $Id: Makefile 401 2011-07-31 21:02:33Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-12-24 464 1.1.1 add TCLINC |
# 2011-07-31 401 1.1 rename realclean->distclean |
# 2011-07-01 386 1.0.2 add BOOSTINC |
# 2011-03-20 372 1.0.1 renamed ..tcl -> ..tpp |
17,7 → 16,7
# |
# Compile and Link search paths |
# |
INCLFLAGS = -I${RETROBASE}/tools/src -I${TCLINC} -I${BOOSTINC} |
INCLFLAGS = -I/usr/include/tcl8.4 -I${RETROBASE}/tools/src -I${BOOSTINC} |
LDLIBS = -L${RETROBASE}/tools/lib -lrtools -lrtcltools -lrlink |
# |
# Object files to be included |
/tools/src/librutiltpp/Makefile
1,8 → 1,7
# $Id: Makefile 464 2012-12-26 10:14:15Z mueller $ |
# $Id: Makefile 401 2011-07-31 21:02:33Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-12-24 464 1.1.1 add TCLINC |
# 2011-07-31 401 1.1 rename realclean->distclean |
# 2011-07-01 386 1.0.2 add BOOSTINC |
# 2011-03-20 372 1.0.1 renamed ..tcl -> ..tpp |
17,7 → 16,7
# |
# Compile and Link search paths |
# |
INCLFLAGS = -I${RETROBASE}/tools/src -I${TCLINC} -I${BOOSTINC} |
INCLFLAGS = -I/usr/include/tcl8.4 -I${RETROBASE}/tools/src -I${BOOSTINC} |
LDLIBS = -L${RETROBASE}/tools/lib -lrtcltools |
# |
# Object files to be included |
/tools/src/librtcltools/Makefile
1,8 → 1,7
# $Id: Makefile 464 2012-12-26 10:14:15Z mueller $ |
# $Id: Makefile 401 2011-07-31 21:02:33Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-12-24 464 1.1.1 add TCLINC |
# 2011-07-31 401 1.1 rename realclean->distclean |
# 2011-07-01 386 1.0.1 add BOOSTINC |
# 2011-02-11 360 1.0 Initial version |
16,7 → 15,7
# |
# Compile and Link search paths |
# |
INCLFLAGS = -I${RETROBASE}/tools/src -I${TCLINC} -I${BOOSTINC} |
INCLFLAGS = -I/usr/include/tcl8.4 -I${RETROBASE}/tools/src -I${BOOSTINC} |
LDLIBS = -L${RETROBASE}/tools/lib -lrtools |
# |
# Object files to be included |
/tools/bin/fx2load_wrapper
File deleted
tools/bin/fx2load_wrapper
Property changes :
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: tools/bin/ti_rri
===================================================================
--- tools/bin/ti_rri (revision 17)
+++ tools/bin/ti_rri (revision 16)
@@ -1,8 +1,8 @@
#! /usr/bin/env tclsh
# -*- tcl -*-
-# $Id: ti_rri 467 2013-01-02 19:49:05Z mueller $
+# $Id: ti_rri 440 2011-12-18 20:08:09Z mueller $
#
-# Copyright 2011-2013 by Walter F.J. Mueller
+# Copyright 2011- by Walter F.J. Mueller
#
# This program is free software; you may redistribute and/or modify it under
# the terms of the GNU General Public License as published by the Free
@@ -15,9 +15,6 @@
#
# Revision History:
# Date Rev Version Comment
-# 2013-01-02 467 1.1.1 call rlc close only when really open
-# 2012-12-27 465 1.1 add --cuff support
-# 2012-02-09 457 1.0.4 disable autoexec
# 2011-12-19 440 1.0.3 re-organize option handling for --term and --fifo
# 2011-12-04 435 1.0.2 add flow attribute to --term
# 2011-04-22 379 1.0.1 check for RETROBASE; proper exit handling; help text
@@ -27,7 +24,6 @@
#
# --fifo[=name,opts,...]
# --term[=name,baud,opts,...]
-# --cuff[=name,...]
# --run=command
# --log=filename ; default "-"
# --logl=n ; default 2
@@ -45,8 +41,6 @@
fifo_ ""
term 0
term_ ""
- cuff 0
- cuff_ ""
run_ ""
log_ "-"
logl_ 2
@@ -60,9 +54,6 @@
set optsendseen 0
set runpid {}
-# disable autoexec
-set auto_noexec 1
-
#
# cleanup handler
# must be in a proc so that it can be called from tclreadline
@@ -73,8 +64,8 @@
global runpid
# now close rlink connection
- if { $opts(fifo) || $opts(term) || $opts(cuff) } {
- if { [rlc open] ne "" } { rlc close }
+ if { $opts(fifo) || $opts(term) } {
+ rlc close
}
# FIXME_code: should sync here with -run process run-down
@@ -93,7 +84,6 @@
switch -regexp -- $arg {
^--?fifo=?.*$ { set opts(fifo) 1; regexp -- {=(.*)} $arg dummy opts(fifo_) }
^--?term=?.*$ { set opts(term) 1; regexp -- {=(.*)} $arg dummy opts(term_) }
- ^--?cuff=?.*$ { set opts(cuff) 1; regexp -- {=(.*)} $arg dummy opts(cuff_) }
^--?run=.+$ { regexp -- {=(.*)} $arg dummy opts(run_) }
^--?log=.+$ { regexp -- {=(.*)} $arg dummy opts(log_) }
^--?logl=.+$ { regexp -- {=(.*)} $arg dummy opts(logl_) }
@@ -117,7 +107,7 @@
puts { --run=CMD exec's CMD as subprocess before the rlink port opened}
puts { useful to start test benches, usually via 'tbw'}
puts { --fifo[=ARGS] open fifo type rlink port. Optional arguments are:}
- puts { --fifo=[NAME[,OPTS]]}
+ puts { --fifo=[NAME[,KEEP]]}
puts { NAME fifo name prefix, default 'rlink_cext_fifo'}
puts { OPTS further options (comma separated list):}
puts { keep fifo is kept open on exit}
@@ -138,12 +128,6 @@
puts { break send a break, do autobaud}
puts { cts hardware flow control (cts/rts)}
puts { xon software flow control (xon/xoff)}
- puts { --cuff[=ARGS] open cuff type rlink port. Optional arguments are:}
- puts { --cuff=[NAME[,OPTS]]}
- puts { NAME USB path, default derived from environment}
- puts { variables RETRO_FX2_VID and RETRO_FX2_PID}
- puts { OPTS further options (comma separated list):}
- puts { trace trace USB activities}
puts { --log=FILE set log file name. Default is to write to stdout.}
puts { --logl=LVL set log level, default is '2' allowed values:}
puts { 0 no logging}
@@ -173,13 +157,8 @@
return 1
}
-set nopen 0;
-if { $opts(fifo) } { incr nopen }
-if { $opts(term) } { incr nopen }
-if { $opts(cuff) } { incr nopen }
-
-if { $nopen > 1 } {
- puts "-E: more than one of --fifo,--term,--cuff given, only one allowed"
+if { $opts(fifo) && $opts(term) } {
+ puts "-E: both --fifo and --term given, only one allowed"
return 1
}
@@ -240,20 +219,6 @@
rlc open $url
}
-# handle --cuff
-if { $opts(cuff) } {
- set nlist [split $opts(cuff_) ","]
- set path [lindex $nlist 0]
- set url "cuff:$path"
- set delim "?"
- foreach opt [lrange $nlist 1 end] {
- if {$opt ne ""} {append url "$delim$opt"}
- set delim ";"
- }
- # puts "-I: $url"
- rlc open $url
-}
-
# setup simulation mode default
set rlink::sim_mode [rlink::isfifo]
/tools/bin/vbomconv
1,7 → 1,7
#!/usr/bin/perl -w |
# $Id: vbomconv 456 2012-02-05 22:19:44Z mueller $ |
# $Id: vbomconv 433 2011-11-27 22:04:39Z mueller $ |
# |
# Copyright 2007-2012 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
14,8 → 14,6
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-02-05 456 1.9.4 redo filename substitution (= and :); add --get_top |
# 2012-01-02 448 1.9.3 use in ghdl_m -fexplicit also when simprim used |
# 2011-11-27 433 1.9.2 use in ghdl_m -fexplicit when unisim used |
# 2011-08-13 405 1.9.1 always write 'vhdl' into xst prj files again; for |
# -xst_export: remove opt file export, add ucf_cpp |
63,7 → 61,6
"xst_export=s", |
"ghdl_export=s", |
"isim_export=s", |
"get_top", |
"flist") || exit 1; |
|
sub print_help; |
71,7 → 68,6
sub scan_vbom; |
sub copy_edir; |
sub write_vbomdep; |
sub canon_fname; |
|
my @vbom_list; |
my @file_list; |
78,7 → 74,7
my %vbom_tbl; |
my %file_tbl; |
my %read_tbl; |
my %para_tbl; |
my %conf_tbl; |
my @ucf_cpp_list; |
my $is_xst = 0; # XST synthesis target |
my $is_ghdl = 0; # ghdl simulation target |
200,9 → 196,9
|
if ($do_trace) { |
print STDERR "\n"; |
print STDERR "filename substitution table:\n"; |
foreach (sort keys %para_tbl) { |
print STDERR " $_ = $para_tbl{$_}\n"; |
print STDERR "configuration table:\n"; |
foreach (sort keys %conf_tbl) { |
print STDERR " $_ = $conf_tbl{$_}\n"; |
} |
print STDERR "final file_list:\n"; |
foreach (@file_list) { |
229,10 → 225,10
my $rc = int($wrc/256); |
if ($rc == 0) { |
my $sig = $wrc % 256; |
print STDERR "%vbomconv-I: compilation aborted by signal $sig\n"; |
print STDERR "%vbomconv-I compilation aborted by signal $sig\n"; |
exit(1); |
} else { |
print STDERR "%vbomconv-I: compilation failed (rc=$rc) $?\n"; |
print STDERR "%vbomconv-I compilation failed (rc=$rc) $?\n"; |
exit($rc); |
} |
} |
301,8 → 297,7
|
$cmd .= "ghdl -m"; |
$cmd .= " -o $stem"; |
# -fexplicit needed for ISE 13.1,13.3 |
$cmd .= ' -fexplicit' if $has_unisim or $has_simprim; |
$cmd .= ' -fexplicit' if $has_unisim; # needed for ISE 13.1 |
$cmd .= ' -P$XILINX/ghdl/unisim' if $has_unisim; |
$cmd .= ' -P$XILINX/ghdl/simprim' if $has_simprim; |
$cmd .= " --ieee=synopsys"; |
524,12 → 519,6
|
} |
|
# --get_top ---------------------------------------------------------- |
|
if (exists $opts{get_top}) { |
print "$top\n"; |
} |
|
# --flist ------------------------------------------------------------ |
|
if (exists $opts{flist}) { |
586,51 → 575,6
|
s/\s*$//; # drop trailing blanks |
|
# process parameter definitions |
if (m{([\w]+)\s*=\s*(.*)}) { |
my $para = $1; |
my $val = $2; |
if ($val eq "") { |
print STDERR "%vbomconv-E: invalid \'$_\' in $vbom_file\n"; |
exit 1; |
} |
if (not exists $para_tbl{$para}) { |
$para_tbl{$para} = canon_fname($vbom_path, $val); |
print STDERR "--- define \${$para} = $val\n" if $do_trace; |
} else { |
print STDERR "--- ignore \${$para} = $val\n" if $do_trace; |
} |
next; |
} |
|
# process parameter substitutions |
while (m{\$\{([\w]+)\s*(:=)?\s*(.*?)\}}) { |
my $para = $1; |
my $del = $2; |
my $val = $3; |
my $pre = $`; |
my $post = $'; |
if (defined $del && $del eq ":=") { |
if (not exists $para_tbl{$para}) { |
$para_tbl{$para} = canon_fname($vbom_path, $val); |
print STDERR "--- define \${$para := $val}\n" if $do_trace; |
} else { |
print STDERR "--- ignore \${$para := $val}\n" if $do_trace; |
} |
} |
if (defined $para_tbl{$para}) { |
if ($do_trace) { |
print STDERR "--- use \${$para} -> $para_tbl{$para}\n"; |
} else { |
## print STDERR "%vbomconv-I: \${$para} -> $para_tbl{$para}\n"; |
} |
$_ = $pre . "!" . $para_tbl{$para} . $post; |
} else { |
print STDERR "%vbomconv-E: undefined \${$para} in $vbom_file\n"; |
exit 1; |
} |
} |
|
if (/^\[([a-z,]+)\]\s*(.+)$/) { # [xxx,yyy] tag seen |
my $qual = $1; |
my $name = $2; |
655,33 → 599,35
|
my $tag; |
my $val = $_; |
my $del; |
|
# detect tag:val lines |
if (m{^\s*(.*?)\s*:\s*(.*?)\s*$}) { |
# detect tag=val or tag:val lines |
if (m{^\s*(.*?)\s*([=:])\s*(.*?)\s*$}) { |
$tag = $1; |
$val = $2; |
$del = $2; |
$val = $3; |
} |
|
# process @top:<entity> lines |
if ($tag eq '@top') { |
$top = $val unless $top_done; |
# process @top:<entity> lines |
if (defined $del && $del eq ":" && $tag eq '@top') { |
$top = $val unless $top_done; |
next; |
} |
|
# process @ucf_cpp:<file> lines |
} elsif ($tag eq '@ucf_cpp') { |
push @ucf_cpp_list, $val; |
# process @ucf_cpp:<file> lines |
if (defined $del && $del eq ":" && $tag eq '@ucf_cpp') { |
push @ucf_cpp_list, $val; |
next; |
} |
|
# process @lib:<name> lines |
} elsif ($tag eq '@lib') { |
if ($val eq 'unisim') { |
$has_unisim = 1; |
} elsif ($val eq 'simprim') { |
$has_simprim = 1; |
} else { |
print STDERR "%vbomconv-E: invalid lib type \'$tag\' in $vbom_file\n"; |
exit 1; |
} |
# process @lib:<name> lines |
if (defined $del && $del eq ":" && $tag eq '@lib') { |
if ($val eq 'unisim') { |
$has_unisim = 1; |
} elsif ($val eq 'simprim') { |
$has_simprim = 1; |
} else { |
print STDERR "%vbomconv-E: invalid \'$tag:\' line in $vbom_file\n"; |
exit 1; |
die "unknown library type: $val"; |
} |
next; |
} |
691,14 → 637,25
$val =~ s{_ssim\.vhd$}{_tsim.vhd} if $is_tsim; |
|
# process normal .vhd or .vbom file lines |
# canonize file name unless not already done by filename substitution |
my $fullname; |
if ($val =~ m{^!(.*)$}) { |
$fullname = $1; |
} else { |
$fullname = canon_fname($vbom_path, $val); |
# get full relative file name (relative to cwd) |
|
my $fname = $val; |
$fname = "$vbom_path/$fname" if $vbom_path ne ""; |
|
# remove 'inner' .., e.g. ../x/../y --> ../y |
# this will also canonize the file names, thus same file same name |
|
my @flist; |
foreach (split "/",$fname) { |
if (scalar(@flist) && $flist[$#flist] ne ".." && $_ eq "..") { |
pop @flist; |
} else { |
push @flist, $_; |
} |
} |
|
my $fullname = join "/", @flist; |
|
# determine whether additional libs needed |
if ($fullname =~ m{_ssim\.vhd$}) { # ends in _ssim.vhd |
$has_unisim = 1; |
707,7 → 664,27
$has_simprim = 1; |
} |
|
# handle configuration statements (tag=val) |
if (defined $del && $del eq "=") { |
if (exists $conf_tbl{$tag}) { |
print STDERR "--- ignore $tag = $fullname\n" if $do_trace; |
} else { |
$conf_tbl{$tag} = $fullname; |
print STDERR "--- config $tag = $fullname\n" if $do_trace; |
} |
next; |
} |
|
# handle configurable lines (tag:val) |
if (defined $del && $del eq ":") { |
if (exists $conf_tbl{$tag}) { |
$fullname = $conf_tbl{$tag}; |
print STDERR "--- use $tag = $fullname\n" if $do_trace; |
} else { |
print STDERR "--- use $tag = $fullname (default)\n" if $do_trace; |
} |
} |
|
# build vbom table |
push @{$vbom_tbl{$vbom}}, $fullname; |
print STDERR "--- add $fullname\n" if $do_trace; |
782,28 → 759,7
} |
|
#------------------------------------------------------------------------------- |
sub canon_fname { |
my ($vpath,$fname) = @_; |
# get full relative file name (relative to cwd) |
$fname = "$vpath/$fname" if $vpath ne ""; |
|
# remove 'inner' .., e.g. ../x/../y --> ../y |
# this will also canonize the file names, thus same file same name |
|
my @flist; |
foreach (split "/",$fname) { |
if (scalar(@flist) && $flist[$#flist] ne ".." && $_ eq "..") { |
pop @flist; |
} else { |
push @flist, $_; |
} |
} |
|
return join "/", @flist; |
} |
|
#------------------------------------------------------------------------------- |
|
sub print_help { |
print "usage: vbomconf <command> file.vbom\n"; |
print " --help this message\n"; |
/tools/bin/config_wrapper
1,7 → 1,7
#!/usr/bin/perl -w |
# $Id: config_wrapper 467 2013-01-02 19:49:05Z mueller $ |
# $Id: config_wrapper 435 2011-12-04 20:15:25Z mueller $ |
# |
# Copyright 2010-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
14,8 → 14,6
# |
# Revision History: |
# Date Rev Version Comment |
# 2013-01-02 467 1.1.7 jconfig: prepend '0x' to support 'jtag #2007' |
# 2012-02-11 457 1.1.6 jconfig: use RETRO_FX2_VID/PID for USB VID/PID |
# 2011-12-03 435 1.1.5 add nexys3 support; |
# 2011-08-04 402 1.1.4 add atlys support; |
# 2011-07-25 399 1.1.3 add nexys2-500 support; bsdl path for sp605 |
179,28 → 177,7
|
my $jtag_part = $#plist + 1 - $pfpga; |
|
# handle USB VID/PID of board |
# taken from RETRO_FX2_VID and RETRO_FX2_PID environment variables |
# in the retro11 project the default is: |
# VID: 16c0 (VOTI) |
# PID: 03ef (VOTI free for internal lab use 1007) |
# |
# !! Important Note on Usage of this USB VID/PID !! |
# This VID/PID is owned by VOTI, a small dutch company. Usage is granted |
# for 'internal lab use only' by VOTI under the conditions: |
# - the gadgets in which you use those PIDs do not leave your desk |
# - you won't complain to VOTI if you get in trouble with duplicate PIDs |
# (for instance because someone else did not follow the previous rule). |
# See also http://www.voti.nl/pids/pidfaq.html |
# |
|
my $fx2_vid = $ENV{RETRO_FX2_VID}; |
my $fx2_pid = $ENV{RETRO_FX2_PID}; |
$fx2_vid = "16c0" unless defined $fx2_vid; |
$fx2_pid = "03ef" unless defined $fx2_pid; |
|
# give vid/pid with 0x prefix. jtag #2007 requires this, #1502 tolerates |
print OFILE "cable usbblaster vid=0x$fx2_vid pid=0x$fx2_pid\n"; |
print OFILE "cable usbblaster\n"; |
printf OFILE "bsdl path %s\n", $bpath; |
print OFILE "detect\n"; |
printf OFILE "part %d\n", $jtag_part; |
/tools/bin/isemsg_filter
1,7 → 1,7
#!/usr/bin/perl -w |
# $Id: isemsg_filter 450 2012-01-05 23:21:41Z mueller $ |
# $Id: isemsg_filter 406 2011-08-14 21:06:44Z mueller $ |
# |
# Copyright 2011-2012 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
14,7 → 14,6
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-01-04 450 1.1 preliminary check for par 'all constraints met' |
# 2011-08-14 406 1.0 Initial version |
# |
|
147,7 → 146,6
} |
|
close (FFILE); |
|
return 0; |
} |
|
163,13 → 161,9
my $msgorig = ""; |
my $msgflat = ""; |
my $inmsg = 0; |
my $parallmet = 0; |
|
while (<LFILE>) { |
chomp; |
|
$parallmet = 1 if ($type eq "par" && m/All c/); |
|
if (m{^(INFO|WARNING|ERROR):}) { |
if ($inmsg) {push @mlist, [$msgorig, $msgflat, 0];} |
$inmsg = 1; |
190,12 → 184,6
|
close (LFILE); |
|
if ($type eq "par" && $parallmet==0) { |
printf "!! ----------------------------------- !!\n"; |
printf "!! par: FAILED TO REACH TIMING CLOSURE !!\n"; |
printf "!! ----------------------------------- !!\n"; |
} |
|
return 0; |
} |
|
/rtl/sys_gen/tst_fx2loop/tst_fx2loop_hiomap.vhd
File deleted
/rtl/sys_gen/tst_fx2loop/tst_fx2loop_hiomap.vbom
File deleted
/rtl/sys_gen/tst_fx2loop/tst_fx2loop.vhd
File deleted
/rtl/sys_gen/tst_fx2loop/tst_fx2loop.c
File deleted
/rtl/sys_gen/tst_fx2loop/tst_fx2loop.vbom
File deleted
/rtl/sys_gen/tst_fx2loop/nexys2/ic/sys_conf.vhd
File deleted
/rtl/sys_gen/tst_fx2loop/nexys2/ic/.cvsignore
File deleted
/rtl/sys_gen/tst_fx2loop/nexys2/ic/Makefile
File deleted
rtl/sys_gen/tst_fx2loop/nexys2/ic
Property changes :
Deleted: svn:ignore
## -1,36 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
-_impactbatch.log
-sys_tst_fx2loop_ic_n2.ucf
-*.dep_ucf_cpp
-*.svf
Index: rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.mfset
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.mfset (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.mfset (nonexistent)
@@ -1,58 +0,0 @@
-# $Id: sys_tst_fx2loop_ic3_n2.mfset 453 2012-01-15 17:51:18Z mueller $
-#
-# ----------------------------------------------------------------------------
-[xst]
-INFO:.*Mux is complete : default of case is discarded
-
-Unconnected output port 'LOCKED' of component 'dcm_sfs'
-Unconnected output port 'DOA' of component 'ram_1swar_1ar_gen'
-
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-
-Input is never used
-Input > is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-
-Signal is assigned but never used
-Signal is assigned but never used
-Signal is assigned but never used
-
-#
-# ----------------------------------------------------------------------------
-[tra]
-INFO:.* - TNM 'I_CLK50', used in period specification.*was traced into DCM_SP
-The Offset constraint .*, is specified without a duration
-
-#
-# ----------------------------------------------------------------------------
-[map]
-The signal is incomplete
-The signal _IBUF> is incomplete
-The signal _IBUF> is incomplete
-The signal _IBUF> is incomplete
-INFO:.*
-
-#
-# ----------------------------------------------------------------------------
-[par]
-A clock IOB / clock component pair have been found that are not placed at
-The Offset constraint .*, is specified without a duration
-The signal I_MEM_WAIT_IBUF has no load
-The signal I_BTN<1>_IBUF has no load
-The signal I_BTN<2>_IBUF has no load
-The signal I_BTN<3>_IBUF has no load
-There are 4 loadless signals in this design
-
-#
-# ----------------------------------------------------------------------------
-[bgn]
-Spartan-3 1200E and 1600E devices do not support bitstream
-To achieve optimal frequency synthesis performance .* consult
-The signal is incomplete
-The signal _IBUF> is incomplete
-The signal _IBUF> is incomplete
-The signal _IBUF> is incomplete
Index: rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.ucf_cpp
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.ucf_cpp (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.ucf_cpp (nonexistent)
@@ -1,15 +0,0 @@
-## $Id: sys_tst_fx2loop_ic3_n2.ucf_cpp 453 2012-01-15 17:51:18Z mueller $
-##
-## Revision History:
-## Date Rev Version Comment
-## 2011-12-26 445 1.0 Initial version
-##
-
-NET "I_CLK50" TNM_NET = "I_CLK50";
-TIMESPEC "TS_I_CLK50" = PERIOD "I_CLK50" 20 ns HIGH 50 %;
-OFFSET = IN 10 ns BEFORE "I_CLK50";
-OFFSET = OUT 20 ns AFTER "I_CLK50";
-
-#include "bplib/nexys2/nexys2_pins.ucf"
-#include "bplib/nexys2/nexys2_pins_fx2.ucf"
-#include "bplib/nexys2/nexys2_time_fx2_ic.ucf"
Index: rtl/sys_gen/tst_fx2loop/nexys2/ic3/.cvsignore
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/ic3/.cvsignore (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/ic3/.cvsignore (nonexistent)
@@ -1,4 +0,0 @@
-_impactbatch.log
-sys_tst_fx2loop_ic3_n2.ucf
-*.dep_ucf_cpp
-*.svf
Index: rtl/sys_gen/tst_fx2loop/nexys2/ic3/Makefile
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/ic3/Makefile (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/ic3/Makefile (nonexistent)
@@ -1,29 +0,0 @@
-# $Id: Makefile 453 2012-01-15 17:51:18Z mueller $
-#
-# Revision History:
-# Date Rev Version Comment
-# 2012-01-15 453 1.0 Initial version
-#
-#
-VBOM_all = $(wildcard *.vbom)
-BIT_all = $(VBOM_all:.vbom=.bit)
-#
-ISE_BOARD = nexys2
-ISE_PATH = xc3s1200e-fg320-4
-FX2_FILE = nexys2_jtag_3fifo_ic.ihx
-#
-.PHONY : all clean
-#
-all : $(BIT_all)
-#
-clean : ise_clean
- rm -f $(VBOM_all:.vbom=.ucf)
-#
-#----
-#
-include $(RETROBASE)/rtl/make/generic_xflow.mk
-include $(RETROBASE)/rtl/make/generic_ghdl.mk
-#
-include $(VBOM_all:.vbom=.dep_xst)
-include $(VBOM_all:.vbom=.dep_ghdl)
-#
Index: rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.vbom
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.vbom (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2.vbom (nonexistent)
@@ -1,8 +0,0 @@
-# conf
-sys_conf = sys_conf.vhd
-# libs
-# components
-# design
-../sys_tst_fx2loop_n2.vbom
-@ucf_cpp: sys_tst_fx2loop_ic3_n2.ucf
-@top: sys_tst_fx2loop_n2
Index: rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_conf.vhd
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_conf.vhd (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_conf.vhd (nonexistent)
@@ -1,58 +0,0 @@
--- $Id: sys_conf.vhd 453 2012-01-15 17:51:18Z mueller $
---
--- Copyright 2012- by Walter F.J. Mueller
---
--- This program is free software; you may redistribute and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation, either version 2, or at your option any later version.
---
--- This program is distributed in the hope that it will be useful, but
--- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for complete details.
---
-------------------------------------------------------------------------------
--- Package Name: sys_conf
--- Description: Definitions for sys_tst_fx2loop_ic3_n2 (for synthesis)
---
--- Dependencies: -
--- Tool versions: xst 13.3; ghdl 0.29
--- Revision History:
--- Date Rev Version Comment
--- 2012-01-15 453 1.0 Initial version
-------------------------------------------------------------------------------
-
-library ieee;
-use ieee.std_logic_1164.all;
-
-use work.slvtypes.all;
-
-package sys_conf is
-
- constant sys_conf_clkfx_divide : positive := 1;
- constant sys_conf_clkfx_multiply : positive := 2;
-
- constant sys_conf_fx2_type : string := "ic3";
-
- -- dummy values defs for generic parameters of as controller
- constant sys_conf_fx2_rdpwldelay : positive := 1;
- constant sys_conf_fx2_rdpwhdelay : positive := 1;
- constant sys_conf_fx2_wrpwldelay : positive := 1;
- constant sys_conf_fx2_wrpwhdelay : positive := 1;
- constant sys_conf_fx2_flagdelay : positive := 1;
-
- -- pktend timer setting
- -- petowidth=10 -> 2^10 30 MHz clocks -> ~33 usec (normal operation)
- constant sys_conf_fx2_petowidth : positive := 10;
-
- constant sys_conf_fx2_ccwidth : positive := 5;
-
- constant sys_conf_hio_debounce : boolean := true; -- instantiate debouncers
-
- -- derived constants
-
- constant sys_conf_clksys : integer :=
- (50000000/sys_conf_clkfx_divide)*sys_conf_clkfx_multiply;
- constant sys_conf_clksys_mhz : integer := sys_conf_clksys/1000000;
-
-end package sys_conf;
Index: rtl/sys_gen/tst_fx2loop/nexys2/ic3
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/ic3 (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/ic3 (nonexistent)
rtl/sys_gen/tst_fx2loop/nexys2/ic3
Property changes :
Deleted: svn:ignore
## -1,36 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
-_impactbatch.log
-sys_tst_fx2loop_ic3_n2.ucf
-*.dep_ucf_cpp
-*.svf
Index: rtl/sys_gen/tst_fx2loop/nexys2/sys_tst_fx2loop_n2.vhd
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2/sys_tst_fx2loop_n2.vhd (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2/sys_tst_fx2loop_n2.vhd (nonexistent)
@@ -1,354 +0,0 @@
--- $Id: sys_tst_fx2loop_n2.vhd 461 2012-04-09 21:17:54Z mueller $
---
--- Copyright 2011-2012 by Walter F.J. Mueller
---
--- This program is free software; you may redistribute and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation, either version 2, or at your option any later version.
---
--- This program is distributed in the hope that it will be useful, but
--- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for complete details.
---
-------------------------------------------------------------------------------
--- Module Name: sys_tst_fx2loop_n2 - syn
--- Description: test of Cypress EZ-USB FX2 controller
---
--- Dependencies: vlib/xlib/dcm_sfs
--- vlib/genlib/clkdivce
--- bpgen/sn_humanio
--- tst_fx2loop_hiomap
--- tst_fx2loop
--- bplib/fx2lib/fx2_2fifoctl_as [sys_conf_fx2_type="as2"]
--- bplib/fx2lib/fx2_2fifoctl_ic [sys_conf_fx2_type="ic2"]
--- bplib/fx2lib/fx2_3fifoctl_ic [sys_conf_fx2_type="ic3"]
--- bplib/nxcramlib/nx_cram_dummy
---
--- Test bench: -
---
--- Target Devices: generic
--- Tool versions: xst 13.3; ghdl 0.29
---
--- Synthesized (xst):
--- Date Rev ise Target flop lutl lutm slic t peri ctl/MHz
--- 2012-04-09 461 13.3 O76d xc3s1200e-4 307 390 64 325 p 9.9 as2/100
--- 2012-04-09 461 13.3 O76d xc3s1200e-4 358 419 64 369 p 9.4 ic2/100
--- 2012-04-09 461 13.3 O76c xc3s1200e-4 436 537 96 476 p 8.9 ic3/100
---
--- Revision History:
--- Date Rev Version Comment
--- 2012-01-15 453 1.1 now generic for as,ic,ic3 controllers
--- 2011-12-26 445 1.0 Initial version
-------------------------------------------------------------------------------
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
-
-use work.slvtypes.all;
-use work.xlib.all;
-use work.genlib.all;
-use work.bpgenlib.all;
-use work.tst_fx2looplib.all;
-use work.fx2lib.all;
-use work.nxcramlib.all;
-use work.sys_conf.all;
-
--- ----------------------------------------------------------------------------
-
-entity sys_tst_fx2loop_n2 is -- top level
- -- implements nexys2_aif + fx2 pins
- port (
- I_CLK50 : in slbit; -- 50 MHz board clock
- I_RXD : in slbit; -- receive data (board view)
- O_TXD : out slbit; -- transmit data (board view)
- I_SWI : in slv8; -- n2 switches
- I_BTN : in slv4; -- n2 buttons
- O_LED : out slv8; -- n2 leds
- O_ANO_N : out slv4; -- 7 segment disp: anodes (act.low)
- O_SEG_N : out slv8; -- 7 segment disp: segments (act.low)
- O_MEM_CE_N : out slbit; -- cram: chip enable (act.low)
- O_MEM_BE_N : out slv2; -- cram: byte enables (act.low)
- O_MEM_WE_N : out slbit; -- cram: write enable (act.low)
- O_MEM_OE_N : out slbit; -- cram: output enable (act.low)
- O_MEM_ADV_N : out slbit; -- cram: address valid (act.low)
- O_MEM_CLK : out slbit; -- cram: clock
- O_MEM_CRE : out slbit; -- cram: command register enable
- I_MEM_WAIT : in slbit; -- cram: mem wait
- O_MEM_ADDR : out slv23; -- cram: address lines
- IO_MEM_DATA : inout slv16; -- cram: data lines
- O_FLA_CE_N : out slbit; -- flash ce.. (act.low)
- I_FX2_IFCLK : in slbit; -- fx2: interface clock
- O_FX2_FIFO : out slv2; -- fx2: fifo address
- I_FX2_FLAG : in slv4; -- fx2: fifo flags
- O_FX2_SLRD_N : out slbit; -- fx2: read enable (act.low)
- O_FX2_SLWR_N : out slbit; -- fx2: write enable (act.low)
- O_FX2_SLOE_N : out slbit; -- fx2: output enable (act.low)
- O_FX2_PKTEND_N : out slbit; -- fx2: packet end (act.low)
- IO_FX2_DATA : inout slv8 -- fx2: data lines
- );
-end sys_tst_fx2loop_n2;
-
-architecture syn of sys_tst_fx2loop_n2 is
-
- signal CLK : slbit := '0';
- signal RESET : slbit := '0';
-
- signal CE_USEC : slbit := '0';
- signal CE_MSEC : slbit := '0';
-
- signal SWI : slv8 := (others=>'0');
- signal BTN : slv4 := (others=>'0');
- signal LED : slv8 := (others=>'0');
- signal DSP_DAT : slv16 := (others=>'0');
- signal DSP_DP : slv4 := (others=>'0');
-
- signal LED_MAP : slv8 := (others=>'0');
-
- signal HIO_CNTL : hio_cntl_type := hio_cntl_init;
- signal HIO_STAT : hio_stat_type := hio_stat_init;
-
- signal FX2_RXDATA : slv8 := (others=>'0');
- signal FX2_RXVAL : slbit := '0';
- signal FX2_RXHOLD : slbit := '0';
- signal FX2_RXAEMPTY : slbit := '0';
- signal FX2_TXDATA : slv8 := (others=>'0');
- signal FX2_TXENA : slbit := '0';
- signal FX2_TXBUSY : slbit := '0';
- signal FX2_TXAFULL : slbit := '0';
- signal FX2_TX2DATA : slv8 := (others=>'0');
- signal FX2_TX2ENA : slbit := '0';
- signal FX2_TX2BUSY : slbit := '1';
- signal FX2_TX2AFULL : slbit := '0';
- signal FX2_MONI : fx2ctl_moni_type := fx2ctl_moni_init;
-
-begin
-
- assert (sys_conf_clksys mod 1000000) = 0
- report "assert sys_conf_clksys on MHz grid"
- severity failure;
-
- DCM : dcm_sfs
- generic map (
- CLKFX_DIVIDE => sys_conf_clkfx_divide,
- CLKFX_MULTIPLY => sys_conf_clkfx_multiply,
- CLKIN_PERIOD => 20.0)
- port map (
- CLKIN => I_CLK50,
- CLKFX => CLK,
- LOCKED => open
- );
-
- CLKDIV : clkdivce
- generic map (
- CDUWIDTH => 7, -- good for up to 127 MHz !
- USECDIV => sys_conf_clksys_mhz,
- MSECDIV => 1000)
- port map (
- CLK => CLK,
- CE_USEC => CE_USEC,
- CE_MSEC => CE_MSEC
- );
-
- HIO : sn_humanio
- generic map (
- DEBOUNCE => sys_conf_hio_debounce)
- port map (
- CLK => CLK,
- RESET => '0',
- CE_MSEC => CE_MSEC,
- SWI => SWI,
- BTN => BTN,
- LED => LED,
- DSP_DAT => DSP_DAT,
- DSP_DP => DSP_DP,
- I_SWI => I_SWI,
- I_BTN => I_BTN,
- O_LED => O_LED,
- O_ANO_N => O_ANO_N,
- O_SEG_N => O_SEG_N
- );
-
- RESET <= BTN(0); -- BTN(0) will reset tester !!
-
- HIOMAP : tst_fx2loop_hiomap
- port map (
- CLK => CLK,
- RESET => RESET,
- HIO_CNTL => HIO_CNTL,
- HIO_STAT => HIO_STAT,
- FX2_MONI => FX2_MONI,
- SWI => SWI,
- BTN => BTN,
- LED => LED_MAP,
- DSP_DAT => DSP_DAT,
- DSP_DP => DSP_DP
- );
-
- proc_led: process (SWI, LED_MAP, FX2_TX2BUSY, FX2_TX2ENA,
- FX2_TXBUSY, FX2_TXENA, FX2_RXHOLD, FX2_RXVAL)
- begin
-
- if SWI(4) = '1' then
- LED(7) <= '0';
- LED(6) <= '0';
- LED(5) <= FX2_TX2BUSY;
- LED(4) <= FX2_TX2ENA;
- LED(3) <= FX2_TXBUSY;
- LED(2) <= FX2_TXENA;
- LED(1) <= FX2_RXHOLD;
- LED(0) <= FX2_RXVAL;
- else
- LED <= LED_MAP;
- end if;
-
- end process proc_led;
-
-
- TST : tst_fx2loop
- port map (
- CLK => CLK,
- RESET => RESET,
- CE_MSEC => CE_MSEC,
- HIO_CNTL => HIO_CNTL,
- HIO_STAT => HIO_STAT,
- FX2_MONI => FX2_MONI,
- RXDATA => FX2_RXDATA,
- RXVAL => FX2_RXVAL,
- RXHOLD => FX2_RXHOLD,
- TXDATA => FX2_TXDATA,
- TXENA => FX2_TXENA,
- TXBUSY => FX2_TXBUSY,
- TX2DATA => FX2_TX2DATA,
- TX2ENA => FX2_TX2ENA,
- TX2BUSY => FX2_TX2BUSY
- );
-
- FX2_CNTL_AS : if sys_conf_fx2_type = "as2" generate
- CNTL : fx2_2fifoctl_as
- generic map (
- RXFAWIDTH => 5,
- TXFAWIDTH => 5,
- CCWIDTH => sys_conf_fx2_ccwidth,
- RXAEMPTY_THRES => 1,
- TXAFULL_THRES => 1,
- PETOWIDTH => sys_conf_fx2_petowidth,
- RDPWLDELAY => sys_conf_fx2_rdpwldelay,
- RDPWHDELAY => sys_conf_fx2_rdpwhdelay,
- WRPWLDELAY => sys_conf_fx2_wrpwldelay,
- WRPWHDELAY => sys_conf_fx2_wrpwhdelay,
- FLAGDELAY => sys_conf_fx2_flagdelay)
- port map (
- CLK => CLK,
- CE_USEC => CE_USEC,
- RESET => RESET,
- RXDATA => FX2_RXDATA,
- RXVAL => FX2_RXVAL,
- RXHOLD => FX2_RXHOLD,
- RXAEMPTY => FX2_RXAEMPTY,
- TXDATA => FX2_TXDATA,
- TXENA => FX2_TXENA,
- TXBUSY => FX2_TXBUSY,
- TXAFULL => FX2_TXAFULL,
- MONI => FX2_MONI,
- I_FX2_IFCLK => I_FX2_IFCLK,
- O_FX2_FIFO => O_FX2_FIFO,
- I_FX2_FLAG => I_FX2_FLAG,
- O_FX2_SLRD_N => O_FX2_SLRD_N,
- O_FX2_SLWR_N => O_FX2_SLWR_N,
- O_FX2_SLOE_N => O_FX2_SLOE_N,
- O_FX2_PKTEND_N => O_FX2_PKTEND_N,
- IO_FX2_DATA => IO_FX2_DATA
- );
- end generate FX2_CNTL_AS;
-
- FX2_CNTL_IC : if sys_conf_fx2_type = "ic2" generate
- CNTL : fx2_2fifoctl_ic
- generic map (
- RXFAWIDTH => 5,
- TXFAWIDTH => 5,
- PETOWIDTH => sys_conf_fx2_petowidth,
- CCWIDTH => sys_conf_fx2_ccwidth,
- RXAEMPTY_THRES => 1,
- TXAFULL_THRES => 1)
- port map (
- CLK => CLK,
- RESET => RESET,
- RXDATA => FX2_RXDATA,
- RXVAL => FX2_RXVAL,
- RXHOLD => FX2_RXHOLD,
- RXAEMPTY => FX2_RXAEMPTY,
- TXDATA => FX2_TXDATA,
- TXENA => FX2_TXENA,
- TXBUSY => FX2_TXBUSY,
- TXAFULL => FX2_TXAFULL,
- MONI => FX2_MONI,
- I_FX2_IFCLK => I_FX2_IFCLK,
- O_FX2_FIFO => O_FX2_FIFO,
- I_FX2_FLAG => I_FX2_FLAG,
- O_FX2_SLRD_N => O_FX2_SLRD_N,
- O_FX2_SLWR_N => O_FX2_SLWR_N,
- O_FX2_SLOE_N => O_FX2_SLOE_N,
- O_FX2_PKTEND_N => O_FX2_PKTEND_N,
- IO_FX2_DATA => IO_FX2_DATA
- );
- end generate FX2_CNTL_IC;
-
- FX2_CNTL_IC3 : if sys_conf_fx2_type = "ic3" generate
- CNTL : fx2_3fifoctl_ic
- generic map (
- RXFAWIDTH => 5,
- TXFAWIDTH => 5,
- PETOWIDTH => sys_conf_fx2_petowidth,
- CCWIDTH => sys_conf_fx2_ccwidth,
- RXAEMPTY_THRES => 1,
- TXAFULL_THRES => 1,
- TX2AFULL_THRES => 1)
- port map (
- CLK => CLK,
- RESET => RESET,
- RXDATA => FX2_RXDATA,
- RXVAL => FX2_RXVAL,
- RXHOLD => FX2_RXHOLD,
- RXAEMPTY => FX2_RXAEMPTY,
- TXDATA => FX2_TXDATA,
- TXENA => FX2_TXENA,
- TXBUSY => FX2_TXBUSY,
- TXAFULL => FX2_TXAFULL,
- TX2DATA => FX2_TX2DATA,
- TX2ENA => FX2_TX2ENA,
- TX2BUSY => FX2_TX2BUSY,
- TX2AFULL => FX2_TX2AFULL,
- MONI => FX2_MONI,
- I_FX2_IFCLK => I_FX2_IFCLK,
- O_FX2_FIFO => O_FX2_FIFO,
- I_FX2_FLAG => I_FX2_FLAG,
- O_FX2_SLRD_N => O_FX2_SLRD_N,
- O_FX2_SLWR_N => O_FX2_SLWR_N,
- O_FX2_SLOE_N => O_FX2_SLOE_N,
- O_FX2_PKTEND_N => O_FX2_PKTEND_N,
- IO_FX2_DATA => IO_FX2_DATA
- );
- end generate FX2_CNTL_IC3;
-
- SRAM_PROT : nx_cram_dummy -- connect CRAM to protection dummy
- port map (
- O_MEM_CE_N => O_MEM_CE_N,
- O_MEM_BE_N => O_MEM_BE_N,
- O_MEM_WE_N => O_MEM_WE_N,
- O_MEM_OE_N => O_MEM_OE_N,
- O_MEM_ADV_N => O_MEM_ADV_N,
- O_MEM_CLK => O_MEM_CLK,
- O_MEM_CRE => O_MEM_CRE,
- I_MEM_WAIT => I_MEM_WAIT,
- O_MEM_ADDR => O_MEM_ADDR,
- IO_MEM_DATA => IO_MEM_DATA
- );
-
- O_FLA_CE_N <= '1'; -- keep Flash memory disabled
-
- O_TXD <= I_RXD; -- loop-back in serial port...
-
-end syn;
-
Index: rtl/sys_gen/tst_fx2loop/nexys2
===================================================================
--- rtl/sys_gen/tst_fx2loop/nexys2 (revision 17)
+++ rtl/sys_gen/tst_fx2loop/nexys2 (nonexistent)
rtl/sys_gen/tst_fx2loop/nexys2
Property changes :
Deleted: svn:ignore
## -1,32 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
Index: rtl/sys_gen/tst_fx2loop/tst_fx2looplib.vhd
===================================================================
--- rtl/sys_gen/tst_fx2loop/tst_fx2looplib.vhd (revision 17)
+++ rtl/sys_gen/tst_fx2loop/tst_fx2looplib.vhd (nonexistent)
@@ -1,109 +0,0 @@
--- $Id: tst_fx2looplib.vhd 453 2012-01-15 17:51:18Z mueller $
---
--- Copyright 2011-2012 by Walter F.J. Mueller
---
--- This program is free software; you may redistribute and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation, either version 2, or at your option any later version.
---
--- This program is distributed in the hope that it will be useful, but
--- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for complete details.
---
-------------------------------------------------------------------------------
--- Package Name: tst_fx2looplib
--- Description: Definitions for tst_fx2loop records and helpers
---
--- Dependencies: -
--- Tool versions: xst 13.3; ghdl 0.29
--- Revision History:
--- Date Rev Version Comment
--- 2012-01-15 453 1.1 drop pecnt, add rxhold,(tx|tx2)busy in hio_stat
--- 2011-12-26 445 1.0 Initial version
-------------------------------------------------------------------------------
-
-library ieee;
-use ieee.std_logic_1164.all;
-
-use work.slvtypes.all;
-use work.fx2lib.all;
-
-package tst_fx2looplib is
-
- constant c_ctltyp_2fifo_as : integer := 0; -- fx2ctl type: 2fifo_as
- constant c_ctltyp_2fifo_ic : integer := 1; -- fx2ctl type: 2fifo_ic
- constant c_ctltyp_3fifo_ic : integer := 2; -- fx2ctl type: 3fifo_ic
-
- constant c_mode_idle : slv2 := "00"; -- mode: idle (no tx activity)
- constant c_mode_rxblast : slv2 := "01"; -- mode: rxblast (check rx activity)
- constant c_mode_txblast : slv2 := "10"; -- mode: txblast (saturate tx)
- constant c_mode_loop : slv2 := "11"; -- mode: loop (rx->tx loop-back)
-
- type hio_cntl_type is record -- humanio controls
- mode : slv2; -- mode (idle,(tx|tx)blast,loop)
- tx2blast : slbit; -- enable tx2 blast
- throttle : slbit; -- enable 1 msec tx throttling
- end record hio_cntl_type;
-
- constant hio_cntl_init : hio_cntl_type := (
- c_mode_idle, -- mode
- '0','0' -- tx2blast,throttle
- );
-
- type hio_stat_type is record -- humanio status
- rxhold : slbit; -- rx hold
- txbusy : slbit; -- tx busy
- tx2busy : slbit; -- tx2 busy
- rxsecnt : slv16; -- rx sequence error counter
- rxcnt : slv32; -- rx word counter
- txcnt : slv32; -- tx word counter
- tx2cnt : slv32; -- tx2 word counter
- end record hio_stat_type;
-
- constant hio_stat_init : hio_stat_type := (
- '0','0','0', -- rxhold,txbusy,tx2busy
- (others=>'0'), -- rxsecnt
- (others=>'0'), -- rxcnt
- (others=>'0'), -- txcnt
- (others=>'0') -- tx2cnt
- );
-
--- -------------------------------------
-
-component tst_fx2loop is -- tester for serport components
- port (
- CLK : in slbit; -- clock
- RESET : in slbit; -- reset
- CE_MSEC : in slbit; -- msec pulse
- HIO_CNTL : in hio_cntl_type; -- humanio controls
- HIO_STAT : out hio_stat_type; -- humanio status
- FX2_MONI : in fx2ctl_moni_type; -- fx2ctl monitor
- RXDATA : in slv8; -- receiver data out
- RXVAL : in slbit; -- receiver data valid
- RXHOLD : out slbit; -- receiver data hold
- TXDATA : out slv8; -- transmit data in
- TXENA : out slbit; -- transmit data enable
- TXBUSY : in slbit; -- transmit busy
- TX2DATA : out slv8; -- transmit 2 data in
- TX2ENA : out slbit; -- transmit 2 data enable
- TX2BUSY : in slbit -- transmit 2 busy
- );
-end component;
-
-component tst_fx2loop_hiomap is -- default human I/O mapper
- port (
- CLK : in slbit; -- clock
- RESET : in slbit; -- reset
- HIO_CNTL : out hio_cntl_type; -- tester controls from hio
- HIO_STAT : in hio_stat_type; -- tester status to display by hio
- FX2_MONI : in fx2ctl_moni_type; -- fx2ctl monitor to display by hio
- SWI : in slv8; -- switch settings
- BTN : in slv4; -- button settings
- LED : out slv8; -- led data
- DSP_DAT : out slv16; -- display data
- DSP_DP : out slv4 -- display decimal points
- );
-end component;
-
-end package tst_fx2looplib;
Index: rtl/sys_gen/tst_fx2loop/tst_fx2looplib.vbom
===================================================================
--- rtl/sys_gen/tst_fx2loop/tst_fx2looplib.vbom (revision 17)
+++ rtl/sys_gen/tst_fx2loop/tst_fx2looplib.vbom (nonexistent)
@@ -1,4 +0,0 @@
-# libs
-../../vlib/slvtypes.vhd
-../../bplib/fx2lib/fx2lib.vhd
-tst_fx2looplib.vhd
Index: rtl/sys_gen/tst_fx2loop/.cvsignore
===================================================================
--- rtl/sys_gen/tst_fx2loop/.cvsignore (revision 17)
+++ rtl/sys_gen/tst_fx2loop/.cvsignore (nonexistent)
@@ -1,2 +0,0 @@
-tst_fx2loop
-tst_fx2loop_si
Index: rtl/sys_gen/tst_fx2loop/Makefile
===================================================================
--- rtl/sys_gen/tst_fx2loop/Makefile (revision 17)
+++ rtl/sys_gen/tst_fx2loop/Makefile (nonexistent)
@@ -1,34 +0,0 @@
-# $Id: Makefile 461 2012-04-09 21:17:54Z mueller $
-#
-# Revision History:
-# Date Rev Version Comment
-# 2012-02-26 458 1.1 add tst_fx2loop_si
-# 2011-12-26 445 1.0 Initial version
-#
-VBOM_all = $(wildcard *.vbom)
-NGC_all = $(VBOM_all:.vbom=.ngc)
-#
-ISE_PATH = xc3s1200e-fg320-4
-#
-.PHONY : all clean realclean
-#
-all : tst_fx2loop tst_fx2loop_si
-#
-clean : ise_clean
-#
-realclean :
- rm -f tst_fx2loop tst_fx2loop_si
-#
-CFLAGS = -Wall -O2 -g -lusb-1.0
-#
-tst_fx2loop : tst_fx2loop.c
- ${CC} ${CFLAGS} -o tst_fx2loop tst_fx2loop.c
-tst_fx2loop_si : tst_fx2loop_si.c
- ${CC} ${CFLAGS} -o tst_fx2loop_si tst_fx2loop_si.c
-#
-#----
-#
-include $(RETROBASE)/rtl/make/generic_xflow.mk
-#
-include $(VBOM_all:.vbom=.dep_xst)
-#
Index: rtl/sys_gen/tst_fx2loop
===================================================================
--- rtl/sys_gen/tst_fx2loop (revision 17)
+++ rtl/sys_gen/tst_fx2loop (nonexistent)
rtl/sys_gen/tst_fx2loop
Property changes :
Deleted: svn:ignore
## -1,34 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
-tst_fx2loop
-tst_fx2loop_si
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/sys_tst_rlink_cuff_n2.vhd
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/sys_tst_rlink_cuff_n2.vhd (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/sys_tst_rlink_cuff_n2.vhd (nonexistent)
@@ -1,381 +0,0 @@
--- $Id: sys_tst_rlink_cuff_n2.vhd 467 2013-01-02 19:49:05Z mueller $
---
--- Copyright 2012-2013 by Walter F.J. Mueller
---
--- This program is free software; you may redistribute and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation, either version 2, or at your option any later version.
---
--- This program is distributed in the hope that it will be useful, but
--- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for complete details.
---
-------------------------------------------------------------------------------
--- Module Name: sys_tst_rlink_cuff_n2 - syn
--- Description: rlink tester design for nexys2 with fx2 interface
---
--- Dependencies: vlib/xlib/dcm_sfs
--- vlib/genlib/clkdivce
--- bplib/bpgen/bp_rs232_2l4l_iob
--- bplib/bpgen/sn_humanio_rbus
--- bplib/fx2lib/fx2_2fifoctl_as [sys_conf_fx2_type="as2"]
--- bplib/fx2lib/fx2_2fifoctl_ic [sys_conf_fx2_type="ic2"]
--- bplib/fx2lib/fx2_3fifoctl_ic [sys_conf_fx2_type="ic3"]
--- tst_rlink_cuff
--- bplib/nxcramlib/nx_cram_dummy
---
--- Test bench: -
---
--- Target Devices: generic
--- Tool versions: xst 13.3; ghdl 0.29
---
--- Synthesized (xst):
--- Date Rev ise Target flop lutl lutm slic t peri ctl/MHz
--- 2012-12-29 466 13.3 O76d xc3s1200e-4 808 1739 160 1172 p 16.3 as2/ 50
--- 2013-01-02 467 13.3 O76d xc3s1200e-4 843 1792 160 1209 p 15.2 ic2/ 50
--- 2012-12-29 466 13.3 O76d xc3s1200e-4 863 1850 192 1266 p 13.6 ic3/ 50
---
--- Revision History:
--- Date Rev Version Comment
--- 2012-12-29 466 1.0 Initial version; derived from sys_tst_fx2loop_n2
--- the now obsoleted sys_tst_rlink_n2_cuff design
-------------------------------------------------------------------------------
--- Usage of Nexys 2 Switches, Buttons, LEDs:
---
--- SWI(7:3) no function (only connected to sn_humanio_rbus)
--- (2) 0 -> int/ext RS242 port for rlink
--- 1 -> use USB interface for rlink
--- (1) 1 enable XON
--- (0) 0 -> main board RS232 port - implemented in bp_rs232_2l4l_iob
--- 1 -> Pmod B/top RS232 port /
---
--- LED(7) SER_MONI.abact
--- (6:2) no function (only connected to sn_humanio_rbus)
--- (0) timer 0 busy
--- (1) timer 1 busy
---
--- DSP: SER_MONI.clkdiv (from auto bauder)
--- for SWI(2)='0' (serport)
--- DP(3) not SER_MONI.txok (shows tx back preasure)
--- (2) SER_MONI.txact (shows tx activity)
--- (1) not SER_MONI.rxok (shows rx back preasure)
--- (0) SER_MONI.rxact (shows rx activity)
--- for SWI(2)='1' (fx2)
--- DP(3) FX2_TX2BUSY (shows tx2 back preasure)
--- (2) FX2_TX2ENA(stretched) (shows tx2 activity)
--- (1) FX2_TXENA(streched) (shows tx activity)
--- (0) FX2_RXVAL(stretched) (shows rx activity)
---
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
-
-use work.slvtypes.all;
-use work.xlib.all;
-use work.genlib.all;
-use work.bpgenlib.all;
-use work.rblib.all;
-use work.fx2lib.all;
-use work.nxcramlib.all;
-use work.sys_conf.all;
-
--- ----------------------------------------------------------------------------
-
-entity sys_tst_rlink_cuff_n2 is -- top level
- -- implements nexys2_fusp_cuff_aif
- port (
- I_CLK50 : in slbit; -- 50 MHz board clock
- I_RXD : in slbit; -- receive data (board view)
- O_TXD : out slbit; -- transmit data (board view)
- I_SWI : in slv8; -- n2 switches
- I_BTN : in slv4; -- n2 buttons
- O_LED : out slv8; -- n2 leds
- O_ANO_N : out slv4; -- 7 segment disp: anodes (act.low)
- O_SEG_N : out slv8; -- 7 segment disp: segments (act.low)
- O_MEM_CE_N : out slbit; -- cram: chip enable (act.low)
- O_MEM_BE_N : out slv2; -- cram: byte enables (act.low)
- O_MEM_WE_N : out slbit; -- cram: write enable (act.low)
- O_MEM_OE_N : out slbit; -- cram: output enable (act.low)
- O_MEM_ADV_N : out slbit; -- cram: address valid (act.low)
- O_MEM_CLK : out slbit; -- cram: clock
- O_MEM_CRE : out slbit; -- cram: command register enable
- I_MEM_WAIT : in slbit; -- cram: mem wait
- O_MEM_ADDR : out slv23; -- cram: address lines
- IO_MEM_DATA : inout slv16; -- cram: data lines
- O_FLA_CE_N : out slbit; -- flash ce.. (act.low)
- O_FUSP_RTS_N : out slbit; -- fusp: rs232 rts_n
- I_FUSP_CTS_N : in slbit; -- fusp: rs232 cts_n
- I_FUSP_RXD : in slbit; -- fusp: rs232 rx
- O_FUSP_TXD : out slbit; -- fusp: rs232 tx
- I_FX2_IFCLK : in slbit; -- fx2: interface clock
- O_FX2_FIFO : out slv2; -- fx2: fifo address
- I_FX2_FLAG : in slv4; -- fx2: fifo flags
- O_FX2_SLRD_N : out slbit; -- fx2: read enable (act.low)
- O_FX2_SLWR_N : out slbit; -- fx2: write enable (act.low)
- O_FX2_SLOE_N : out slbit; -- fx2: output enable (act.low)
- O_FX2_PKTEND_N : out slbit; -- fx2: packet end (act.low)
- IO_FX2_DATA : inout slv8 -- fx2: data lines
- );
-end sys_tst_rlink_cuff_n2;
-
-architecture syn of sys_tst_rlink_cuff_n2 is
-
- signal CLK : slbit := '0';
- signal RESET : slbit := '0';
-
- signal CE_USEC : slbit := '0';
- signal CE_MSEC : slbit := '0';
-
- signal RXSD : slbit := '0';
- signal TXSD : slbit := '0';
- signal CTS_N : slbit := '0';
- signal RTS_N : slbit := '0';
-
- signal SWI : slv8 := (others=>'0');
- signal BTN : slv4 := (others=>'0');
- signal LED : slv8 := (others=>'0');
- signal DSP_DAT : slv16 := (others=>'0');
- signal DSP_DP : slv4 := (others=>'0');
-
- signal RB_MREQ : rb_mreq_type := rb_mreq_init;
- signal RB_SRES_HIO : rb_sres_type := rb_sres_init;
-
- signal FX2_RXDATA : slv8 := (others=>'0');
- signal FX2_RXVAL : slbit := '0';
- signal FX2_RXHOLD : slbit := '0';
- signal FX2_RXAEMPTY : slbit := '0';
- signal FX2_TXDATA : slv8 := (others=>'0');
- signal FX2_TXENA : slbit := '0';
- signal FX2_TXBUSY : slbit := '0';
- signal FX2_TXAFULL : slbit := '0';
- signal FX2_TX2DATA : slv8 := (others=>'0');
- signal FX2_TX2ENA : slbit := '0';
- signal FX2_TX2BUSY : slbit := '0';
- signal FX2_TX2AFULL : slbit := '0';
- signal FX2_MONI : fx2ctl_moni_type := fx2ctl_moni_init;
-
- constant rbaddr_hio : slv8 := "11000000"; -- 110000xx
-
-begin
-
- assert (sys_conf_clksys mod 1000000) = 0
- report "assert sys_conf_clksys on MHz grid"
- severity failure;
-
- DCM : dcm_sfs
- generic map (
- CLKFX_DIVIDE => sys_conf_clkfx_divide,
- CLKFX_MULTIPLY => sys_conf_clkfx_multiply,
- CLKIN_PERIOD => 20.0)
- port map (
- CLKIN => I_CLK50,
- CLKFX => CLK,
- LOCKED => open
- );
-
- CLKDIV : clkdivce
- generic map (
- CDUWIDTH => 7, -- good for up to 127 MHz !
- USECDIV => sys_conf_clksys_mhz,
- MSECDIV => 1000)
- port map (
- CLK => CLK,
- CE_USEC => CE_USEC,
- CE_MSEC => CE_MSEC
- );
-
- IOB_RS232 : bp_rs232_2l4l_iob
- port map (
- CLK => CLK,
- RESET => '0',
- SEL => SWI(0),
- RXD => RXSD,
- TXD => TXSD,
- CTS_N => CTS_N,
- RTS_N => RTS_N,
- I_RXD0 => I_RXD,
- O_TXD0 => O_TXD,
- I_RXD1 => I_FUSP_RXD,
- O_TXD1 => O_FUSP_TXD,
- I_CTS1_N => I_FUSP_CTS_N,
- O_RTS1_N => O_FUSP_RTS_N
- );
-
- HIO : sn_humanio_rbus
- generic map (
- DEBOUNCE => sys_conf_hio_debounce,
- RB_ADDR => rbaddr_hio)
- port map (
- CLK => CLK,
- RESET => RESET,
- CE_MSEC => CE_MSEC,
- RB_MREQ => RB_MREQ,
- RB_SRES => RB_SRES_HIO,
- SWI => SWI,
- BTN => BTN,
- LED => LED,
- DSP_DAT => DSP_DAT,
- DSP_DP => DSP_DP,
- I_SWI => I_SWI,
- I_BTN => I_BTN,
- O_LED => O_LED,
- O_ANO_N => O_ANO_N,
- O_SEG_N => O_SEG_N
- );
-
- FX2_CNTL_AS : if sys_conf_fx2_type = "as2" generate
- CNTL : fx2_2fifoctl_as
- generic map (
- RXFAWIDTH => 5,
- TXFAWIDTH => 5,
- CCWIDTH => sys_conf_fx2_ccwidth,
- RXAEMPTY_THRES => 1,
- TXAFULL_THRES => 1,
- PETOWIDTH => sys_conf_fx2_petowidth,
- RDPWLDELAY => sys_conf_fx2_rdpwldelay,
- RDPWHDELAY => sys_conf_fx2_rdpwhdelay,
- WRPWLDELAY => sys_conf_fx2_wrpwldelay,
- WRPWHDELAY => sys_conf_fx2_wrpwhdelay,
- FLAGDELAY => sys_conf_fx2_flagdelay)
- port map (
- CLK => CLK,
- CE_USEC => CE_USEC,
- RESET => RESET,
- RXDATA => FX2_RXDATA,
- RXVAL => FX2_RXVAL,
- RXHOLD => FX2_RXHOLD,
- RXAEMPTY => FX2_RXAEMPTY,
- TXDATA => FX2_TXDATA,
- TXENA => FX2_TXENA,
- TXBUSY => FX2_TXBUSY,
- TXAFULL => FX2_TXAFULL,
- MONI => FX2_MONI,
- I_FX2_IFCLK => I_FX2_IFCLK,
- O_FX2_FIFO => O_FX2_FIFO,
- I_FX2_FLAG => I_FX2_FLAG,
- O_FX2_SLRD_N => O_FX2_SLRD_N,
- O_FX2_SLWR_N => O_FX2_SLWR_N,
- O_FX2_SLOE_N => O_FX2_SLOE_N,
- O_FX2_PKTEND_N => O_FX2_PKTEND_N,
- IO_FX2_DATA => IO_FX2_DATA
- );
- end generate FX2_CNTL_AS;
-
- FX2_CNTL_IC : if sys_conf_fx2_type = "ic2" generate
- CNTL : fx2_2fifoctl_ic
- generic map (
- RXFAWIDTH => 5,
- TXFAWIDTH => 5,
- PETOWIDTH => sys_conf_fx2_petowidth,
- CCWIDTH => sys_conf_fx2_ccwidth,
- RXAEMPTY_THRES => 1,
- TXAFULL_THRES => 1)
- port map (
- CLK => CLK,
- RESET => RESET,
- RXDATA => FX2_RXDATA,
- RXVAL => FX2_RXVAL,
- RXHOLD => FX2_RXHOLD,
- RXAEMPTY => FX2_RXAEMPTY,
- TXDATA => FX2_TXDATA,
- TXENA => FX2_TXENA,
- TXBUSY => FX2_TXBUSY,
- TXAFULL => FX2_TXAFULL,
- MONI => FX2_MONI,
- I_FX2_IFCLK => I_FX2_IFCLK,
- O_FX2_FIFO => O_FX2_FIFO,
- I_FX2_FLAG => I_FX2_FLAG,
- O_FX2_SLRD_N => O_FX2_SLRD_N,
- O_FX2_SLWR_N => O_FX2_SLWR_N,
- O_FX2_SLOE_N => O_FX2_SLOE_N,
- O_FX2_PKTEND_N => O_FX2_PKTEND_N,
- IO_FX2_DATA => IO_FX2_DATA
- );
- end generate FX2_CNTL_IC;
-
- FX2_CNTL_IC3 : if sys_conf_fx2_type = "ic3" generate
- CNTL : fx2_3fifoctl_ic
- generic map (
- RXFAWIDTH => 5,
- TXFAWIDTH => 5,
- PETOWIDTH => sys_conf_fx2_petowidth,
- CCWIDTH => sys_conf_fx2_ccwidth,
- RXAEMPTY_THRES => 1,
- TXAFULL_THRES => 1,
- TX2AFULL_THRES => 1)
- port map (
- CLK => CLK,
- RESET => RESET,
- RXDATA => FX2_RXDATA,
- RXVAL => FX2_RXVAL,
- RXHOLD => FX2_RXHOLD,
- RXAEMPTY => FX2_RXAEMPTY,
- TXDATA => FX2_TXDATA,
- TXENA => FX2_TXENA,
- TXBUSY => FX2_TXBUSY,
- TXAFULL => FX2_TXAFULL,
- TX2DATA => FX2_TX2DATA,
- TX2ENA => FX2_TX2ENA,
- TX2BUSY => FX2_TX2BUSY,
- TX2AFULL => FX2_TX2AFULL,
- MONI => FX2_MONI,
- I_FX2_IFCLK => I_FX2_IFCLK,
- O_FX2_FIFO => O_FX2_FIFO,
- I_FX2_FLAG => I_FX2_FLAG,
- O_FX2_SLRD_N => O_FX2_SLRD_N,
- O_FX2_SLWR_N => O_FX2_SLWR_N,
- O_FX2_SLOE_N => O_FX2_SLOE_N,
- O_FX2_PKTEND_N => O_FX2_PKTEND_N,
- IO_FX2_DATA => IO_FX2_DATA
- );
- end generate FX2_CNTL_IC3;
-
- TST : entity work.tst_rlink_cuff
- port map (
- CLK => CLK,
- RESET => '0',
- CE_USEC => CE_USEC,
- CE_MSEC => CE_MSEC,
- RB_MREQ_TOP => RB_MREQ,
- RB_SRES_TOP => RB_SRES_HIO,
- SWI => SWI,
- BTN => BTN,
- LED => LED,
- DSP_DAT => DSP_DAT,
- DSP_DP => DSP_DP,
- RXSD => RXSD,
- TXSD => TXSD,
- RTS_N => RTS_N,
- CTS_N => CTS_N,
- FX2_RXDATA => FX2_RXDATA,
- FX2_RXVAL => FX2_RXVAL,
- FX2_RXHOLD => FX2_RXHOLD,
- FX2_TXDATA => FX2_TXDATA,
- FX2_TXENA => FX2_TXENA,
- FX2_TXBUSY => FX2_TXBUSY,
- FX2_TX2DATA => FX2_TX2DATA,
- FX2_TX2ENA => FX2_TX2ENA,
- FX2_TX2BUSY => FX2_TX2BUSY,
- FX2_MONI => FX2_MONI
- );
-
- SRAM_PROT : nx_cram_dummy -- connect CRAM to protection dummy
- port map (
- O_MEM_CE_N => O_MEM_CE_N,
- O_MEM_BE_N => O_MEM_BE_N,
- O_MEM_WE_N => O_MEM_WE_N,
- O_MEM_OE_N => O_MEM_OE_N,
- O_MEM_ADV_N => O_MEM_ADV_N,
- O_MEM_CLK => O_MEM_CLK,
- O_MEM_CRE => O_MEM_CRE,
- I_MEM_WAIT => I_MEM_WAIT,
- O_MEM_ADDR => O_MEM_ADDR,
- IO_MEM_DATA => IO_MEM_DATA
- );
-
- O_FLA_CE_N <= '1'; -- keep Flash memory disabled
-
-end syn;
-
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/sys_tst_rlink_cuff_n2.vbom
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/sys_tst_rlink_cuff_n2.vbom (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/sys_tst_rlink_cuff_n2.vbom (nonexistent)
@@ -1,30 +0,0 @@
-# this is the vbom for the 'generic' top level entity
-# to be referenced in the vbom's of the specific systems
-# ./as/sys_tst_rlink_cuff_as_n2
-# ./ic/sys_tst_rlink_cuff_ic_n2
-# ./ic3/sys_tst_rlink_cuff_ic3_n2
-#
-# libs
-../../../vlib/slvtypes.vhd
-../../../vlib/xlib/xlib.vhd
-../../../vlib/genlib/genlib.vhd
-../../../bplib/bpgen/bpgenlib.vbom
-../../../vlib/rbus/rblib.vhd
-../../../bplib/fx2lib/fx2lib.vhd
-../../../bplib/nxcramlib/nxcramlib.vhd
-${sys_conf}
-# components
-[xst,isim]../../../vlib/xlib/dcm_sfs_unisim_s3e.vbom
-[ghdl]../../../vlib/xlib/dcm_sfs_gsim.vbom
-../../../vlib/genlib/clkdivce.vbom
-../../../bplib/bpgen/bp_rs232_2l4l_iob.vbom
-../../../bplib/bpgen/sn_humanio_rbus.vbom
-../../../bplib/fx2lib/fx2_2fifoctl_as.vbom
-../../../bplib/fx2lib/fx2_2fifoctl_ic.vbom
-../../../bplib/fx2lib/fx2_3fifoctl_ic.vbom
-../tst_rlink_cuff.vbom
-../../../bplib/nxcramlib/nx_cram_dummy.vbom
-# design
-sys_tst_rlink_cuff_n2.vhd
-## no @ucf_cpp
-
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_conf.vhd
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_conf.vhd (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_conf.vhd (nonexistent)
@@ -1,62 +0,0 @@
--- $Id: sys_conf.vhd 466 2012-12-30 13:26:55Z mueller $
---
--- Copyright 2012- by Walter F.J. Mueller
---
--- This program is free software; you may redistribute and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation, either version 2, or at your option any later version.
---
--- This program is distributed in the hope that it will be useful, but
--- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for complete details.
---
-------------------------------------------------------------------------------
--- Package Name: sys_conf
--- Description: Definitions for sys_tst_rlink_cuff_ic_n2 (for synthesis)
---
--- Dependencies: -
--- Tool versions: xst 13.3; ghdl 0.29
--- Revision History:
--- Date Rev Version Comment
--- 2012-12-29 466 1.0 Initial version
-------------------------------------------------------------------------------
-
-library ieee;
-use ieee.std_logic_1164.all;
-
-use work.slvtypes.all;
-
-package sys_conf is
-
- constant sys_conf_clkfx_divide : positive := 1;
- constant sys_conf_clkfx_multiply : positive := 1;
-
- constant sys_conf_ser2rri_defbaud : integer := 115200; -- default 115k baud
- constant sys_conf_hio_debounce : boolean := true; -- instantiate debouncers
-
- constant sys_conf_fx2_type : string := "ic2";
-
- -- dummy values defs for generic parameters of as controller
- constant sys_conf_fx2_rdpwldelay : positive := 1;
- constant sys_conf_fx2_rdpwhdelay : positive := 1;
- constant sys_conf_fx2_wrpwldelay : positive := 1;
- constant sys_conf_fx2_wrpwhdelay : positive := 1;
- constant sys_conf_fx2_flagdelay : positive := 1;
-
- -- pktend timer setting
- -- petowidth=10 -> 2^10 30 MHz clocks -> ~33 usec (normal operation)
- constant sys_conf_fx2_petowidth : positive := 10;
-
- constant sys_conf_fx2_ccwidth : positive := 5;
-
- -- derived constants
-
- constant sys_conf_clksys : integer :=
- (50000000/sys_conf_clkfx_divide)*sys_conf_clkfx_multiply;
- constant sys_conf_clksys_mhz : integer := sys_conf_clksys/1000000;
-
- constant sys_conf_ser2rri_cdinit : integer :=
- (sys_conf_clksys/sys_conf_ser2rri_defbaud)-1;
-
-end package sys_conf;
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.vbom
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.vbom (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.vbom (nonexistent)
@@ -1,8 +0,0 @@
-# conf
-sys_conf = sys_conf.vhd
-# libs
-# components
-# design
-../sys_tst_rlink_cuff_n2.vbom
-@ucf_cpp: sys_tst_rlink_cuff_ic_n2.ucf
-@top: sys_tst_rlink_cuff_n2
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/ic/.cvsignore
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/.cvsignore (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/ic/.cvsignore (nonexistent)
@@ -1,4 +0,0 @@
-_impactbatch.log
-sys_tst_rlink_cuff_ic_n2.ucf
-*.dep_ucf_cpp
-*.svf
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/ic/Makefile
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/Makefile (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/ic/Makefile (nonexistent)
@@ -1,29 +0,0 @@
-# $Id: Makefile 466 2012-12-30 13:26:55Z mueller $
-#
-# Revision History:
-# Date Rev Version Comment
-# 2012-12-29 466 1.0 Initial version
-#
-#
-VBOM_all = $(wildcard *.vbom)
-BIT_all = $(VBOM_all:.vbom=.bit)
-#
-ISE_BOARD = nexys2
-ISE_PATH = xc3s1200e-fg320-4
-FX2_FILE = nexys2_jtag_2fifo_ic.ihx
-#
-.PHONY : all clean
-#
-all : $(BIT_all)
-#
-clean : ise_clean
- rm -f $(VBOM_all:.vbom=.ucf)
-#
-#----
-#
-include $(RETROBASE)/rtl/make/generic_xflow.mk
-include $(RETROBASE)/rtl/make/generic_ghdl.mk
-#
-include $(VBOM_all:.vbom=.dep_xst)
-include $(VBOM_all:.vbom=.dep_ghdl)
-#
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.mfset
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.mfset (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.mfset (nonexistent)
@@ -1,104 +0,0 @@
-# $Id: sys_tst_rlink_cuff_ic_n2.mfset 466 2012-12-30 13:26:55Z mueller $
-#
-# ----------------------------------------------------------------------------
-[xst]
-INFO:.*Mux is complete : default of case is discarded
-
-Register in unit has a constant value
-Register in unit has a constant value
-Register in unit has a constant value
-Register in unit has a constant value
-Register in unit has a constant value
-Register in unit has a constant value
-
-Unconnected output port 'SIZE' of component 'fifo_1c_dram'
-Unconnected output port 'LOCKED' of component 'dcm_sfs'
-Unconnected output port 'DOA' of component 'ram_1swar_1ar_gen'
-Unconnected output port 'DOB' of component 'ram_2swsr_wfirst_gen'
-Unconnected output port 'RL_MONI' of component 'rlink_core8'
-
-Input is never used
-Input > is never used
-Input is never used
-Input is never used
-Input > is never used
-Input > is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-Input is never used
-
-Output is never assigned
-
-Signal > is assigned but never used
-Signal is assigned but never used
-Signal > is assigned but never used
-Signal > is assigned but never used
-Signal is assigned but never used
-Signal is assigned but never used
-Signal is assigned but never used
-Signal > is assigned but never used
-Signal > is assigned but never used
-Signal is assigned but never used
-Signal is assigned but never used
-Signal is assigned but never used
-Signal is assigned but never used
-Signal is assigned but never used
-
-Signal is used but never assigned
-Signal is used but never assigned
-Signal is used but never assigned
-
-Signal is never used or assigned
-
-FF/Latch in Unit is equivalent
-
-FF/Latch has a constant value of 0
-FF/Latch has a constant value of 0
-FF/Latch has a constant value of 0
-FF/Latch has a constant value of 0
-FF/Latch has a constant value of 0
-
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-Node of sequential type is unconnected
-
-Node of sequential type is unconnected
-#
-# ----------------------------------------------------------------------------
-[tra]
-
-#
-# ----------------------------------------------------------------------------
-[map]
-The signal is incomplete
-Signal I_FX2_FLAG<3> connected to top level port I_FX2_FLAG<3> has been removed
-INFO:.*
-
-#
-# ----------------------------------------------------------------------------
-[par]
-The signal I_MEM_WAIT_IBUF has no load
-There are 1 loadless signals in this design
-This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was applied
-#
-# ----------------------------------------------------------------------------
-[bgn]
-Spartan-3 1200E and 1600E devices do not support bitstream
-The signal is incomplete
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.ucf_cpp
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.ucf_cpp (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2.ucf_cpp (nonexistent)
@@ -1,22 +0,0 @@
-## $Id: sys_tst_rlink_cuff_ic_n2.ucf_cpp 466 2012-12-30 13:26:55Z mueller $
-##
-## Revision History:
-## Date Rev Version Comment
-## 2012-12-29 466 1.0 Initial version
-##
-
-NET "I_CLK50" TNM_NET = "I_CLK50";
-TIMESPEC "TS_I_CLK50" = PERIOD "I_CLK50" 20 ns HIGH 50 %;
-OFFSET = IN 10 ns BEFORE "I_CLK50";
-OFFSET = OUT 20 ns AFTER "I_CLK50";
-
-#include "bplib/nexys2/nexys2_pins.ucf"
-##
-## Pmod B0 - RS232
-##
-#include "bplib/nexys2/nexys2_pins_pmb0_rs232.ucf"
-##
-## Cypress FX2
-##
-#include "bplib/nexys2/nexys2_pins_fx2.ucf"
-#include "bplib/nexys2/nexys2_time_fx2_ic.ucf"
Index: rtl/sys_gen/tst_rlink_cuff/nexys2/ic
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2/ic (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2/ic (nonexistent)
rtl/sys_gen/tst_rlink_cuff/nexys2/ic
Property changes :
Deleted: svn:ignore
## -1,36 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
-_impactbatch.log
-sys_tst_rlink_cuff_ic_n2.ucf
-*.dep_ucf_cpp
-*.svf
Index: rtl/sys_gen/tst_rlink_cuff/nexys2
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/nexys2 (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/nexys2 (nonexistent)
rtl/sys_gen/tst_rlink_cuff/nexys2
Property changes :
Deleted: svn:ignore
## -1,32 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
Index: rtl/sys_gen/tst_rlink_cuff/tst_rlink_cuff.vhd
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/tst_rlink_cuff.vhd (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/tst_rlink_cuff.vhd (nonexistent)
@@ -1,281 +0,0 @@
--- $Id: tst_rlink_cuff.vhd 467 2013-01-02 19:49:05Z mueller $
---
--- Copyright 2012-2013 by Walter F.J. Mueller
---
--- This program is free software; you may redistribute and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation, either version 2, or at your option any later version.
---
--- This program is distributed in the hope that it will be useful, but
--- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for complete details.
---
-------------------------------------------------------------------------------
--- Module Name: tst_rlink_cuff - syn
--- Description: tester for rlink over cuff
---
--- Dependencies: vlib/rlink/rlink_core8
--- vlib/rlink/rlink_rlbmux
--- vlib/serport/serport_1clock
--- ../tst_rlink/rbd_tst_rlink
--- vlib/rbus/rb_sres_or_2
--- vlib/genlib/led_pulse_stretch
---
--- Test bench: -
---
--- Target Devices: generic
--- Tool versions: xst 13.3; ghdl 0.29
---
--- Revision History:
--- Date Rev Version Comment
--- 2013-01-02 467 1.0.1 use 64 usec led pulse width
--- 2012-12-29 466 1.0 Initial version
-------------------------------------------------------------------------------
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
-
-use work.slvtypes.all;
-use work.genlib.all;
-use work.rblib.all;
-use work.rlinklib.all;
-use work.serport.all;
-use work.fx2lib.all;
-use work.sys_conf.all;
-
--- ----------------------------------------------------------------------------
-
-entity tst_rlink_cuff is -- tester for rlink over cuff
- port (
- CLK : in slbit; -- clock
- RESET : in slbit; -- reset
- CE_USEC : in slbit; -- usec pulse
- CE_MSEC : in slbit; -- msec pulse
- RB_MREQ_TOP : out rb_mreq_type; -- rbus: request
- RB_SRES_TOP : in rb_sres_type; -- rbus: response from top level
- SWI : in slv8; -- hio: switches
- BTN : in slv4; -- hio: buttons
- LED : out slv8; -- hio: leds
- DSP_DAT : out slv16; -- hio: display data
- DSP_DP : out slv4; -- hio: display decimal points
- RXSD : in slbit; -- receive serial data (uart view)
- TXSD : out slbit; -- transmit serial data (uart view)
- RTS_N : out slbit; -- receive rts (uart view, act.low)
- CTS_N : in slbit; -- transmit cts (uart view, act.low)
- FX2_RXDATA : in slv8; -- fx2: receiver data out
- FX2_RXVAL : in slbit; -- fx2: receiver data valid
- FX2_RXHOLD : out slbit; -- fx2: receiver data hold
- FX2_TXDATA : out slv8; -- fx2: transmit data in
- FX2_TXENA : out slbit; -- fx2: transmit data enable
- FX2_TXBUSY : in slbit; -- fx2: transmit busy
- FX2_TX2DATA : out slv8; -- fx2: transmit 2 data in
- FX2_TX2ENA : out slbit; -- fx2: transmit 2 data enable
- FX2_TX2BUSY : in slbit; -- fx2: transmit 2 busy
- FX2_MONI : in fx2ctl_moni_type -- fx2: fx2ctl monitor
- );
-end tst_rlink_cuff;
-
-architecture syn of tst_rlink_cuff is
-
- signal RB_MREQ : rb_mreq_type := rb_mreq_init;
- signal RB_SRES : rb_sres_type := rb_sres_init;
- signal RB_SRES_TST : rb_sres_type := rb_sres_init;
-
- signal RB_LAM : slv16 := (others=>'0');
- signal RB_STAT : slv3 := (others=>'0');
-
- signal SER_MONI : serport_moni_type := serport_moni_init;
- signal STAT : slv8 := (others=>'0');
-
- signal RLB_DI : slv8 := (others=>'0');
- signal RLB_ENA : slbit := '0';
- signal RLB_BUSY : slbit := '0';
- signal RLB_DO : slv8 := (others=>'0');
- signal RLB_VAL : slbit := '0';
- signal RLB_HOLD : slbit := '0';
-
- signal SER_RXDATA : slv8 := (others=>'0');
- signal SER_RXVAL : slbit := '0';
- signal SER_RXHOLD : slbit := '0';
- signal SER_TXDATA : slv8 := (others=>'0');
- signal SER_TXENA : slbit := '0';
- signal SER_TXBUSY : slbit := '0';
-
- signal FX2_TX2ENA_L : slbit := '0';
- signal FX2_TXENA_L : slbit := '0';
-
- signal FX2_TX2ENA_LED : slbit := '0';
- signal FX2_TXENA_LED : slbit := '0';
- signal FX2_RXVAL_LED : slbit := '0';
-
- signal R_LEDDIV : slv6 := (others=>'0'); -- clock divider for LED pulses
- signal R_LEDCE : slbit := '0'; -- ce every 64 usec
-
-begin
-
- RLCORE : rlink_core8
- generic map (
- ATOWIDTH => 6,
- ITOWIDTH => 6,
- CPREF => c_rlink_cpref,
- ENAPIN_RLMON => sbcntl_sbf_rlmon,
- ENAPIN_RBMON => sbcntl_sbf_rbmon)
- port map (
- CLK => CLK,
- CE_INT => CE_MSEC,
- RESET => RESET,
- RLB_DI => RLB_DI,
- RLB_ENA => RLB_ENA,
- RLB_BUSY => RLB_BUSY,
- RLB_DO => RLB_DO,
- RLB_VAL => RLB_VAL,
- RLB_HOLD => RLB_HOLD,
- RL_MONI => open,
- RB_MREQ => RB_MREQ,
- RB_SRES => RB_SRES,
- RB_LAM => RB_LAM,
- RB_STAT => RB_STAT
- );
-
- RLBMUX : rlink_rlbmux
- port map (
- SEL => SWI(2),
- RLB_DI => RLB_DI,
- RLB_ENA => RLB_ENA,
- RLB_BUSY => RLB_BUSY,
- RLB_DO => RLB_DO,
- RLB_VAL => RLB_VAL,
- RLB_HOLD => RLB_HOLD,
- P0_RXDATA => SER_RXDATA,
- P0_RXVAL => SER_RXVAL,
- P0_RXHOLD => SER_RXHOLD,
- P0_TXDATA => SER_TXDATA,
- P0_TXENA => SER_TXENA,
- P0_TXBUSY => SER_TXBUSY,
- P1_RXDATA => FX2_RXDATA,
- P1_RXVAL => FX2_RXVAL,
- P1_RXHOLD => FX2_RXHOLD,
- P1_TXDATA => FX2_TXDATA,
- P1_TXENA => FX2_TXENA_L,
- P1_TXBUSY => FX2_TXBUSY
- );
-
- SERPORT : serport_1clock
- generic map (
- CDWIDTH => 15,
- CDINIT => sys_conf_ser2rri_cdinit,
- RXFAWIDTH => 5,
- TXFAWIDTH => 5)
- port map (
- CLK => CLK,
- CE_MSEC => CE_MSEC,
- RESET => RESET,
- ENAXON => SWI(1),
- ENAESC => SWI(1),
- RXDATA => SER_RXDATA,
- RXVAL => SER_RXVAL,
- RXHOLD => SER_RXHOLD,
- TXDATA => SER_TXDATA,
- TXENA => SER_TXENA,
- TXBUSY => SER_TXBUSY,
- MONI => SER_MONI,
- RXSD => RXSD,
- TXSD => TXSD,
- RXRTS_N => RTS_N,
- TXCTS_N => CTS_N
- );
-
- RBDTST : entity work.rbd_tst_rlink
- port map (
- CLK => CLK,
- RESET => RESET,
- CE_USEC => CE_USEC,
- RB_MREQ => RB_MREQ,
- RB_SRES => RB_SRES_TST,
- RB_LAM => RB_LAM,
- RB_STAT => RB_STAT,
- RB_SRES_TOP => RB_SRES,
- RXSD => RXSD,
- RXACT => SER_MONI.rxact,
- STAT => STAT
- );
-
- RB_SRES_OR1 : rb_sres_or_2
- port map (
- RB_SRES_1 => RB_SRES_TOP,
- RB_SRES_2 => RB_SRES_TST,
- RB_SRES_OR => RB_SRES
- );
-
- TX2ENA_PSTR : led_pulse_stretch
- port map (
- CLK => CLK,
- CE_INT => R_LEDCE,
- RESET => '0',
- DIN => FX2_TX2ENA_L,
- POUT => FX2_TX2ENA_LED
- );
- TXENA_PSTR : led_pulse_stretch
- port map (
- CLK => CLK,
- CE_INT => R_LEDCE,
- RESET => '0',
- DIN => FX2_TXENA_L,
- POUT => FX2_TXENA_LED
- );
- RXVAL_PSTR : led_pulse_stretch
- port map (
- CLK => CLK,
- CE_INT => R_LEDCE,
- RESET => '0',
- DIN => FX2_RXVAL,
- POUT => FX2_RXVAL_LED
- );
-
- proc_clkdiv: process (CLK)
- begin
-
- if rising_edge(CLK) then
- R_LEDCE <= '0';
- if CE_USEC = '1' then
- R_LEDDIV <= slv(unsigned(R_LEDDIV) - 1);
- if unsigned(R_LEDDIV) = 0 then
- R_LEDCE <= '1';
- end if;
- end if;
- end if;
-
- end process proc_clkdiv;
-
- proc_hiomux : process (SWI, SER_MONI, STAT, FX2_TX2BUSY,
- FX2_TX2ENA_LED, FX2_TXENA_LED, FX2_RXVAL_LED)
- begin
-
- DSP_DAT <= SER_MONI.abclkdiv;
-
- LED(7) <= SER_MONI.abact;
- LED(6 downto 2) <= (others=>'0');
- LED(1) <= STAT(1);
- LED(0) <= STAT(0);
-
- if SWI(2) = '0' then
- DSP_DP(3) <= not SER_MONI.txok;
- DSP_DP(2) <= SER_MONI.txact;
- DSP_DP(1) <= not SER_MONI.rxok;
- DSP_DP(0) <= SER_MONI.rxact;
- else
- DSP_DP(3) <= FX2_TX2BUSY;
- DSP_DP(2) <= FX2_TX2ENA_LED;
- DSP_DP(1) <= FX2_TXENA_LED;
- DSP_DP(0) <= FX2_RXVAL_LED;
- end if;
-
- end process proc_hiomux;
-
- RB_MREQ_TOP <= RB_MREQ;
- FX2_TX2ENA <= FX2_TX2ENA_L;
- FX2_TXENA <= FX2_TXENA_L;
-
-end syn;
Index: rtl/sys_gen/tst_rlink_cuff/Makefile
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/Makefile (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/Makefile (nonexistent)
@@ -1,24 +0,0 @@
-# $Id: Makefile 466 2012-12-30 13:26:55Z mueller $
-#
-# Revision History:
-# Date Rev Version Comment
-# 2012-12-29 466 1.0 Initial version
-#
-VBOM_all = $(wildcard *.vbom)
-NGC_all = $(VBOM_all:.vbom=.ngc)
-#
-ISE_PATH = xc3s1200e-fg320-4
-#
-.PHONY : all clean realclean
-#
-all : $(NGC_all)
-#
-clean : ise_clean
-#
-#
-#----
-#
-include $(RETROBASE)/rtl/make/generic_xflow.mk
-#
-include $(VBOM_all:.vbom=.dep_xst)
-#
Index: rtl/sys_gen/tst_rlink_cuff/tst_rlink_cuff.vbom
===================================================================
--- rtl/sys_gen/tst_rlink_cuff/tst_rlink_cuff.vbom (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff/tst_rlink_cuff.vbom (nonexistent)
@@ -1,17 +0,0 @@
-# libs
-../../vlib/slvtypes.vhd
-../../vlib/genlib/genlib.vhd
-../../vlib/rbus/rblib.vhd
-../../vlib/rlink/rlinklib.vbom
-../../vlib/serport/serport.vhd
-../../bplib/fx2lib/fx2lib.vhd
-${sys_conf := nexys2/as/sys_conf.vhd}
-# components
-../../vlib/rlink/rlink_core8.vbom
-../../vlib/rlink/rlink_rlbmux.vbom
-../../vlib/serport/serport_1clock.vbom
-../tst_rlink/rbd_tst_rlink.vbom
-../../vlib/rbus/rb_sres_or_2.vbom
-../../vlib/genlib/led_pulse_stretch.vbom
-# design
-tst_rlink_cuff.vhd
Index: rtl/sys_gen/tst_rlink_cuff
===================================================================
--- rtl/sys_gen/tst_rlink_cuff (revision 17)
+++ rtl/sys_gen/tst_rlink_cuff (nonexistent)
rtl/sys_gen/tst_rlink_cuff
Property changes :
Deleted: svn:ignore
## -1,32 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
Index: rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2.vbom
===================================================================
--- rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2.vbom (revision 17)
+++ rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2.vbom (revision 16)
@@ -1,7 +1,7 @@
# configure tb_nexsy2_fusp with sys_tst_rlink_n2 target;
# use vhdl configure file (tb_tst_rlink_n2.vhd) to allow
# that all configurations will co-exist in work library
-${nexys2_aif := ../sys_tst_rlink_n2.vbom}
+nexys2_aif : ../sys_tst_rlink_n2.vbom
sys_conf = sys_conf_sim.vhd
../../../../bplib/nexys2/tb/tb_nexys2_fusp.vbom
tb_tst_rlink_n2.vhd
Index: rtl/sys_gen/tst_rlink/nexys2/sys_tst_rlink_n2.vhd
===================================================================
--- rtl/sys_gen/tst_rlink/nexys2/sys_tst_rlink_n2.vhd (revision 17)
+++ rtl/sys_gen/tst_rlink/nexys2/sys_tst_rlink_n2.vhd (revision 16)
@@ -1,4 +1,4 @@
--- $Id: sys_tst_rlink_n2.vhd 465 2012-12-27 21:29:38Z mueller $
+-- $Id: sys_tst_rlink_n2.vhd 442 2011-12-23 10:03:28Z mueller $
--
-- Copyright 2010-2011 by Walter F.J. Mueller
--
@@ -31,7 +31,6 @@
--
-- Synthesized (xst):
-- Date Rev ise Target flop lutl lutm slic t peri
--- 2012-12-27 453 13.3 O76d xc3s1200e-4 754 1605 96 1057 t 14.5
-- 2011-12-18 440 13.1 O40d xc3s1200e-4 754 1605 96 1057 t 16.8
-- 2011-06-26 385 12.1 M53d xc3s1200e-4 688 1500 68 993 t 16.2
-- 2011-04-02 375 12.1 M53d xc3s1200e-4 688 1572 68 994 t 13.8
@@ -39,7 +38,6 @@
--
-- Revision History:
-- Date Rev Version Comment
--- 2011-12-23 444 1.2 remove clksys output hack
-- 2011-12-18 440 1.1.6 use now rbd_tst_rlink and rlink_sp1c
-- 2011-11-26 433 1.1.5 use nx_cram_dummy now
-- 2011-11-23 432 1.1.4 update O_FLA_CE_N usage
@@ -51,21 +49,21 @@
------------------------------------------------------------------------------
-- Usage of Nexys 2 Switches, Buttons, LEDs:
--
--- SWI(7:2) no function (only connected to sn_humanio_rbus)
--- (1) 1 enable XON
--- (0) 0 -> main board RS232 port - implemented in bp_rs232_2l4l_iob
+-- SWI(7:2): no function (only connected to sn_humanio_rbus)
+-- SWI(1): 1 enable XON
+-- SWI(0): 0 -> main board RS232 port - implemented in bp_rs232_2l4l_iob
-- 1 -> Pmod B/top RS232 port /
--
--- LED(7) SER_MONI.abact
--- (6:2) no function (only connected to sn_humanio_rbus)
--- (0) timer 0 busy
--- (1) timer 1 busy
+-- LED(7): SER_MONI.abact
+-- LED(6:2): no function (only connected to sn_humanio_rbus)
+-- LED(0): timer 0 busy
+-- LED(1): timer 1 busy
--
-- DSP: SER_MONI.clkdiv (from auto bauder)
--- DP(3) not SER_MONI.txok (shows tx back preasure)
--- (2) SER_MONI.txact (shows tx activity)
--- (1) not SER_MONI.rxok (shows rx back preasure)
--- (0) SER_MONI.rxact (shows rx activity)
+-- DP(3): not SER_MONI.txok (shows tx back preasure)
+-- DP(2): SER_MONI.txact (shows tx activity)
+-- DP(1): not SER_MONI.rxok (shows rx back preasure)
+-- DP(0): SER_MONI.rxact (shows rx activity)
--
library ieee;
@@ -87,6 +85,7 @@
-- implements nexys2_fusp_aif
port (
I_CLK50 : in slbit; -- 50 MHz clock
+ O_CLKSYS : out slbit; -- DCM derived system clock
I_RXD : in slbit; -- receive data (board view)
O_TXD : out slbit; -- transmit data (board view)
I_SWI : in slv8; -- n2 switches
@@ -163,6 +162,8 @@
LOCKED => open
);
+ O_CLKSYS <= CLK;
+
CLKDIV : clkdivce
generic map (
CDUWIDTH => 7,
/rtl/sys_gen/tst_rlink/nexys2/sys_tst_rlink_n2.vbom
7,7 → 7,7
../../../vlib/rlink/rlinklib.vbom |
../../../bplib/bpgen/bpgenlib.vbom |
../../../bplib/nxcramlib/nxcramlib.vhd |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
[xst,isim]../../../vlib/xlib/dcm_sfs_unisim_s3e.vbom |
[ghdl]../../../vlib/xlib/dcm_sfs_gsim.vbom |
/rtl/sys_gen/tst_rlink/nexys2/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 410 2011-09-18 11:23:09Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
16,7 → 16,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_rlink_n2.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_rlink/nexys3/sys_tst_rlink_n3.vbom
7,7 → 7,7
../../../vlib/rlink/rlinklib.vbom |
../../../bplib/bpgen/bpgenlib.vbom |
../../../bplib/nxcramlib/nxcramlib.vhd |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
[xst,isim]../../../vlib/xlib/dcm_sfs_unisim_s3e.vbom |
[ghdl]../../../vlib/xlib/dcm_sfs_gsim.vbom |
/rtl/sys_gen/tst_rlink/nexys3/tb/tb_tst_rlink_n3.vbom
1,7 → 1,7
# configure tb_nexsy3_fusp with sys_tst_rlink_n3 target; |
# use vhdl configure file (tb_tst_rlink_n3.vhd) to allow |
# that all configurations will co-exist in work library |
${nexys3_fusp_aif := ../sys_tst_rlink_n3.vbom} |
nexys3_fusp_aif : ../sys_tst_rlink_n3.vbom |
sys_conf = sys_conf_sim.vhd |
../../../../bplib/nexys3/tb/tb_nexys3_fusp.vbom |
tb_tst_rlink_n3.vhd |
/rtl/sys_gen/tst_rlink/nexys3/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 433 2011-11-27 22:04:39Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
18,7 → 18,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_rlink_n3.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_rlink/s3board/tb/tb_tst_rlink_s3.vbom
1,7 → 1,7
# configure tb_s3board_fusp with sys_tst_rlink_s3 target; |
# use vhdl configure file (tb_tst_rlink_s3.vhd) to allow |
# that all configurations will co-exist in work library |
${s3board_aif := ../sys_tst_rlink_s3.vbom} |
s3board_aif : ../sys_tst_rlink_s3.vbom |
sys_conf = sys_conf_sim.vhd |
../../../../bplib/s3board/tb/tb_s3board_fusp.vbom |
tb_tst_rlink_s3.vhd |
/rtl/sys_gen/tst_rlink/s3board/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 442 2011-12-23 10:03:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
15,7 → 15,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_rlink_s3.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_rlink/s3board/sys_tst_rlink_s3.vbom
6,7 → 6,7
../../../vlib/rlink/rlinklib.vbom |
../../../bplib/bpgen/bpgenlib.vbom |
../../../bplib/s3board/s3boardlib.vbom |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
../../../vlib/genlib/clkdivce.vbom |
../../../bplib/bpgen/bp_rs232_2l4l_iob.vbom |
/rtl/sys_gen/w11a/nexys2/sys_w11a_n2.vhd
1,4 → 1,4
-- $Id: sys_w11a_n2.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: sys_w11a_n2.vhd 440 2011-12-18 20:08:09Z mueller $ |
-- |
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
64,7 → 64,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.3 remove clksys output hack |
-- 2011-12-18 440 1.2.7 use rlink_sp1c |
-- 2011-11-26 433 1.2.6 use nx_cram_(dummy|memctl_as) now |
-- 2011-11-23 432 1.2.5 update O_FLA_CE_N usage |
143,6 → 142,7
-- implements nexys2_fusp_aif |
port ( |
I_CLK50 : in slbit; -- 50 MHz clock |
O_CLKSYS : out slbit; -- DCM derived system clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
265,6 → 265,8
LOCKED => open |
); |
|
O_CLKSYS <= CLK; |
|
CLKDIV : clkdivce |
generic map ( |
CDUWIDTH => 6, |
/rtl/sys_gen/w11a/nexys2/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 405 2011-08-14 08:16:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
16,7 → 16,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_w11a_n2.ucf |
# |
sys_w11a_n2.mcs : sys_w11a_n2.bit |
promgen -w -x xcf04s -p mcs -u 0 sys_w11a_n2 |
/rtl/sys_gen/w11a/nexys3/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 430 2011-11-20 20:48:39Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
18,7 → 18,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_w11a_n3.ucf |
# |
#---- |
# |
/rtl/sys_gen/w11a/s3board/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 405 2011-08-14 08:16:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
21,7 → 21,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_w11a_s3.ucf |
# |
sys_w11a_s3.mcs : sys_w11a_s3.bit |
promgen -w -x xcf04s -p mcs -u 0 sys_w11a_s3 |
/rtl/sys_gen/tst_snhumanio/nexys3/sys_tst_snhumanio_n3.vbom
3,7 → 3,7
../../../vlib/genlib/genlib.vhd |
../../../bplib/bpgen/bpgenlib.vbom |
../../../bplib/nxcramlib/nxcramlib.vhd |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
../../../vlib/genlib/clkdivce.vbom |
../../../bplib/bpgen/sn_humanio.vbom |
/rtl/sys_gen/tst_snhumanio/nexys3/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 433 2011-11-27 22:04:39Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
18,7 → 18,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_snhumanio_n3.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_snhumanio/atlys/sys_tst_snhumanio_atlys.vbom
2,7 → 2,7
../../../vlib/slvtypes.vhd |
../../../vlib/genlib/genlib.vhd |
../../../bplib/bpgen/bpgenlib.vbom |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
../../../vlib/genlib/clkdivce.vbom |
../../../bplib/bpgen/sn_humanio_demu.vbom |
/rtl/sys_gen/tst_snhumanio/atlys/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 414 2011-10-11 19:38:12Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
18,7 → 18,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_snhumanio_atlys.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_snhumanio/nexys2/sys_tst_snhumanio_n2.vhd
1,4 → 1,4
-- $Id: sys_tst_snhumanio_n2.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: sys_tst_snhumanio_n2.vhd 433 2011-11-27 22:04:39Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
31,7 → 31,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 remove clksys output hack |
-- 2011-11-26 433 1.0.3 use nx_cram_dummy now |
-- 2011-11-23 432 1.0.3 update O_FLA_CE_N usage |
-- 2011-10-25 419 1.0.2 get entity name right... |
55,6 → 54,7
-- implements nexys2_aif |
port ( |
I_CLK50 : in slbit; -- 50 MHz clock |
O_CLKSYS : out slbit; -- DCM derived system clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
94,6 → 94,7
RESET <= '0'; -- so far not used |
|
CLK <= I_CLK50; |
O_CLKSYS <= CLK; |
|
CLKDIV : clkdivce |
generic map ( |
/rtl/sys_gen/tst_snhumanio/nexys2/sys_tst_snhumanio_n2.vbom
3,7 → 3,7
../../../vlib/genlib/genlib.vhd |
../../../bplib/bpgen/bpgenlib.vbom |
../../../bplib/nxcramlib/nxcramlib.vhd |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
../../../vlib/genlib/clkdivce.vbom |
../../../bplib/bpgen/sn_humanio.vbom |
/rtl/sys_gen/tst_snhumanio/nexys2/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 410 2011-09-18 11:23:09Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
15,7 → 15,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_snhumanio_n2.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_snhumanio/s3board/sys_tst_snhumanio_s3.vbom
3,7 → 3,7
../../../vlib/genlib/genlib.vhd |
../../../bplib/bpgen/bpgenlib.vbom |
../../../bplib/s3board/s3boardlib.vhd |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
../../../vlib/genlib/clkdivce.vbom |
../../../bplib/bpgen/sn_humanio.vbom |
/rtl/sys_gen/tst_snhumanio/s3board/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 410 2011-09-18 11:23:09Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
15,7 → 15,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_snhumanio_s3.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_serloop/tb/tb_tst_serloop.vhd
1,4 → 1,4
-- $Id: tb_tst_serloop.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_tst_serloop.vhd 441 2011-12-20 17:01:16Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
15,8 → 15,7
-- Module Name: tb_tst_serloop - sim |
-- Description: Generic test bench for sys_tst_serloop_xx |
-- |
-- Dependencies: vlib/simlib/simclkcnt |
-- vlib/serport/serport_uart_rxtx |
-- Dependencies: vlib/serport/serport_uart_rxtx |
-- vlib/serport/serport_xontx |
-- |
-- To test: sys_tst_serloop_xx |
25,7 → 24,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use new simclkcnt |
-- 2011-11-13 425 1.0 Initial version |
-- 2011-11-06 420 0.5 First draft |
------------------------------------------------------------------------------ |
61,7 → 59,7
architecture sim of tb_tst_serloop is |
|
signal CLK_STOP_L : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
signal CLK_CYCLE : slv31 := (others=>'0'); |
|
signal UART_RESET : slbit := '0'; |
signal UART_RXD : slbit := '1'; |
103,7 → 101,12
|
begin |
|
CLKCNT : simclkcnt port map (CLK => CLKS, CLK_CYCLE => CLK_CYCLE); |
proc_cycle: process (CLKS) |
begin |
if rising_edge(CLKS) then |
CLK_CYCLE <= slv(unsigned(CLK_CYCLE) + 1); |
end if; |
end process proc_cycle; |
|
UART : serport_uart_rxtx |
generic map ( |
/rtl/sys_gen/tst_serloop/tb/tb_tst_serloop.vbom
3,7 → 3,6
../../../vlib/simlib/simlib.vhd |
../../../vlib/serport/serport.vhd |
# components |
../../../vlib/simlib/simclkcnt.vbom |
../../../vlib/serport/serport_uart_rxtx.vbom |
../../../vlib/serport/serport_xontx.vbom |
# design |
/rtl/sys_gen/tst_serloop/nexys2/tb/tb_tst_serloop1_n2.vhd
1,4 → 1,4
-- $Id: tb_tst_serloop1_n2.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_tst_serloop1_n2.vhd 441 2011-12-20 17:01:16Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
25,7 → 25,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use new simclk; remove clksys output hack |
-- 2011-12-16 439 1.0 Initial version |
------------------------------------------------------------------------------ |
|
79,6 → 78,7
OFFSET => clock_offset) |
port map ( |
CLK => CLK50, |
CLK_CYCLE => open, |
CLK_STOP => CLK_STOP |
); |
|
85,6 → 85,7
UUT : entity work.sys_tst_serloop1_n2 |
port map ( |
I_CLK50 => CLK50, |
O_CLKSYS => open, |
I_RXD => I_RXD, |
O_TXD => O_TXD, |
I_SWI => I_SWI, |
/rtl/sys_gen/tst_serloop/nexys2/tb/tb_tst_serloop2_n2.vhd
1,4 → 1,4
-- $Id: tb_tst_serloop2_n2.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_tst_serloop2_n2.vhd 441 2011-12-20 17:01:16Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
26,7 → 26,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use new simclk; remove clksys output hack |
-- 2011-11-23 432 1.0.2 update O_FLA_CE_N usage |
-- 2011-11-17 426 1.0.1 use dcm_sfs now |
-- 2011-11-13 424 1.0 Initial version |
85,6 → 84,7
OFFSET => clock_offset) |
port map ( |
CLK => CLK50, |
CLK_CYCLE => open, |
CLK_STOP => CLK_STOP |
); |
|
113,6 → 113,7
UUT : entity work.sys_tst_serloop2_n2 |
port map ( |
I_CLK50 => CLK50, |
O_CLKSYS => open, |
I_RXD => I_RXD, |
O_TXD => O_TXD, |
I_SWI => I_SWI, |
/rtl/sys_gen/tst_serloop/nexys2/tb/Makefile
1,15 → 1,11
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 441 2011-12-20 17:01:16Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2011-11-13 424 1.0 Initial version |
# |
EXE_all = tb_tst_serloop1_n2 |
EXE_all += tb_tst_serloop2_n2 |
EXE_all = tb_tst_serloop1_n2 tb_tst_serloop2_n2 |
# |
ISE_BOARD = nexys2 |
ISE_PATH = xc3s1200e-fg320-4 |
# |
.PHONY : all all_ssim all_tsim clean |
# |
all : $(EXE_all) |
/rtl/sys_gen/tst_serloop/nexys2/sys_tst_serloop1_n2.vhd
1,4 → 1,4
-- $Id: sys_tst_serloop1_n2.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: sys_tst_serloop1_n2.vhd 441 2011-12-20 17:01:16Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
34,8 → 34,7
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 remove clksys output hack |
-- 2011-12-16 439 1.0 Initial version |
-- 2011-12-16 439 0.5 Initial version |
------------------------------------------------------------------------------ |
-- |
|
58,6 → 57,7
-- implements nexys2_fusp_aif |
port ( |
I_CLK50 : in slbit; -- 50 MHz clock |
O_CLKSYS : out slbit; -- DCM derived system clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
117,6 → 117,7
begin |
|
CLK <= I_CLK50; |
O_CLKSYS <= CLK; |
|
CLKDIV : clkdivce |
generic map ( |
/rtl/sys_gen/tst_serloop/nexys2/sys_tst_serloop2_n2.vhd
1,4 → 1,4
-- $Id: sys_tst_serloop2_n2.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: sys_tst_serloop2_n2.vhd 441 2011-12-20 17:01:16Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
37,7 → 37,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 remove clksys output hack |
-- 2011-12-09 437 1.0.4 rename serport stat->moni port |
-- 2011-11-26 433 1.0.3 use nx_cram_dummy now |
-- 2011-11-23 432 1.0.2 update O_FLA_CE_N usage |
66,6 → 65,7
-- implements nexys2_fusp_aif |
port ( |
I_CLK50 : in slbit; -- 50 MHz clock |
O_CLKSYS : out slbit; -- DCM derived system clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
138,6 → 138,8
LOCKED => open |
); |
|
O_CLKSYS <= '0'; |
|
CLKDIV_U : clkdivce |
generic map ( |
CDUWIDTH => 7, |
/rtl/sys_gen/tst_serloop/nexys2/sys_tst_serloop1_n2.vbom
5,7 → 5,7
../tst_serlooplib.vbom |
../../../vlib/serport/serport.vhd |
../../../bplib/nxcramlib/nxcramlib.vhd |
${sys_conf := sys_conf1.vhd} |
sys_conf : sys_conf1.vhd |
# components |
../../../vlib/genlib/clkdivce.vbom |
../../../bplib/bpgen/bp_rs232_2l4l_iob.vbom |
/rtl/sys_gen/tst_serloop/nexys2/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 441 2011-12-20 17:01:16Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
15,7 → 15,8
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_serloop1_n2.ucf |
rm -f sys_tst_serloop2_n2.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_serloop/nexys2/sys_tst_serloop2_n2.vbom
6,7 → 6,7
../tst_serlooplib.vbom |
../../../vlib/serport/serport.vhd |
../../../bplib/nxcramlib/nxcramlib.vhd |
${sys_conf := sys_conf2.vhd} |
sys_conf : sys_conf2.vhd |
# components |
[xst,isim]../../../vlib/xlib/dcm_sfs_unisim_s3e.vbom |
[ghdl]../../../vlib/xlib/dcm_sfs_gsim.vbom |
/rtl/sys_gen/tst_serloop/nexys3/tb/tb_tst_serloop1_n3.vhd
1,4 → 1,4
-- $Id: tb_tst_serloop1_n3.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_tst_serloop1_n3.vhd 441 2011-12-20 17:01:16Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
25,7 → 25,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use new simclk |
-- 2011-12-11 438 1.0 Initial version |
------------------------------------------------------------------------------ |
|
78,6 → 77,7
OFFSET => clock_offset) |
port map ( |
CLK => CLK100, |
CLK_CYCLE => open, |
CLK_STOP => CLK_STOP |
); |
|
/rtl/sys_gen/tst_serloop/nexys3/tb/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 442 2011-12-23 10:03:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
7,12 → 7,6
# |
EXE_all = tb_tst_serloop1_n3 |
# |
ISE_BOARD = nexys3 |
ISE_PATH = xc6slx16-csg324-2 |
# |
XFLOWOPT_SYN = syn_s6_speed.opt |
XFLOWOPT_IMP = imp_s6_speed.opt |
# |
.PHONY : all all_ssim all_tsim clean |
# |
all : $(EXE_all) |
/rtl/sys_gen/tst_serloop/nexys3/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 441 2011-12-20 17:01:16Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
18,7 → 18,8
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_serloop1_n3.ucf |
rm -f sys_tst_serloop2_n3.ucf |
# |
#---- |
# |
/rtl/sys_gen/tst_serloop/nexys3/sys_tst_serloop1_n3.vbom
6,7 → 6,7
../tst_serlooplib.vbom |
../../../vlib/serport/serport.vhd |
../../../bplib/nxcramlib/nxcramlib.vhd |
${sys_conf := sys_conf1.vhd} |
sys_conf : sys_conf1.vhd |
# components |
../../../vlib/genlib/clkdivce.vbom |
../../../bplib/bpgen/bp_rs232_2l4l_iob.vbom |
/rtl/sys_gen/tst_serloop/s3board/sys_tst_serloop_s3.vbom
6,7 → 6,7
../tst_serlooplib.vbom |
../../../vlib/serport/serport.vhd |
../../../bplib/s3board/s3boardlib.vbom |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
[xst,isim]../../../vlib/xlib/dcm_sfs_unisim_s3.vbom |
[ghdl]../../../vlib/xlib/dcm_sfs_gsim.vbom |
/rtl/sys_gen/tst_serloop/s3board/tb/tb_tst_serloop_s3.vhd
1,4 → 1,4
-- $Id: tb_tst_serloop_s3.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_tst_serloop_s3.vhd 441 2011-12-20 17:01:16Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
26,7 → 26,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use new simclk |
-- 2011-11-17 426 1.0.1 use dcm_sfs now |
-- 2011-11-06 420 1.0 Initial version |
------------------------------------------------------------------------------ |
83,6 → 82,7
OFFSET => clock_offset) |
port map ( |
CLK => CLK50, |
CLK_CYCLE => open, |
CLK_STOP => CLK_STOP |
); |
|
/rtl/sys_gen/tst_serloop/s3board/Makefile
1,4 → 1,4
# $Id: Makefile 448 2012-01-02 21:55:11Z mueller $ |
# $Id: Makefile 441 2011-12-20 17:01:16Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
15,7 → 15,7
all : $(BIT_all) |
# |
clean : ise_clean |
rm -f $(VBOM_all:.vbom=.ucf) |
rm -f sys_tst_serloop_s3.ucf |
# |
#---- |
# |
/rtl/bplib/fx2lib/fx2_2fifoctl_ic.vhd
File deleted
/rtl/bplib/fx2lib/fx2_3fifoctl_ic.vhd
File deleted
/rtl/bplib/fx2lib/fx2_2fifoctl_ic.vbom
File deleted
/rtl/bplib/fx2lib/fx2_3fifoctl_ic.vbom
File deleted
/rtl/bplib/fx2lib/fx2lib.vhd
File deleted
/rtl/bplib/fx2lib/fx2_2fifoctl_as.vhd
File deleted
/rtl/bplib/fx2lib/fx2_2fifoctl_as.vbom
File deleted
/rtl/bplib/fx2lib/Makefile
File deleted
rtl/bplib/fx2lib
Property changes :
Deleted: svn:ignore
## -1,32 +0,0 ##
-*.dep_ghdl
-*.dep_isim
-*.dep_xst
-work-obj93.cf
-*.vcd
-*.ghw
-*.sav
-*.tmp
-*.exe
-ise
-xflow.his
-*.ngc
-*.ncd
-*.pcf
-*.bit
-*.msk
-isim
-isim.log
-isim.wdb
-fuse.log
-*_[sft]sim.vhd
-*_tsim.sdf
-*_xst.log
-*_tra.log
-*_twr.log
-*_map.log
-*_par.log
-*_pad.log
-*_bgn.log
-*_svn.log
-*_sum.log
-*_[dsft]sim.log
Index: rtl/bplib/nxcramlib/tb/tb_nx_cram_memctl.vbom
===================================================================
--- rtl/bplib/nxcramlib/tb/tb_nx_cram_memctl.vbom (revision 17)
+++ rtl/bplib/nxcramlib/tb/tb_nx_cram_memctl.vbom (revision 16)
@@ -7,9 +7,8 @@
../../../vlib/simlib/simlib.vhd
# components
../../../vlib/simlib/simclk.vbom
-../../../vlib/simlib/simclkcnt.vbom
../../micron/mt45w8mw16b.vbom
-${uut := tbd_nx_cram_memctl_as.vbom}
+uut : tbd_nx_cram_memctl_as.vbom
# design
tb_nx_cram_memctl.vhd
@top:tb_nx_cram_memctl
Index: rtl/bplib/nxcramlib/tb/tb_nx_cram_memctl.vhd
===================================================================
--- rtl/bplib/nxcramlib/tb/tb_nx_cram_memctl.vhd (revision 17)
+++ rtl/bplib/nxcramlib/tb/tb_nx_cram_memctl.vhd (revision 16)
@@ -1,4 +1,4 @@
--- $Id: tb_nx_cram_memctl.vhd 444 2011-12-25 10:04:58Z mueller $
+-- $Id: tb_nx_cram_memctl.vhd 433 2011-11-27 22:04:39Z mueller $
--
-- Copyright 2010-2011 by Walter F.J. Mueller
--
@@ -16,7 +16,6 @@
-- Description: Test bench for nx_cram_memctl
--
-- Dependencies: vlib/simlib/simclk
--- vlib/simlib/simclkcnt
-- bplib/micron/mt45w8mw16b
-- tbd_nx_cram_memctl [UUT, abstact]
--
@@ -26,7 +25,6 @@
-- Tool versions: xst 11.4, 13.1; ghdl 0.26-0.29
-- Revision History:
-- Date Rev Version Comment
--- 2011-12-23 444 1.4 use new simclk/simclkcnt
-- 2011-11-26 433 1.3 renamed from tb_n2_cram_memctl
-- 2011-11-21 432 1.2 now numeric_std clean; update O_FLA_CE_N usage
-- 2010-05-30 297 1.1 use abstact uut tbd_nx_cram_memctl
@@ -111,7 +109,7 @@
signal R_REF_ADDR_DL : slv22 := (others=>'0');
signal CLK_STOP : slbit := '0';
- signal CLK_CYCLE : integer := 0;
+ signal CLK_CYCLE : slv31 := (others=>'0');
constant clock_period : time := 20 ns;
constant clock_offset : time := 200 ns;
@@ -120,17 +118,16 @@
begin
- CLKGEN : simclk
+ SYSCLK : simclk
generic map (
PERIOD => clock_period,
OFFSET => clock_offset)
port map (
CLK => CLK,
+ CLK_CYCLE => CLK_CYCLE,
CLK_STOP => CLK_STOP
);
- CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE);
-
MEM : entity work.mt45w8mw16b
port map (
CLK => O_MEM_CLK,
/rtl/bplib/s3board/tb/tb_s3_sram_memctl.vbom
4,8 → 4,7
../../../vlib/simlib/simlib.vhd |
# components |
../../../vlib/simlib/simclk.vbom |
../../../vlib/simlib/simclkcnt.vbom |
../../issi/is61lv25616al.vbom |
${uut := ../s3_sram_memctl.vbom} |
uut : ../s3_sram_memctl.vbom |
# design |
tb_s3_sram_memctl.vhd |
/rtl/bplib/s3board/tb/tb_s3_sram_memctl.vhd
1,4 → 1,4
-- $Id: tb_s3_sram_memctl.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_s3_sram_memctl.vhd 432 2011-11-25 20:16:28Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
16,7 → 16,6
-- Description: Test bench for s3_sram_memctl |
-- |
-- Dependencies: vlib/simlib/simclk |
-- vlib/simlib/simclkcnt |
-- bplib/issi/is61lv25616al |
-- s3_sram_memctl [UUT] |
-- |
31,7 → 30,6
-- Tool versions: xst 8.2, 9.1, 9.2, 13.1; ghdl 0.18-0.29 |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use new simclk/simclkcnt |
-- 2011-11-21 432 1.0.6 now numeric_std clean |
-- 2010-05-23 293 1.0.5 output # busy cycles; change CHK pipeline logic |
-- 2010-05-16 291 1.0.4 rename tb_memctl_s3sram->tb_s3_sram_memctl |
88,7 → 86,7
signal R_REF_ADDR_DL : slv18 := (others=>'0'); |
|
signal CLK_STOP : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
signal CLK_CYCLE : slv31 := (others=>'0'); |
|
constant clock_period : time := 20 ns; |
constant clock_offset : time := 200 ns; |
97,17 → 95,16
|
begin |
|
CLKGEN : simclk |
SYSCLK : simclk |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
MEM_L : entity work.is61lv25616al |
port map ( |
CE_N => O_MEM_CE_N(0), |
/rtl/bplib/s3board/tb/tb_s3board_fusp.vhd
1,4 → 1,4
-- $Id: tb_s3board_fusp.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_s3board_fusp.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
15,12 → 15,10
-- Module Name: tb_s3board_fusp - sim |
-- Description: Test bench for s3board (base+fusp) |
-- |
-- Dependencies: simlib/simclk |
-- simlib/simclkcnt |
-- rlink/tb/tbcore_rlink |
-- Dependencies: vlib/rlink/tb/tbcore_rlink_dcm |
-- tb_s3board_core |
-- vlib/serport/serport_uart_rxtx |
-- s3board_fusp_aif [UUT] |
-- serport/serport_uart_rxtx |
-- |
-- To test: generic, any s3board_fusp_aif target |
-- |
28,7 → 26,6
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.1; ghdl 0.18-0.29 |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 new system clock scheme, new tbcore_rlink iface |
-- 2011-11-19 427 3.0.1 now numeric_std clean |
-- 2010-12-30 351 3.0 use rlink/tb now |
-- 2010-11-06 336 1.0.4 rename input pin CLK -> I_CLK50 |
58,9 → 55,6
architecture sim of tb_s3board_fusp is |
|
signal CLK : slbit := '0'; |
|
signal CLK_STOP : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
|
signal RESET : slbit := '0'; |
signal CLKDIV : slv2 := "00"; -- run with 1 clocks / bit !! |
106,29 → 100,24
|
constant clock_period : time := 20 ns; |
constant clock_offset : time := 200 ns; |
constant setup_time : time := 5 ns; |
constant c2out_time : time := 10 ns; |
|
begin |
|
CLKGEN : simclk |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
port map ( |
CLK => CLK, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
TBCORE : tbcore_rlink |
generic map ( |
CLK_PERIOD => clock_period, |
CLK_OFFSET => clock_offset, |
SETUP_TIME => setup_time, |
C2OUT_TIME => c2out_time) |
port map ( |
CLK => CLK, |
CLK_STOP => CLK_STOP, |
RX_DATA => TXDATA, |
RX_VAL => TXENA, |
RX_HOLD => RX_HOLD, |
TX_DATA => RXDATA, |
TX_ENA => RXVAL |
CLK => CLK, |
RX_DATA => TXDATA, |
RX_VAL => TXENA, |
RX_HOLD => RX_HOLD, |
TX_DATA => RXDATA, |
TX_ENA => RXVAL |
); |
|
RX_HOLD <= TXBUSY or RTS_N; -- back preasure for data flow to tb |
211,9 → 200,10
|
loop |
wait until rising_edge(CLK); |
wait for c2out_time; |
|
if RXERR = '1' then |
writetimestamp(oline, CLK_CYCLE, " : seen RXERR=1"); |
writetimestamp(oline, SB_CLKCYCLE, " : seen RXERR=1"); |
writeline(output, oline); |
end if; |
|
/rtl/bplib/s3board/tb/Makefile
1,4 → 1,4
# $Id: Makefile 444 2011-12-25 10:04:58Z mueller $ |
# $Id: Makefile 405 2011-08-14 08:16:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
9,9 → 9,7
# 2007-11-26 98 1.1 use make includes |
# 2007-09-23 84 1.0 Initial version |
# |
EXE_all = tb_s3board_dummy |
EXE_all += tb_s3board_fusp_dummy |
EXE_all += tb_s3_sram_memctl |
EXE_all = tb_s3board_dummy tb_s3board_fusp_dummy tb_s3_sram_memctl |
# |
ISE_PATH = xc3s1000-ft256-4 |
# |
/rtl/bplib/s3board/tb/tb_s3board_fusp.vbom
11,12 → 11,10
../../../vlib/simlib/simlib.vhd |
../../../vlib/simlib/simbus.vhd |
# components |
../../../vlib/simlib/simclk.vbom |
../../../vlib/simlib/simclkcnt.vbom |
../../../vlib/rlink/tb/tbcore_rlink.vbom |
tb_s3board_core.vbom |
../../../vlib/serport/serport_uart_rxtx.vbom |
${s3board_fusp_aif := s3board_fusp_dummy.vbom} |
s3board_fusp_aif : s3board_fusp_dummy.vbom |
# design |
tb_s3board_fusp.vhd |
@top:tb_s3board_fusp |
/rtl/bplib/nexys2/nexys2_pins_fx2.ucf
File deleted
/rtl/bplib/nexys2/nexys2_time_fx2_ic.ucf
File deleted
/rtl/bplib/nexys2/nexys2lib.vhd
1,4 → 1,4
-- $Id: nexys2lib.vhd 467 2013-01-02 19:49:05Z mueller $ |
-- $Id: nexys2lib.vhd 433 2011-11-27 22:04:39Z mueller $ |
-- |
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
20,8 → 20,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2013-01-01 467 1.4 add nexys2_cuff_aif, nexys2_fusp_cuff_aif |
-- 2011-12-23 444 1.3 remove clksys output hack |
-- 2011-11-26 433 1.2 remove n2_cram_* modules, now in nxcramlib |
-- 2011-11-23 432 1.1 remove O_FLA_CE_N port in cram driver/dummy |
-- 2010-11-13 338 1.0.2 add O_CLKSYS to aif's (DCM derived system clock) |
42,6 → 40,7
component nexys2_aif is -- NEXYS 2, abstract iface, base |
port ( |
I_CLK50 : in slbit; -- 50 MHz board clock |
O_CLKSYS : out slbit; -- DCM derived system clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
66,6 → 65,7
component nexys2_fusp_aif is -- NEXYS 2, abstract iface, base+fusp |
port ( |
I_CLK50 : in slbit; -- 50 MHz board clock |
O_CLKSYS : out slbit; -- DCM derived system clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
91,72 → 91,4
); |
end component; |
|
component nexys2_cuff_aif is -- NEXYS 2, abstract iface, base+cuff |
port ( |
I_CLK50 : in slbit; -- 50 MHz board clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
I_BTN : in slv4; -- n2 buttons |
O_LED : out slv8; -- n2 leds |
O_ANO_N : out slv4; -- 7 segment disp: anodes (act.low) |
O_SEG_N : out slv8; -- 7 segment disp: segments (act.low) |
O_MEM_CE_N : out slbit; -- cram: chip enable (act.low) |
O_MEM_BE_N : out slv2; -- cram: byte enables (act.low) |
O_MEM_WE_N : out slbit; -- cram: write enable (act.low) |
O_MEM_OE_N : out slbit; -- cram: output enable (act.low) |
O_MEM_ADV_N : out slbit; -- cram: address valid (act.low) |
O_MEM_CLK : out slbit; -- cram: clock |
O_MEM_CRE : out slbit; -- cram: command register enable |
I_MEM_WAIT : in slbit; -- cram: mem wait |
O_MEM_ADDR : out slv23; -- cram: address lines |
IO_MEM_DATA : inout slv16; -- cram: data lines |
O_FLA_CE_N : out slbit; -- flash ce.. (act.low) |
I_FX2_IFCLK : in slbit; -- fx2: interface clock |
O_FX2_FIFO : out slv2; -- fx2: fifo address |
I_FX2_FLAG : in slv4; -- fx2: fifo flags |
O_FX2_SLRD_N : out slbit; -- fx2: read enable (act.low) |
O_FX2_SLWR_N : out slbit; -- fx2: write enable (act.low) |
O_FX2_SLOE_N : out slbit; -- fx2: output enable (act.low) |
O_FX2_PKTEND_N : out slbit; -- fx2: packet end (act.low) |
IO_FX2_DATA : inout slv8 -- fx2: data lines |
); |
end component; |
|
component nexys2_fusp_cuff_aif is -- NEXYS 2, abstract iface, +fusp+cuff |
port ( |
I_CLK50 : in slbit; -- 50 MHz board clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
I_BTN : in slv4; -- n2 buttons |
O_LED : out slv8; -- n2 leds |
O_ANO_N : out slv4; -- 7 segment disp: anodes (act.low) |
O_SEG_N : out slv8; -- 7 segment disp: segments (act.low) |
O_MEM_CE_N : out slbit; -- cram: chip enable (act.low) |
O_MEM_BE_N : out slv2; -- cram: byte enables (act.low) |
O_MEM_WE_N : out slbit; -- cram: write enable (act.low) |
O_MEM_OE_N : out slbit; -- cram: output enable (act.low) |
O_MEM_ADV_N : out slbit; -- cram: address valid (act.low) |
O_MEM_CLK : out slbit; -- cram: clock |
O_MEM_CRE : out slbit; -- cram: command register enable |
I_MEM_WAIT : in slbit; -- cram: mem wait |
O_MEM_ADDR : out slv23; -- cram: address lines |
IO_MEM_DATA : inout slv16; -- cram: data lines |
O_FLA_CE_N : out slbit; -- flash ce.. (act.low) |
O_FUSP_RTS_N : out slbit; -- fusp: rs232 rts_n |
I_FUSP_CTS_N : in slbit; -- fusp: rs232 cts_n |
I_FUSP_RXD : in slbit; -- fusp: rs232 rx |
O_FUSP_TXD : out slbit; -- fusp: rs232 tx |
I_FX2_IFCLK : in slbit; -- fx2: interface clock |
O_FX2_FIFO : out slv2; -- fx2: fifo address |
I_FX2_FLAG : in slv4; -- fx2: fifo flags |
O_FX2_SLRD_N : out slbit; -- fx2: read enable (act.low) |
O_FX2_SLWR_N : out slbit; -- fx2: write enable (act.low) |
O_FX2_SLOE_N : out slbit; -- fx2: output enable (act.low) |
O_FX2_PKTEND_N : out slbit; -- fx2: packet end (act.low) |
IO_FX2_DATA : inout slv8 -- fx2: data lines |
); |
end component; |
|
end package nexys2lib; |
/rtl/bplib/nexys2/tb/nexys2_fusp_dummy.vhd
1,4 → 1,4
-- $Id: nexys2_fusp_dummy.vhd 467 2013-01-02 19:49:05Z mueller $ |
-- $Id: nexys2_fusp_dummy.vhd 433 2011-11-27 22:04:39Z mueller $ |
-- |
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
12,7 → 12,7
-- for complete details. |
-- |
------------------------------------------------------------------------------ |
-- Module Name: nexys2_fusp_dummy - syn |
-- Module Name: nexys2_dummy - syn |
-- Description: nexys2 minimal target (base; serport loopback) |
-- |
-- Dependencies: - |
22,7 → 22,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.3 remove clksys output hack |
-- 2011-11-26 433 1.2 use nxcramlib |
-- 2011-11-23 432 1.1 remove O_FLA_CE_N port from n2_cram_dummy |
-- 2010-11-13 338 1.0.2 add O_CLKSYS (for DCM derived system clock) |
40,6 → 39,7
-- implements nexys2_fusp_aif |
port ( |
I_CLK50 : in slbit; -- 50 MHz board clock |
O_CLKSYS : out slbit; -- DCM derived system clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n2 switches |
69,6 → 69,7
|
begin |
|
O_CLKSYS <= I_CLK50; -- use 50 MHz clock |
O_TXD <= I_RXD; -- loop back |
O_FUSP_TXD <= I_FUSP_RXD; |
O_FUSP_RTS_N <= I_FUSP_CTS_N; |
/rtl/bplib/nexys2/tb/tb_nexys2_fusp.vhd
1,4 → 1,4
-- $Id: tb_nexys2_fusp.vhd 467 2013-01-02 19:49:05Z mueller $ |
-- $Id: tb_nexys2_fusp.vhd 433 2011-11-27 22:04:39Z mueller $ |
-- |
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
15,12 → 15,9
-- Module Name: tb_nexys2_fusp - sim |
-- Description: Test bench for nexys2 (base+fusp) |
-- |
-- Dependencies: simlib/simclk |
-- simlib/simclkcnt |
-- xlib/dcm_sfs |
-- rlink/tb/tbcore_rlink |
-- Dependencies: vlib/rlink/tb/tbcore_rlink_dcm |
-- tb_nexys2_core |
-- serport/serport_uart_rxtx |
-- vlib/serport/serport_uart_rxtx |
-- nexys2_fusp_aif [UUT] |
-- |
-- To test: generic, any nexys2_fusp_aif target |
30,7 → 27,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.2 new system clock scheme, new tbcore_rlink iface |
-- 2011-11-26 433 3.1.1 remove O_FLA_CE_N from tb_nexys2_core |
-- 2011-11-21 432 3.1 update O_FLA_CE_N usage |
-- 2011-11-19 427 3.0.1 now numeric_std clean |
50,11 → 46,9
use work.rlinklib.all; |
use work.rlinktblib.all; |
use work.serport.all; |
use work.xlib.all; |
use work.nexys2lib.all; |
use work.simlib.all; |
use work.simbus.all; |
use work.sys_conf.all; |
|
entity tb_nexys2_fusp is |
end tb_nexys2_fusp; |
62,11 → 56,8
architecture sim of tb_nexys2_fusp is |
|
signal CLKOSC : slbit := '0'; |
signal CLKCOM : slbit := '0'; |
signal CLKSYS : slbit := '0'; |
|
signal CLK_STOP : slbit := '0'; |
signal CLKCOM_CYCLE : integer := 0; |
|
signal RESET : slbit := '0'; |
signal CLKDIV : slv2 := "00"; -- run with 1 clocks / bit !! |
signal RXDATA : slv8 := (others=>'0'); |
114,44 → 105,29
|
constant sbaddr_portsel: slv8 := slv(to_unsigned( 8,8)); |
|
constant clock_period : time := 20 ns; |
constant clock_offset : time := 200 ns; |
constant clockosc_period : time := 20 ns; |
constant clockosc_offset : time := 200 ns; |
constant setup_time : time := 5 ns; |
constant c2out_time : time := 9 ns; |
|
begin |
|
CLKGEN : simclk |
TBCORE : tbcore_rlink_dcm |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
CLKOSC_PERIOD => clockosc_period, |
CLKOSC_OFFSET => clockosc_offset, |
SETUP_TIME => setup_time, |
C2OUT_TIME => c2out_time) |
port map ( |
CLK => CLKOSC, |
CLK_STOP => CLK_STOP |
CLKOSC => CLKOSC, |
CLKSYS => CLKSYS, |
RX_DATA => TXDATA, |
RX_VAL => TXENA, |
RX_HOLD => RX_HOLD, |
TX_DATA => RXDATA, |
TX_ENA => RXVAL |
); |
|
DCM_COM : dcm_sfs |
generic map ( |
CLKFX_DIVIDE => sys_conf_clkfx_divide, |
CLKFX_MULTIPLY => sys_conf_clkfx_multiply, |
CLKIN_PERIOD => 20.0) |
port map ( |
CLKIN => CLKOSC, |
CLKFX => CLKCOM, |
LOCKED => open |
); |
|
CLKCNT : simclkcnt port map (CLK => CLKCOM, CLK_CYCLE => CLKCOM_CYCLE); |
|
TBCORE : tbcore_rlink |
port map ( |
CLK => CLKCOM, |
CLK_STOP => CLK_STOP, |
RX_DATA => TXDATA, |
RX_VAL => TXENA, |
RX_HOLD => RX_HOLD, |
TX_DATA => RXDATA, |
TX_ENA => RXVAL |
); |
|
RX_HOLD <= TXBUSY or RTS_N; -- back preasure for data flow to tb |
|
N2CORE : entity work.tb_nexys2_core |
173,6 → 149,7
UUT : nexys2_fusp_aif |
port map ( |
I_CLK50 => CLKOSC, |
O_CLKSYS => CLKSYS, |
I_RXD => I_RXD, |
O_TXD => O_TXD, |
I_SWI => I_SWI, |
201,7 → 178,7
generic map ( |
CDWIDTH => CLKDIV'length) |
port map ( |
CLK => CLKCOM, |
CLK => CLKSYS, |
RESET => UART_RESET, |
CLKDIV => CLKDIV, |
RXSD => UART_RXD, |
240,10 → 217,11
begin |
|
loop |
wait until rising_edge(CLKCOM); |
wait until rising_edge(CLKSYS); |
wait for c2out_time; |
|
if RXERR = '1' then |
writetimestamp(oline, CLKCOM_CYCLE, " : seen RXERR=1"); |
writetimestamp(oline, SB_CLKCYCLE, " : seen RXERR=1"); |
writeline(output, oline); |
end if; |
|
/rtl/bplib/nexys2/tb/Makefile
1,8 → 1,7
# $Id: Makefile 467 2013-01-02 19:49:05Z mueller $ |
# $Id: Makefile 433 2011-11-27 22:04:39Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2013-01-01 467 1.2.1 add tb_nexys2_fusp_cuff_dummy |
# 2011-11-26 433 1.2 remove tb_n2_cram_memctl_as (moved to nxcramlib) |
# 2011-08-13 405 1.1 use includes from rtl/make |
# 2010-05-30 297 1.0.2 use tb_n2_cram_memctl_as now |
9,9 → 8,7
# 2010-05-28 295 1.0.1 add tb_.._dummy's |
# 2007-09-23 84 1.0 Initial version |
# |
EXE_all = tb_nexys2_dummy |
EXE_all += tb_nexys2_fusp_dummy |
EXE_all += tb_nexys2_fusp_cuff_dummy |
EXE_all = tb_nexys2_dummy tb_nexys2_fusp_dummy |
# |
ISE_PATH = xc3s1200e-fg320-4 |
# |
/rtl/bplib/nexys2/tb/tb_nexys2_fusp.vbom
7,19 → 7,14
../../../vlib/rlink/rlinklib.vbom |
../../../vlib/rlink/tb/rlinktblib.vhd |
../../../vlib/serport/serport.vhd |
../../../vlib/xlib/xlib.vhd |
../nexys2lib.vhd |
../../../vlib/simlib/simlib.vhd |
../../../vlib/simlib/simbus.vhd |
${sys_conf := sys_conf_sim.vhd} |
# components |
../../../vlib/simlib/simclk.vbom |
../../../vlib/simlib/simclkcnt.vbom |
../../../vlib/rlink/tb/tbcore_rlink.vbom |
../../../vlib/xlib/dcm_sfs_gsim.vbom |
../../../vlib/rlink/tb/tbcore_rlink_dcm.vbom |
tb_nexys2_core.vbom |
../../../vlib/serport/serport_uart_rxtx.vbom |
${nexys2_fusp_aif := nexys2_fusp_dummy.vbom} |
nexys2_fusp_aif : nexys2_fusp_dummy.vbom |
# design |
tb_nexys2_fusp.vhd |
@top:tb_nexys2_fusp |
/rtl/bplib/nexys2/nexys2_pins.ucf
1,4 → 1,4
## $Id: nexys2_pins.ucf 444 2011-12-25 10:04:58Z mueller $ |
## $Id: nexys2_pins.ucf 432 2011-11-25 20:16:28Z mueller $ |
## |
## Pin locks for Nexys 2 core functionality (for 1200k FPGA) |
## - internal RS232 |
7,7 → 7,6
## |
## Revision History: |
## Date Rev Version Comment |
## 2011-11-23 444 1.1 remove clksys output hack |
## 2010-11-13 338 1.0.3 add O_CLKSYS (for DCM derived system clock) |
## 2010-11-06 336 1.0.2 Rename CLK -> I_CLK50 |
## 2010-05-23 294 1.0.1 use ADV_N rather ADV |
18,6 → 17,10
## clocks -------------------------------------------------------------------- |
NET "I_CLK50" LOC = "b8" | IOSTANDARD=LVCMOS33; |
## |
## system clock on FX2 connector --------------------------------------------- |
## (use FX2_CLKIO pin; currently only used to make test benches happy !!) |
NET "O_CLKSYS" LOC = "m9" | IOSTANDARD=LVCMOS33 | DRIVE=6 | SLEW=SLOW; |
## |
## RS232 interface ----------------------------------------------------------- |
NET "I_RXD" LOC = "u6" | IOSTANDARD=LVCMOS33; |
NET "O_TXD" LOC = "p9" | IOSTANDARD=LVCMOS33 | DRIVE=12 | SLEW=SLOW; |
/rtl/bplib/nexys3/tb/nexys3_fusp_dummy.vhd
0,0 → 1,90
-- $Id: nexys3_fusp_dummy.vhd 433 2011-11-27 22:04:39Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
-- Software Foundation, either version 2, or at your option any later version. |
-- |
-- This program is distributed in the hope that it will be useful, but |
-- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY |
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
-- for complete details. |
-- |
------------------------------------------------------------------------------ |
-- Module Name: nexys3_dummy - syn |
-- Description: nexys3 minimal target (base; serport loopback) |
-- |
-- Dependencies: - |
-- To test: tb_nexys3 |
-- Target Devices: generic |
-- Tool versions: xst 13.1; ghdl 0.29 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-11-26 433 1.1 use nxcramlib |
-- 2011-11-25 432 1.0 Initial version (derived from nexys2_fusp_dummy) |
------------------------------------------------------------------------------ |
|
library ieee; |
use ieee.std_logic_1164.all; |
|
use work.slvtypes.all; |
use work.nxcramlib.all; |
|
entity nexys3_fusp_dummy is -- NEXYS 3 dummy (base+fusp; loopback) |
-- implements nexys3_fusp_aif |
port ( |
I_CLK100 : in slbit; -- 100 MHz board clock |
I_RXD : in slbit; -- receive data (board view) |
O_TXD : out slbit; -- transmit data (board view) |
I_SWI : in slv8; -- n3 switches |
I_BTN : in slv5; -- n3 buttons |
O_LED : out slv8; -- n3 leds |
O_ANO_N : out slv4; -- 7 segment disp: anodes (act.low) |
O_SEG_N : out slv8; -- 7 segment disp: segments (act.low) |
O_MEM_CE_N : out slbit; -- cram: chip enable (act.low) |
O_MEM_BE_N : out slv2; -- cram: byte enables (act.low) |
O_MEM_WE_N : out slbit; -- cram: write enable (act.low) |
O_MEM_OE_N : out slbit; -- cram: output enable (act.low) |
O_MEM_ADV_N : out slbit; -- cram: address valid (act.low) |
O_MEM_CLK : out slbit; -- cram: clock |
O_MEM_CRE : out slbit; -- cram: command register enable |
I_MEM_WAIT : in slbit; -- cram: mem wait |
O_MEM_ADDR : out slv23; -- cram: address lines |
IO_MEM_DATA : inout slv16; -- cram: data lines |
O_PPCM_CE_N : out slbit; -- ppcm: ... |
O_PPCM_RST_N : out slbit; -- ppcm: ... |
O_FUSP_RTS_N : out slbit; -- fusp: rs232 rts_n |
I_FUSP_CTS_N : in slbit; -- fusp: rs232 cts_n |
I_FUSP_RXD : in slbit; -- fusp: rs232 rx |
O_FUSP_TXD : out slbit -- fusp: rs232 tx |
); |
end nexys3_fusp_dummy; |
|
architecture syn of nexys3_fusp_dummy is |
|
begin |
|
O_TXD <= I_RXD; -- loop back |
O_FUSP_TXD <= I_FUSP_RXD; |
O_FUSP_RTS_N <= I_FUSP_CTS_N; |
|
CRAM : nx_cram_dummy -- connect CRAM to protection dummy |
port map ( |
O_MEM_CE_N => O_MEM_CE_N, |
O_MEM_BE_N => O_MEM_BE_N, |
O_MEM_WE_N => O_MEM_WE_N, |
O_MEM_OE_N => O_MEM_OE_N, |
O_MEM_ADV_N => O_MEM_ADV_N, |
O_MEM_CLK => O_MEM_CLK, |
O_MEM_CRE => O_MEM_CRE, |
I_MEM_WAIT => I_MEM_WAIT, |
O_MEM_ADDR => O_MEM_ADDR, |
IO_MEM_DATA => IO_MEM_DATA |
); |
|
O_PPCM_CE_N <= '1'; -- keep parallel PCM memory disabled |
O_PPCM_RST_N <= '1'; -- |
|
end syn; |
/rtl/bplib/nexys3/tb/nexys3_fusp_dummy.vbom
0,0 → 1,7
# libs |
../../../vlib/slvtypes.vhd |
../../nxcramlib/nxcramlib.vhd |
# components |
../../nxcramlib/nx_cram_dummy.vbom |
# design |
nexys3_fusp_dummy.vhd |
/rtl/bplib/nexys3/tb/tb_nexys3_fusp.vhd
1,4 → 1,4
-- $Id: tb_nexys3_fusp.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_nexys3_fusp.vhd 433 2011-11-27 22:04:39Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
15,12 → 15,10
-- Module Name: tb_nexys3_fusp - sim |
-- Description: Test bench for nexys3 (base+fusp) |
-- |
-- Dependencies: simlib/simclk |
-- simlib/simclkcnt |
-- xlib/dcm_sfs |
-- rlink/tb/tbcore_rlink |
-- Dependencies: vlib/rlink/tb/tbcore_rlink_dcm |
-- vlib/xlib/dcm_sfs |
-- tb_nexys3_core |
-- serport/serport_uart_rxtx |
-- vlib/serport/serport_uart_rxtx |
-- nexys3_fusp_aif [UUT] |
-- |
-- To test: generic, any nexys3_fusp_aif target |
30,7 → 28,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 new system clock scheme, new tbcore_rlink iface |
-- 2011-11-25 432 1.0 Initial version (derived from tb_nexys2_fusp) |
------------------------------------------------------------------------------ |
|
55,12 → 52,9
|
architecture sim of tb_nexys3_fusp is |
|
signal CLKOSC : slbit := '0'; -- board clock (100 Mhz) |
signal CLKCOM : slbit := '0'; -- communication clock |
signal CLKOSC : slbit := '0'; |
signal CLKSYS : slbit := '0'; |
|
signal CLK_STOP : slbit := '0'; |
signal CLKCOM_CYCLE : integer := 0; |
|
signal RESET : slbit := '0'; |
signal CLKDIV : slv2 := "00"; -- run with 1 clocks / bit !! |
signal RXDATA : slv8 := (others=>'0'); |
109,21 → 103,30
|
constant sbaddr_portsel: slv8 := slv(to_unsigned( 8,8)); |
|
constant clock_period : time := 10 ns; |
constant clock_offset : time := 200 ns; |
constant clockosc_period : time := 10 ns; |
constant clockosc_offset : time := 200 ns; |
constant setup_time : time := 5 ns; |
constant c2out_time : time := 9 ns; |
|
begin |
|
CLKGEN : simclk |
TBCORE : tbcore_rlink_dcm |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
CLKOSC_PERIOD => clockosc_period, |
CLKOSC_OFFSET => clockosc_offset, |
SETUP_TIME => setup_time, |
C2OUT_TIME => c2out_time) |
port map ( |
CLK => CLKOSC, |
CLK_STOP => CLK_STOP |
CLKOSC => CLKOSC, |
CLKSYS => CLKSYS, |
RX_DATA => TXDATA, |
RX_VAL => TXENA, |
RX_HOLD => RX_HOLD, |
TX_DATA => RXDATA, |
TX_ENA => RXVAL |
); |
|
DCM_COM : dcm_sfs |
|
DCM_SYS : dcm_sfs |
generic map ( |
CLKFX_DIVIDE => sys_conf_clkfx_divide, |
CLKFX_MULTIPLY => sys_conf_clkfx_multiply, |
130,23 → 133,10
CLKIN_PERIOD => 10.0) |
port map ( |
CLKIN => CLKOSC, |
CLKFX => CLKCOM, |
CLKFX => CLKSYS, |
LOCKED => open |
); |
|
CLKCNT : simclkcnt port map (CLK => CLKCOM, CLK_CYCLE => CLKCOM_CYCLE); |
|
TBCORE : tbcore_rlink |
port map ( |
CLK => CLKCOM, |
CLK_STOP => CLK_STOP, |
RX_DATA => TXDATA, |
RX_VAL => TXENA, |
RX_HOLD => RX_HOLD, |
TX_DATA => RXDATA, |
TX_ENA => RXVAL |
); |
|
RX_HOLD <= TXBUSY or RTS_N; -- back preasure for data flow to tb |
|
N3CORE : entity work.tb_nexys3_core |
197,7 → 187,7
generic map ( |
CDWIDTH => CLKDIV'length) |
port map ( |
CLK => CLKCOM, |
CLK => CLKSYS, |
RESET => UART_RESET, |
CLKDIV => CLKDIV, |
RXSD => UART_RXD, |
236,10 → 226,11
begin |
|
loop |
wait until rising_edge(CLKCOM); |
wait until rising_edge(CLKSYS); |
wait for c2out_time; |
|
if RXERR = '1' then |
writetimestamp(oline, CLKCOM_CYCLE, " : seen RXERR=1"); |
writetimestamp(oline, SB_CLKCYCLE, " : seen RXERR=1"); |
writeline(output, oline); |
end if; |
|
/rtl/bplib/nexys3/tb/tb_nexys3_fusp.vbom
11,15 → 11,13
../nexys3lib.vhd |
../../../vlib/simlib/simlib.vhd |
../../../vlib/simlib/simbus.vhd |
${sys_conf := sys_conf_sim.vhd} |
sys_conf : sys_conf_sim.vhd |
# components |
../../../vlib/simlib/simclk.vbom |
../../../vlib/simlib/simclkcnt.vbom |
../../../vlib/rlink/tb/tbcore_rlink.vbom |
../../../vlib/rlink/tb/tbcore_rlink_dcm.vbom |
../../../vlib/xlib/dcm_sfs_gsim.vbom |
tb_nexys3_core.vbom |
../../../vlib/serport/serport_uart_rxtx.vbom |
${nexys3_fusp_aif := nexys3_fusp_dummy.vbom} |
nexys3_fusp_aif : nexys3_fusp_dummy.vbom |
# design |
tb_nexys3_fusp.vhd |
@top:tb_nexys3_fusp |
/rtl/bplib/bpgen/bp_swibtnled.vbom
3,7 → 3,7
../../vlib/genlib/genlib.vhd |
../../vlib/xlib/xlib.vhd |
bpgenlib.vbom |
## ${sys_conf := sys_conf.vhd} |
## sys_conf : sys_conf.vhd |
# components |
../../vlib/xlib/iob_reg_i_gen.vbom |
../../vlib/xlib/iob_reg_o_gen.vbom |
/rtl/w11a/tb/tb_pdp11core.vhd
1,4 → 1,4
-- $Id: tb_pdp11core.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_pdp11core.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
46,7 → 46,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.4 use new simclk/simclkcnt |
-- 2011-11-18 427 1.3.2 now numeric_std clean |
-- 2011-01-02 352 1.3.1 rename .cpmon->.rlmon |
-- 2010-12-30 351 1.3 rename tb_pdp11_core -> tb_pdp11core |
117,7 → 116,6
signal CP_DOUT : slv16 := (others=>'0'); |
|
signal CLK_STOP : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
|
signal R_CHKDAT : slv16 := (others=>'0'); |
signal R_CHKMSK : slv16 := (others=>'0'); |
132,16 → 130,15
|
begin |
|
CLKGEN : simclk |
SYSCLK : simclk |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
port map ( |
CLK => CLK, |
CLK_CYCLE => SB_CLKCYCLE, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
UUT: entity work.tbd_pdp11core |
port map ( |
629,7 → 626,7
wait for 4*clock_period; |
CLK_STOP <= '1'; |
|
writetimestamp(oline, CLK_CYCLE, ": DONE "); |
writetimestamp(oline, SB_CLKCYCLE, ": DONE "); |
writeline(output, oline); |
|
wait; -- suspend proc_stim forever |
/rtl/w11a/tb/tb_pdp11core.vbom
6,7 → 6,6
../pdp11.vbom |
# components |
../../vlib/simlib/simclk.vbom |
../../vlib/simlib/simclkcnt.vbom |
${tbd_pdp11core := tbd_pdp11core.vbom} |
tbd_pdp11core : tbd_pdp11core.vbom |
# design |
tb_pdp11core.vhd |
/rtl/w11a/tb/tbd_pdp11core.vbom
4,7 → 4,7
../../ibus/iblib.vhd |
../../ibus/ibdlib.vhd |
../pdp11.vbom |
${sys_conf := ../sys_conf.vhd} |
sys_conf : ../sys_conf.vhd |
# components |
../../vlib/genlib/clkdivce.vbom |
../pdp11_core.vbom |
/rtl/w11a/pdp11_tmu.vhd
1,4 → 1,4
-- $Id: pdp11_tmu.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: pdp11_tmu.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2008-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
23,7 → 23,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use local clkcycle count instead of simbus global |
-- 2011-11-18 427 1.0.7 now numeric_std clean |
-- 2010-10-17 333 1.0.6 use ibus V2 interface |
-- 2010-06-26 309 1.0.5 add ibmreq.dip,.cacc,.racc to trace |
67,7 → 66,6
|
proc_tm: process (CLK) |
variable oline : line; |
variable clkcycle : integer := 0; |
variable ipsw : slv16 := (others=>'0'); |
variable ibaddr : slv16 := (others=>'0'); |
variable emaddr : slv22 := (others=>'0'); |
78,10 → 76,9
file ofile : text open write_mode is "tmu_ofile"; |
begin |
|
|
if rising_edge(CLK) then |
|
clkcycle := clkcycle + 1; |
|
if R_FIRST = '1' then |
R_FIRST <= '0'; |
write(oline, string'("#")); |
171,7 → 168,7
end if; |
|
if wcycle then |
write(oline, clkcycle, right, 9); |
write(oline, to_integer(unsigned(SB_CLKCYCLE)), right, 9); |
write(oline, string'(" 0")); |
writeoct(oline, DM_STAT_DP.pc, right, 7); |
writeoct(oline, ipsw, right, 7); |
/rtl/w11a/pdp11_vmbox.vbom
2,7 → 2,7
../vlib/slvtypes.vhd |
../ibus/iblib.vhd |
pdp11.vbom |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
pdp11_mmu.vbom |
pdp11_ubmap.vbom |
/rtl/w11a/pdp11_mem70.vbom
2,7 → 2,7
../vlib/slvtypes.vhd |
../ibus/iblib.vhd |
pdp11.vbom |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
# design |
pdp11_mem70.vhd |
/rtl/w11a/pdp11_sys70.vbom
2,7 → 2,7
../vlib/slvtypes.vhd |
../ibus/iblib.vhd |
pdp11.vbom |
${sys_conf := sys_conf.vhd} |
sys_conf : sys_conf.vhd |
# components |
# design |
pdp11_sys70.vhd |
/rtl/vlib/rlink/rlink_rlbmux.vhd
File deleted
/rtl/vlib/rlink/rlink_rlbmux.vbom
File deleted
/rtl/vlib/rlink/tb/tbd_rlink_sp1c.vbom
7,11 → 7,10
../../simlib/simlib.vhd |
../../simlib/simbus.vhd |
# components |
${tbu_rlink_sp1c := tbu_rlink_sp1c.vbom} |
tbu_rlink_sp1c : tbu_rlink_sp1c.vbom |
../../serport/serport_uart_tx.vbom |
../../serport/serport_uart_rx.vbom |
../../comlib/byte2cdata.vbom |
../../comlib/cdata2byte.vbom |
../../simlib/simclkcnt.vbom |
# design |
tbd_rlink_sp1c.vhd |
/rtl/vlib/rlink/tb/tbd_rlink_sp1c.vhd
1,4 → 1,4
-- $Id: tbd_rlink_sp1c.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tbd_rlink_sp1c.vhd 442 2011-12-23 10:03:28Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
23,7 → 23,6
-- serport_uart_rx |
-- byte2cdata |
-- cdata2byte |
-- simlib/simclkcnt |
-- |
-- To test: rlink_sp1c |
-- |
32,7 → 31,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.2 use simclkcnt instead of simbus global |
-- 2011-12-22 442 3.1 renamed and retargeted to tbu_rlink_sp1c |
-- 2011-11-19 427 3.0.5 now numeric_std clean |
-- 2010-12-28 350 3.0.4 use CLKDIV/CDINIT=0; |
112,8 → 110,7
signal TXENA : slbit := '0'; |
signal TXBUSY : slbit := '0'; |
signal CLKDIV : slv13 := slv(to_unsigned(c_cdinit,CDWIDTH)); |
signal CLK_CYCLE : integer := 0; |
|
|
component tbu_rlink_sp1c is -- rlink core+serport combo |
port ( |
CLK : in slbit; -- clock |
226,8 → 223,6
HOLD => TXBUSY |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
proc_moni: process |
variable oline : line; |
variable rts_last : slbit := '0'; |
236,7 → 231,7
loop |
wait until rising_edge(CLK); -- check at end of clock cycle |
if RTS_N /= rts_last then |
writetimestamp(oline, CLK_CYCLE, ": rts "); |
writetimestamp(oline, SB_CLKCYCLE, ": rts "); |
write(oline, string'(" RTS_N ")); |
write(oline, rts_last, right, 1); |
write(oline, string'(" -> ")); |
/rtl/vlib/rlink/tb/tbcore_rlink_dcm.vhd
0,0 → 1,287
-- $Id: tbcore_rlink_dcm.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
-- Software Foundation, either version 2, or at your option any later version. |
-- |
-- This program is distributed in the hope that it will be useful, but |
-- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY |
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
-- for complete details. |
-- |
------------------------------------------------------------------------------ |
-- Module Name: tbcore_rlink_dcm - sim |
-- Description: DCM aware core for a rlink_cext based test bench |
-- |
-- Dependencies: simlib/simclk |
-- simlib/simclkcnt |
-- |
-- To test: generic, any rlink_cext based target |
-- |
-- Target Devices: generic |
-- Tool versions: 11.4, 12.1, 13.1; ghdl 0.26-0.29 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-11-19 427 3.0.1 now numeric_std clean |
-- 2010-12-29 351 3.0 rename rritb_core_dcm->tbcore_rlink_dcm; rbv3 names |
-- 2010-11-13 338 1.1 First DCM aware version, cloned from rritb_core |
-- 2010-06-05 301 1.1.2 renamed .rpmon -> .rbmon |
-- 2010-05-02 287 1.1.1 rename config command .sdata -> .sinit; |
-- use sbcntl_sbf_(cp|rp)mon defs, use rritblib; |
-- 2010-04-25 283 1.1 new clk handling in proc_stim, wait period-setup |
-- 2010-04-24 282 1.0 Initial version (from vlib/s3board/tb/tb_s3board) |
------------------------------------------------------------------------------ |
|
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
use ieee.std_logic_textio.all; |
use std.textio.all; |
|
use work.slvtypes.all; |
use work.simlib.all; |
use work.simbus.all; |
use work.rblib.all; |
use work.rlinklib.all; |
use work.rlinktblib.all; |
use work.rlink_cext_vhpi.all; |
|
entity tbcore_rlink_dcm is -- dcm aware core of rlink_cext based tb |
generic ( |
CLKOSC_PERIOD : time := 20 ns; -- clock osc period |
CLKOSC_OFFSET : time := 200 ns; -- clock osc offset (time to start clk) |
SETUP_TIME : time := 5 ns; -- setup time |
C2OUT_TIME : time := 10 ns); -- clock to output time |
port ( |
CLKOSC : out slbit; -- clock osc |
CLKSYS : in slbit; -- DCM derived system clock |
RX_DATA : out slv8; -- read data (data ext->tb) |
RX_VAL : out slbit; -- read data valid (data ext->tb) |
RX_HOLD : in slbit; -- read data hold (data ext->tb) |
TX_DATA : in slv8; -- write data (data tb->ext) |
TX_ENA : in slbit -- write data enable (data tb->ext) |
); |
end tbcore_rlink_dcm; |
|
architecture sim of tbcore_rlink_dcm is |
|
signal CLK_STOP : slbit := '0'; |
|
begin |
|
CLKGEN : simclk |
generic map ( |
PERIOD => CLKOSC_PERIOD, |
OFFSET => CLKOSC_OFFSET) |
port map ( |
CLK => CLKOSC, |
CLK_CYCLE => open, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt |
port map ( |
CLK => CLKSYS, |
CLK_CYCLE => SB_CLKCYCLE |
); |
|
proc_conf: process |
file fconf : text open read_mode is "rlink_cext_conf"; |
variable iline : line; |
variable oline : line; |
variable ok : boolean; |
variable dname : string(1 to 6) := (others=>' '); |
variable ien : slbit := '0'; |
variable ibit : integer := 0; |
variable iaddr : slv8 := (others=>'0'); |
variable idata : slv16 := (others=>'0'); |
begin |
|
SB_CNTL <= (others=>'L'); |
SB_VAL <= 'L'; |
SB_ADDR <= (others=>'L'); |
SB_DATA <= (others=>'L'); |
|
file_loop: while not endfile(fconf) loop |
|
readline (fconf, iline); |
readcomment(iline, ok); |
next file_loop when ok; |
readword(iline, dname, ok); |
|
if ok then |
case dname is |
|
when ".scntl" => -- .scntl |
read_ea(iline, ibit); |
read_ea(iline, ien); |
assert (ibit>=SB_CNTL'low and ibit<=SB_CNTL'high) |
report "assert bit number in range of SB_CNTL" |
severity failure; |
if ien = '1' then |
SB_CNTL(ibit) <= 'H'; |
else |
SB_CNTL(ibit) <= 'L'; |
end if; |
|
when ".rlmon" => -- .rlmon |
read_ea(iline, ien); |
if ien = '1' then |
SB_CNTL(sbcntl_sbf_rlmon) <= 'H'; |
else |
SB_CNTL(sbcntl_sbf_rlmon) <= 'L'; |
end if; |
|
when ".rbmon" => -- .rbmon |
read_ea(iline, ien); |
if ien = '1' then |
SB_CNTL(sbcntl_sbf_rbmon) <= 'H'; |
else |
SB_CNTL(sbcntl_sbf_rbmon) <= 'L'; |
end if; |
|
when ".sinit" => -- .sinit |
readgen_ea(iline, iaddr, 8); |
readgen_ea(iline, idata, 8); |
SB_ADDR <= iaddr; |
SB_DATA <= idata; |
SB_VAL <= 'H'; |
wait for 0 ns; |
SB_VAL <= 'L'; |
SB_ADDR <= (others=>'L'); |
SB_DATA <= (others=>'L'); |
wait for 0 ns; |
|
when others => -- bad command |
write(oline, string'("?? unknown command: ")); |
write(oline, dname); |
writeline(output, oline); |
report "aborting" severity failure; |
end case; |
else |
report "failed to find command" severity failure; |
end if; |
|
testempty_ea(iline); |
|
end loop; -- file_loop: |
|
wait; -- halt process here |
|
end process proc_conf; |
|
proc_stim: process |
variable t_lastclksys : time := 0 ns; |
variable clksys_period : time := 0 ns; |
variable icycle : integer := 0; |
variable irxint : integer := 0; |
variable irxslv : slv24 := (others=>'0'); |
variable ibit : integer := 0; |
variable oline : line; |
variable r_sb_cntl : slv16 := (others=>'Z'); |
variable iaddr : slv8 := (others=>'0'); |
variable idata : slv16 := (others=>'0'); |
begin |
|
-- just wait for 10 CLKSYS cycles |
for i in 1 to 10 loop |
wait until rising_edge(CLKSYS); |
clksys_period := now - t_lastclksys; |
t_lastclksys := now; |
end loop; -- i |
|
stim_loop: loop |
|
wait until rising_edge(CLKSYS); |
clksys_period := now - t_lastclksys; |
t_lastclksys := now; |
|
wait for clksys_period-SETUP_TIME; |
|
SB_ADDR <= (others=>'Z'); |
SB_DATA <= (others=>'Z'); |
|
icycle := to_integer(unsigned(SB_CLKCYCLE)); |
RX_VAL <= '0'; |
|
if RX_HOLD = '0' then |
irxint := rlink_cext_getbyte(icycle); |
if irxint >= 0 then |
if irxint <= 16#ff# then -- normal data byte |
RX_DATA <= slv(to_unsigned(irxint, 8)); |
RX_VAL <= '1'; |
elsif irxint >= 16#1000000# then -- out-of-band message |
irxslv := slv(to_unsigned(irxint mod 16#1000000#, 24)); |
iaddr := irxslv(23 downto 16); |
idata := irxslv(15 downto 0); |
writetimestamp(oline, SB_CLKCYCLE, ": OOB-MSG"); |
write(oline, irxslv(23 downto 16), right, 9); |
write(oline, irxslv(15 downto 8), right, 9); |
write(oline, irxslv( 7 downto 0), right, 9); |
write(oline, string'(" : ")); |
writeoct(oline, iaddr, right, 3); |
writeoct(oline, idata, right, 7); |
writeline(output, oline); |
if unsigned(iaddr) = 0 then |
ibit := to_integer(unsigned(idata(15 downto 8))); |
r_sb_cntl(ibit) := idata(0); |
else |
SB_ADDR <= iaddr; |
SB_DATA <= idata; |
SB_VAL <= '1'; |
wait for 0 ns; |
SB_VAL <= 'Z'; |
wait for 0 ns; |
end if; |
end if; |
elsif irxint = -1 then -- end-of-file seen |
exit stim_loop; |
else |
report "rlink_cext_getbyte error: " & integer'image(-irxint) |
severity failure; |
end if; |
end if; |
|
SB_CNTL <= r_sb_cntl; |
|
end loop; |
|
-- just wait for 50 CLKSYS cycles |
for i in 1 to 50 loop |
wait until rising_edge(CLKSYS); |
end loop; -- i |
CLK_STOP <= '1'; |
|
writetimestamp(oline, SB_CLKCYCLE, ": DONE "); |
writeline(output, oline); |
|
wait; -- suspend proc_stim forever |
-- clock is stopped, sim will end |
|
end process proc_stim; |
|
proc_moni: process |
variable itxdata : integer := 0; |
variable itxrc : integer := 0; |
variable oline : line; |
begin |
|
loop |
wait until rising_edge(CLKSYS); |
wait for C2OUT_TIME; |
if TX_ENA = '1' then |
itxdata := to_integer(unsigned(TX_DATA)); |
itxrc := rlink_cext_putbyte(itxdata); |
assert itxrc=0 |
report "rlink_cext_putbyte error: " & integer'image(itxrc) |
severity failure; |
end if; |
|
end loop; |
|
end process proc_moni; |
|
end sim; |
/rtl/vlib/rlink/tb/tb_rlink.vhd
1,4 → 1,4
-- $Id: tb_rlink.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_rlink.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
16,7 → 16,6
-- Description: Test bench for rlink_core |
-- |
-- Dependencies: simlib/simclk |
-- simlib/simclkcnt |
-- genlib/clkdivce |
-- rbus/tbd_tester |
-- rbus/rb_mon |
32,7 → 31,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 use new simclk/simclkcnt |
-- 2011-11-19 427 3.0.7 fix crc8_update_tbl usage; now numeric_std clean |
-- 2010-12-29 351 3.0.6 use new rbd_tester addr 111100xx (from 111101xx) |
-- 2010-12-26 348 3.0.5 use simbus to export clkcycle (for tbd_..serport) |
108,6 → 106,7
use work.rbdlib.all; |
use work.rlinklib.all; |
use work.simlib.all; |
use work.simbus.all; |
|
entity tb_rlink is |
end tb_rlink; |
147,7 → 146,6
signal RB_SRES : rb_sres_type := rb_sres_init; |
|
signal CLK_STOP : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
|
constant slv9_zero : slv9 := (others=>'0'); |
constant slv16_zero : slv16 := (others=>'0'); |
194,22 → 192,22
|
begin |
|
CLKGEN : simclk |
SYSCLK : simclk |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
port map ( |
CLK => CLK, |
CLK_CYCLE => SB_CLKCYCLE, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
CLKDIV : clkdivce |
generic map ( |
CDUWIDTH => 6, |
USECDIV => 4, |
MSECDIV => 5) |
MSECDIV => 5 |
) |
port map ( |
CLK => CLK, |
CE_USEC => CE_USEC, |
247,7 → 245,7
DWIDTH => RL_DI'length) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_CYCLE => SB_CLKCYCLE, |
ENA => RLMON_EN, |
RL_DI => RL_DI, |
RL_ENA => RL_ENA, |
262,7 → 260,7
DBASE => 2) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_CYCLE => SB_CLKCYCLE, |
ENA => RBMON_EN, |
RB_MREQ => RB_MREQ, |
RB_SRES => RB_SRES, |
347,7 → 345,7
begin |
if sv_rxind < sv_nrxlist then |
for i in sv_rxind to sv_nrxlist-1 loop |
writetimestamp(oline, CLK_CYCLE, ": moni "); |
writetimestamp(oline, SB_CLKCYCLE, ": moni "); |
write(oline, string'(" FAIL MISSING DATA=")); |
write(oline, sv_rxlist(i)(8)); |
write(oline, string'(" ")); |
577,7 → 575,7
RL_DI <= txlist(i); |
RL_ENA <= '1'; |
|
writetimestamp(oline, CLK_CYCLE, ": stim"); |
writetimestamp(oline, SB_CLKCYCLE, ": stim"); |
write(oline, txlist(i)(8), right, 3); |
write(oline, txlist(i)(7 downto 0), right, 9); |
if txlist(i)(8) = '1' then |
613,7 → 611,7
wait for 50*clock_period; |
|
checkmiss_rx; |
writetimestamp(oline, CLK_CYCLE, ": DONE "); |
writetimestamp(oline, SB_CLKCYCLE, ": DONE "); |
writeline(output, oline); |
|
CLK_STOP <= '1'; |
633,7 → 631,7
wait for c2out_time; |
|
if RL_VAL = '1' then |
writetimestamp(oline, CLK_CYCLE, ": moni"); |
writetimestamp(oline, SB_CLKCYCLE, ": moni"); |
write(oline, RL_DO(8), right, 3); |
write(oline, RL_DO(7 downto 0), right, 9); |
if RL_DO(8) = '1' then |
/rtl/vlib/rlink/tb/tbcore_rlink.vhd
1,4 → 1,4
-- $Id: tbcore_rlink.vhd 445 2011-12-26 21:19:26Z mueller $ |
-- $Id: tbcore_rlink.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
15,7 → 15,7
-- Module Name: tbcore_rlink - sim |
-- Description: Core for a rlink_cext based test bench |
-- |
-- Dependencies: simlib/simclkcnt |
-- Dependencies: simlib/simclk |
-- |
-- To test: generic, any rlink_cext based target |
-- |
23,8 → 23,6
-- Tool versions: xst 11.4, 13.1; ghdl 0.26-0.29 |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-25 445 3.1.1 add SB_ init drivers to avoid SB_VAL='U' at start |
-- 2011-12-23 444 3.1 redo clock handling, remove simclk, CLK now input |
-- 2011-11-19 427 3.0.1 now numeric_std clean |
-- 2010-12-29 351 3.0 rename rritb_core->tbcore_rlink; use rbv3 naming |
-- 2010-06-05 301 1.1.2 rename .rpmon -> .rbmon |
49,9 → 47,13
use work.rlink_cext_vhpi.all; |
|
entity tbcore_rlink is -- core of rlink_cext based test bench |
generic ( |
CLK_PERIOD : time := 20 ns; -- clock period |
CLK_OFFSET : time := 200 ns; -- clock offset (time to start clock) |
SETUP_TIME : time := 5 ns; -- setup time |
C2OUT_TIME : time := 10 ns); -- clock to output time |
port ( |
CLK : in slbit; -- control interface clock |
CLK_STOP : out slbit; -- clock stop trigger |
CLK : out slbit; -- main clock |
RX_DATA : out slv8; -- read data (data ext->tb) |
RX_VAL : out slbit; -- read data valid (data ext->tb) |
RX_HOLD : in slbit; -- read data hold (data ext->tb) |
61,13 → 63,24
end tbcore_rlink; |
|
architecture sim of tbcore_rlink is |
|
signal CLK_CYCLE : integer := 0; |
|
signal CLK_L : slbit := '0'; |
signal CLK_STOP : slbit := '0'; |
|
begin |
|
SYSCLK : simclk |
generic map ( |
PERIOD => CLK_PERIOD, |
OFFSET => CLK_OFFSET) |
port map ( |
CLK => CLK_L, |
CLK_CYCLE => SB_CLKCYCLE, |
CLK_STOP => CLK_STOP |
); |
|
CLK <= CLK_L; |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
proc_conf: process |
file fconf : text open read_mode is "rlink_cext_conf"; |
variable iline : line; |
149,15 → 162,12
|
end loop; -- file_loop: |
|
SB_VAL <= 'L'; |
SB_ADDR <= (others=>'L'); |
SB_DATA <= (others=>'L'); |
|
wait; -- halt process here |
|
end process proc_conf; |
|
proc_stim: process |
variable icycle : integer := 0; |
variable irxint : integer := 0; |
variable irxslv : slv24 := (others=>'0'); |
variable ibit : integer := 0; |
167,31 → 177,22
variable idata : slv16 := (others=>'0'); |
begin |
|
-- setup init values for all output ports |
CLK_STOP <= '0'; |
RX_DATA <= (others=>'0'); |
RX_VAL <= '0'; |
wait for CLK_OFFSET; |
wait for 10*CLK_PERIOD; |
|
SB_VAL <= 'Z'; |
SB_ADDR <= (others=>'Z'); |
SB_DATA <= (others=>'Z'); |
|
-- wait for 10 clock cycles (design run up) |
for i in 0 to 9 loop |
wait until rising_edge(CLK); |
end loop; -- i |
|
stim_loop: loop |
|
wait until rising_edge(CLK_L); |
wait for CLK_PERIOD-SETUP_TIME; |
|
wait until falling_edge(CLK); |
|
SB_ADDR <= (others=>'Z'); |
SB_DATA <= (others=>'Z'); |
|
icycle := to_integer(unsigned(SB_CLKCYCLE)); |
RX_VAL <= '0'; |
|
if RX_HOLD = '0' then |
irxint := rlink_cext_getbyte(CLK_CYCLE); |
irxint := rlink_cext_getbyte(icycle); |
if irxint >= 0 then |
if irxint <= 16#ff# then -- normal data byte |
RX_DATA <= slv(to_unsigned(irxint, 8)); |
200,7 → 201,7
irxslv := slv(to_unsigned(irxint mod 16#1000000#, 24)); |
iaddr := irxslv(23 downto 16); |
idata := irxslv(15 downto 0); |
writetimestamp(oline, CLK_CYCLE, ": OOB-MSG"); |
writetimestamp(oline, SB_CLKCYCLE, ": OOB-MSG"); |
write(oline, irxslv(23 downto 16), right, 9); |
write(oline, irxslv(15 downto 8), right, 9); |
write(oline, irxslv( 7 downto 0), right, 9); |
232,14 → 233,10
|
end loop; |
|
-- wait for 50 clock cycles (design run down) |
for i in 0 to 49 loop |
wait until rising_edge(CLK); |
end loop; -- i |
|
wait for 50*CLK_PERIOD; |
CLK_STOP <= '1'; |
|
writetimestamp(oline, CLK_CYCLE, ": DONE "); |
writetimestamp(oline, SB_CLKCYCLE, ": DONE "); |
writeline(output, oline); |
|
wait; -- suspend proc_stim forever |
254,7 → 251,8
begin |
|
loop |
wait until rising_edge(CLK); |
wait until rising_edge(CLK_L); |
wait for C2OUT_TIME; |
if TX_ENA = '1' then |
itxdata := to_integer(unsigned(TX_DATA)); |
itxrc := rlink_cext_putbyte(itxdata); |
/rtl/vlib/rlink/tb/rlinktblib.vhd
1,6 → 1,6
-- $Id: rlinktblib.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: rlinktblib.vhd 389 2011-07-07 21:59:00Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2007-2010 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
16,10 → 16,9
-- Description: rlink test environment components |
-- |
-- Dependencies: - |
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.1; ghdl 0.18-0.29 |
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2, 11.4, 12.1; ghdl 0.18-0.29 |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 new clock iface for tbcore_rlink; drop .._dcm |
-- 2010-12-29 351 3.0.1 add rbtba_aif; |
-- 2010-12-24 347 3.0 rename rritblib->rlinktblib, CP_*->RL_*; |
-- many rri->rlink renames; drop rbus parts; |
126,9 → 125,13
end component; |
|
component tbcore_rlink is -- core of vhpi_cext based test bench |
generic ( |
CLK_PERIOD : time := 20 ns; -- clock period |
CLK_OFFSET : time := 200 ns; -- clock offset (time to start clock) |
SETUP_TIME : time := 5 ns; -- setup time |
C2OUT_TIME : time := 10 ns); -- clock to output time |
port ( |
CLK : in slbit; -- control interface clock |
CLK_STOP : out slbit; -- clock stop trigger |
CLK : out slbit; -- main clock |
RX_DATA : out slv8; -- read data (data ext->tb) |
RX_VAL : out slbit; -- read data valid (data ext->tb) |
RX_HOLD : in slbit; -- read data hold (data ext->tb) |
137,6 → 140,23
); |
end component; |
|
component tbcore_rlink_dcm is -- dcm aware core of vhpi_cext based tb |
generic ( |
CLKOSC_PERIOD : time := 20 ns; -- clock osc period |
CLKOSC_OFFSET : time := 200 ns; -- clock osc offset (time to start clk) |
SETUP_TIME : time := 5 ns; -- setup time |
C2OUT_TIME : time := 10 ns); -- clock to output time |
port ( |
CLKOSC : out slbit; -- clock osc |
CLKSYS : in slbit; -- DCM derived system clock |
RX_DATA : out slv8; -- read data (data ext->tb) |
RX_VAL : out slbit; -- read data valid (data ext->tb) |
RX_HOLD : in slbit; -- read data hold (data ext->tb) |
TX_DATA : in slv8; -- write data (data tb->ext) |
TX_ENA : in slbit -- write data enable (data tb->ext) |
); |
end component; |
|
-- FIXME after this point !! |
|
component rricp_rp is -- rri comm->reg port aif forwarder |
/rtl/vlib/rlink/tb/tbcore_rlink.vbom
7,7 → 7,7
rlinktblib.vhd |
rlink_cext_vhpi.vhd |
# components |
../../simlib/simclkcnt.vbom |
../../simlib/simclk.vbom |
# vhpi |
rlink_cext.c |
# design |
/rtl/vlib/rlink/tb/tbcore_rlink_dcm.vbom
0,0 → 1,15
# libs |
../../slvtypes.vhd |
../../simlib/simlib.vhd |
../../simlib/simbus.vhd |
../../rbus/rblib.vhd |
../rlinklib.vbom |
rlinktblib.vhd |
rlink_cext_vhpi.vhd |
# components |
../../simlib/simclk.vbom |
../../simlib/simclkcnt.vbom |
# vhpi |
rlink_cext.c |
# design |
tbcore_rlink_dcm.vhd |
/rtl/vlib/rlink/tb/tb_rlink.vbom
10,14 → 10,14
../../rbus/rbdlib.vhd |
../rlinklib.vbom |
../../simlib/simlib.vhd |
../../simlib/simbus.vhd |
# components |
../../simlib/simclk.vbom |
../../simlib/simclkcnt.vbom |
../../genlib/clkdivce.vbom |
../../rbus/rbd_tester.vbom |
../../rbus/rb_mon.vbom |
../rlink_mon.vbom |
${tbd_rlink_gen := tbd_rlink_direct.vbom} |
tbd_rlink_gen : tbd_rlink_direct.vbom |
# design |
tb_rlink.vhd |
@top:tb_rlink |
/rtl/vlib/rlink/rlinklib.vhd
1,6 → 1,6
-- $Id: rlinklib.vhd 466 2012-12-30 13:26:55Z mueller $ |
-- $Id: rlinklib.vhd 442 2011-12-23 10:03:28Z mueller $ |
-- |
-- Copyright 2007-2012 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
16,12 → 16,10
-- Description: Definitions for rlink interface and bus entities |
-- |
-- Dependencies: - |
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.3; ghdl 0.18-0.29 |
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.1; ghdl 0.18-0.29 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2012-12-29 466 3.3.1 add rlink_rlbmux |
-- 2011-12-23 444 3.3 CLK_CYCLE now integer |
-- 2011-12-21 442 3.2.1 retire old, deprecated interfaces |
-- 2011-12-09 437 3.2 add rlink_core8 |
-- 2011-11-18 427 3.1.3 now numeric_std clean |
171,30 → 169,6
); |
end component; |
|
component rlink_rlbmux is -- rlink rlb multiplexer |
port ( |
SEL : in slbit; -- port select (0:RLB<->P0; 1:RLB<->P1) |
RLB_DI : out slv8; -- rlb: data in |
RLB_ENA : out slbit; -- rlb: data enable |
RLB_BUSY : in slbit; -- rlb: data busy |
RLB_DO : in slv8; -- rlb: data out |
RLB_VAL : in slbit; -- rlb: data valid |
RLB_HOLD : out slbit; -- rlb: data hold |
P0_RXDATA : in slv8; -- p0: rx data |
P0_RXVAL : in slbit; -- p0: rx valid |
P0_RXHOLD : out slbit; -- p0: rx hold |
P0_TXDATA : out slv8; -- p0: tx data |
P0_TXENA : out slbit; -- p0: tx enable |
P0_TXBUSY : in slbit; -- p0: tx busy |
P1_RXDATA : in slv8; -- p1: rx data |
P1_RXVAL : in slbit; -- p1: rx valid |
P1_RXHOLD : out slbit; -- p1: rx hold |
P1_TXDATA : out slv8; -- p1: tx data |
P1_TXENA : out slbit; -- p1: tx enable |
P1_TXBUSY : in slbit -- p1: tx busy |
); |
end component; |
|
-- |
-- core + concrete_interface combo's |
-- |
240,7 → 214,7
DWIDTH : positive := 9); -- data port width (8 or 9) |
port ( |
CLK : in slbit; -- clock |
CLK_CYCLE : in integer := 0; -- clock cycle number |
CLK_CYCLE : in slv31 := (others=>'0'); -- clock cycle number |
ENA : in slbit := '1'; -- enable monitor output |
RL_DI : in slv(DWIDTH-1 downto 0); -- rlink: data in |
RL_ENA : in slbit; -- rlink: data enable |
/rtl/vlib/rlink/rlink_mon_sb.vhd
1,6 → 1,6
-- $Id: rlink_mon_sb.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: rlink_mon_sb.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2007-2010 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
16,14 → 16,11
-- Description: simbus wrapper for rlink monitor |
-- |
-- Dependencies: simbus |
-- simlib/simclkcnt |
-- rlink_mon |
-- Test bench: - |
-- Tool versions: xst 8.2, 9.1, 9.2, 12.1, 13.1; ghdl 0.18-0.29 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 use simclkcnt instead of simbus global |
-- 2010-12-24 347 3.0.1 rename: CP_*->RL->* |
-- 2010-12-22 346 3.0 renamed rritb_cpmon_sb -> rlink_mon_sb |
-- 2010-05-02 287 1.0.1 use sbcntl_sbf_cpmon def |
57,15 → 54,12
architecture sim of rlink_mon_sb is |
|
signal ENA : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
|
|
begin |
|
assert ENAPIN>=SB_CNTL'low and ENAPIN<=SB_CNTL'high |
report "assert(ENAPIN in SB_CNTL'range)" severity failure; |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
ENA <= to_x01(SB_CNTL(ENAPIN)); |
|
CPMON : rlink_mon |
73,7 → 67,7
DWIDTH => DWIDTH) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_CYCLE => SB_CLKCYCLE, |
ENA => ENA, |
RL_DI => RL_DI, |
RL_ENA => RL_ENA, |
/rtl/vlib/rlink/rlink_mon.vhd
1,4 → 1,4
-- $Id: rlink_mon.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: rlink_mon.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
21,7 → 21,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 CLK_CYCLE now integer |
-- 2011-11-19 427 3.0.2 now numeric_std clean |
-- 2010-12-24 347 3.0.1 rename: CP_*->RL->* |
-- 2010-12-22 346 3.0 renamed rritb_cpmon -> rlink_mon |
46,7 → 45,7
DWIDTH : positive := 9); -- data port width (8 or 9) |
port ( |
CLK : in slbit; -- clock |
CLK_CYCLE : in integer := 0; -- clock cycle number |
CLK_CYCLE : in slv31 := (others=>'0'); -- clock cycle number |
ENA : in slbit := '1'; -- enable monitor output |
RL_DI : in slv(DWIDTH-1 downto 0); -- rlink: data in |
RL_ENA : in slbit; -- rlink: data enable |
/rtl/vlib/rlink/rlink_mon_sb.vbom
4,7 → 4,6
../simlib/simbus.vhd |
rlinklib.vbom |
# components |
../simlib/simclkcnt.vbom |
rlink_mon.vbom |
# design |
rlink_mon_sb.vhd |
/rtl/vlib/genlib/led_pulse_stretch.vbom
File deleted
/rtl/vlib/genlib/led_pulse_stretch.vhd
File deleted
/rtl/vlib/genlib/genlib.vhd
1,6 → 1,6
-- $Id: genlib.vhd 466 2012-12-30 13:26:55Z mueller $ |
-- $Id: genlib.vhd 422 2011-11-10 18:44:06Z mueller $ |
-- |
-- Copyright 2007-2012 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
16,10 → 16,9
-- Description: some general purpose components |
-- |
-- Dependencies: - |
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2, 11.4, 13.3; ghdl 0.18-0.29 |
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2, 11.4; ghdl 0.18-0.26 |
-- Revision History: |
-- Date Rev Version Comment |
-- 2012-12-29 466 1.0.9 add led_pulse_stretch |
-- 2011-11-09 421 1.0.8 add cdc_pulse |
-- 2010-04-17 277 1.0.7 timer: no default for START,DONE,BUSY; drop STOP |
-- 2010-04-02 273 1.0.6 add timer |
169,14 → 168,4
); |
end component; |
|
component led_pulse_stretch is -- pulse stretcher for leds |
port ( |
CLK : in slbit; -- clock |
CE_INT : in slbit; -- pulse time unit clock enable |
RESET : in slbit := '0'; -- reset |
DIN : in slbit; -- data in |
POUT : out slbit -- pulse out |
); |
end component; |
|
end package genlib; |
/rtl/vlib/serport/tb/tb_serport_uart_rxtx.vhd
1,4 → 1,4
-- $Id: tb_serport_uart_rxtx.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_serport_uart_rxtx.vhd 417 2011-10-22 10:30:29Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
33,7 → 33,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.2 use new simclk/simclkcnt |
-- 2011-10-22 417 1.1.3 now numeric_std clean |
-- 2010-04-24 281 1.1.2 use direct instatiation for tbd_ |
-- 2008-03-24 129 1.1.1 CLK_CYCLE now 31 bits |
70,7 → 69,7
signal TXBUSY : slbit := '0'; |
|
signal CLK_STOP : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
signal CLK_CYCLE : slv31 := (others=>'0'); |
|
signal N_MON_VAL : slbit := '0'; |
signal N_MON_DAT : slv8 := (others=>'0'); |
86,17 → 85,16
|
begin |
|
CLKGEN : simclk |
SYSCLK : simclk |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
UUT : entity work.tbd_serport_uart_rxtx |
port map ( |
CLK => CLK, |
/rtl/vlib/serport/tb/tb_serport_autobaud.vhd
1,4 → 1,4
-- $Id: tb_serport_autobaud.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_serport_autobaud.vhd 417 2011-10-22 10:30:29Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
16,7 → 16,6
-- Description: Test bench for serport_autobaud |
-- |
-- Dependencies: simlib/simclk |
-- simlib/simclkcnt |
-- tbd_serport_autobaud [UUT] |
-- |
-- To test: serport_autobaud |
34,7 → 33,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.2 use new simclk/simclkcnt |
-- 2011-10-22 417 1.1.3 now numeric_std clean |
-- 2010-04-24 281 1.1.2 use direct instatiation for tbd_ |
-- 2008-03-24 129 1.1.1 CLK_CYCLE now 31 bits |
79,7 → 77,7
signal RXACT3 : slbit := '0'; |
|
signal CLK_STOP : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
signal CLK_CYCLE : slv31 := (others=>'0'); |
|
signal N_MON_VAL : slbit := '0'; |
signal N_MON_DAT : slv8 := (others=>'0'); |
95,17 → 93,16
|
begin |
|
CLKGEN : simclk |
SYSCLK : simclk |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
UUT : entity work.tbd_serport_autobaud |
port map ( |
CLK => CLK, |
/rtl/vlib/serport/tb/tb_serport_uart_rx.vhd
1,4 → 1,4
-- $Id: tb_serport_uart_rx.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: tb_serport_uart_rx.vhd 417 2011-10-22 10:30:29Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
16,7 → 16,6
-- Description: Test bench for serport_uart_rx |
-- |
-- Dependencies: simlib/simclk |
-- simlib/simclkcnt |
-- tbd_serport_uart_rx [UUT] |
-- |
-- To test: serport_uart_rx |
31,7 → 30,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 1.1 use new simclk/simclkcnt |
-- 2011-10-22 417 1.0.3 now numeric_std clean |
-- 2010-04-24 281 1.0.2 use direct instatiation for tbd_ |
-- 2008-03-24 129 1.0.1 CLK_CYCLE now 31 bits |
63,7 → 61,7
signal RXACT : slbit := '0'; |
|
signal CLK_STOP : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
signal CLK_CYCLE : slv31 := (others=>'0'); |
|
signal N_MON_VAL : slbit := '0'; |
signal N_MON_ERR : slbit := '0'; |
82,16 → 80,15
|
begin |
|
CLKGEN : simclk |
SYSCLK : simclk |
generic map ( |
PERIOD => clock_period, |
OFFSET => clock_offset) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_STOP => CLK_STOP |
); |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
UUT : entity work.tbd_serport_uart_rx |
port map ( |
/rtl/vlib/serport/tb/Makefile
1,4 → 1,4
# $Id: Makefile 444 2011-12-25 10:04:58Z mueller $ |
# $Id: Makefile 405 2011-08-14 08:16:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
7,9 → 7,7
# 2007-11-26 98 1.1 use make includes |
# 2007-06-03 48 1.0 Initial version |
# |
EXE_all = tb_serport_uart_rx |
EXE_all += tb_serport_uart_rxtx |
EXE_all += tb_serport_autobaud |
EXE_all = tb_serport_uart_rx tb_serport_uart_rxtx tb_serport_autobaud |
# |
.PHONY : all all_ssim all_tsim clean |
# |
/rtl/vlib/serport/tb/tb_serport_uart_rx.vbom
4,7 → 4,6
../serport.vhd |
# components |
../../simlib/simclk.vbom |
../../simlib/simclkcnt.vbom |
${tbd_serport_uart_rx := tbd_serport_uart_rx.vbom} |
tbd_serport_uart_rx : tbd_serport_uart_rx.vbom |
# design |
tb_serport_uart_rx.vhd |
/rtl/vlib/serport/tb/tb_serport_uart_rxtx.vbom
4,7 → 4,6
../serport.vhd |
# components |
../../simlib/simclk.vbom |
../../simlib/simclkcnt.vbom |
${tbd_serport_uart_rxtx := tbd_serport_uart_rxtx.vbom} |
tbd_serport_uart_rxtx : tbd_serport_uart_rxtx.vbom |
# design |
tb_serport_uart_rxtx.vhd |
/rtl/vlib/serport/tb/tb_serport_autobaud.vbom
4,7 → 4,6
../serport.vhd |
# components |
../../simlib/simclk.vbom |
../../simlib/simclkcnt.vbom |
${tbd_serport_autobaud := tbd_serport_autobaud.vbom} |
tbd_serport_autobaud : tbd_serport_autobaud.vbom |
# design |
tb_serport_autobaud.vhd |
/rtl/vlib/simlib/simlib.vhd
1,4 → 1,4
-- $Id: simlib.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: simlib.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
22,8 → 22,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 2.0 drop CLK_CYCLE from simclk,simclkv; use integer for |
-- simclkcnt(CLK_CYCLE),writetimestamp(clkcyc); |
-- 2011-11-18 427 1.3.8 now numeric_std clean |
-- 2010-12-22 346 1.3.7 rename readcommand -> readdotcomm |
-- 2010-11-13 338 1.3.6 add simclkcnt; xx.x ns time in writetimestamp() |
199,7 → 197,7
|
procedure writetimestamp( |
L: inout line; |
clkcyc: in integer; |
clkcyc: in slv31; |
str : in string := null_string); |
|
-- ---------------------------------------------------------------------------- |
210,6 → 208,7
OFFSET : time := 200 ns); -- clock offset (first up transition) |
port ( |
CLK : out slbit; -- clock |
CLK_CYCLE : out slv31; -- clock cycle number |
CLK_STOP : in slbit -- clock stop trigger |
); |
end component; |
218,6 → 217,7
-- with variable periods |
port ( |
CLK : out slbit; -- clock |
CLK_CYCLE : out slv31; -- clock cycle number |
CLK_PERIOD : in time; -- clock period |
CLK_HOLD : in slbit; -- if 1, hold clocks in 0 state |
CLK_STOP : in slbit -- clock stop trigger |
227,7 → 227,7
component simclkcnt is -- test bench system clock cycle counter |
port ( |
CLK : in slbit; -- clock |
CLK_CYCLE : out integer -- clock cycle number |
CLK_CYCLE : out slv31 -- clock cycle number |
); |
end component; |
|
1062,7 → 1062,7
|
procedure writetimestamp( |
L: inout line; |
clkcyc: in integer; |
clkcyc: in slv31; |
str: in string := null_string) is |
|
variable t_nsec : integer := 0; |
1081,7 → 1081,7
write(L, t_dnsec, right, 1); |
write(L, string'(" ns")); |
|
write(L, clkcyc, right, 7); |
write(L, to_integer(unsigned(clkcyc)), right, 7); |
if str /= null_string then |
write(L, str); |
end if; |
/rtl/vlib/simlib/simclk.vhd
1,4 → 1,4
-- $Id: simclk.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: simclk.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
18,11 → 18,10
-- Dependencies: - |
-- Test bench: - |
-- Target Devices: generic |
-- Tool versions: xst 8.2, 9.1, 9.2, 13.1; ghdl 0.18-0.29 |
-- Tool versions: xst 8.2, 9.1, 9.2; ghdl 0.18-0.29 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 2.0 remove CLK_CYCLE output port |
-- 2011-11-18 427 1.0.3 now numeric_std clean |
-- 2008-03-24 129 1.0.2 CLK_CYCLE now 31 bits |
-- 2007-10-12 88 1.0.1 avoid ieee.std_logic_unsigned, use cast to unsigned |
31,6 → 30,7
|
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
use work.slvtypes.all; |
|
entity simclk is -- test bench clock generator |
39,6 → 39,7
OFFSET : time := 200 ns); -- clock offset (first up transition) |
port ( |
CLK : out slbit; -- clock |
CLK_CYCLE : out slv31; -- clock cycle number |
CLK_STOP : in slbit -- clock stop trigger |
); |
end entity simclk; |
48,16 → 49,22
|
proc_clk: process |
constant clock_halfperiod : time := PERIOD/2; |
variable icycle : slv31 := (others=>'0'); |
begin |
|
CLK <= '0'; |
CLK_CYCLE <= (others=>'0'); |
wait for OFFSET; |
|
clk_loop: loop |
CLK <= '1'; |
wait for 0 ns; -- make a delta cycle so that clock |
icycle := slv(unsigned(icycle) + 1); -- cycle number is updated after the |
CLK_CYCLE <= icycle; -- clock transition. all edge triggered |
-- proc's will thus read old value. |
wait for clock_halfperiod; |
CLK <= '0'; |
wait for PERIOD-clock_halfperiod; |
wait for clock_halfperiod; |
exit clk_loop when CLK_STOP = '1'; |
end loop; |
|
64,7 → 71,7
CLK <= '1'; -- final clock cycle for clk_sim |
wait for clock_halfperiod; |
CLK <= '0'; |
wait for PERIOD-clock_halfperiod; |
wait for clock_halfperiod; |
|
wait; -- endless wait, simulator will stop |
|
/rtl/vlib/simlib/simclkcnt.vhd
1,4 → 1,4
-- $Id: simclkcnt.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: simclkcnt.vhd 423 2011-11-12 22:22:25Z mueller $ |
-- |
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
22,7 → 22,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 2.0 CLK_CYCLE now an integer |
-- 2011-11-12 423 1.0.1 now numeric_std clean |
-- 2010-11-13 72 1.0 Initial version |
------------------------------------------------------------------------------ |
29,17 → 28,18
|
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
use work.slvtypes.all; |
|
entity simclkcnt is -- test bench system clock cycle counter |
port ( |
CLK : in slbit; -- clock |
CLK_CYCLE : out integer -- clock cycle number |
CLK_CYCLE : out slv31 -- clock cycle number |
); |
end entity simclkcnt; |
|
architecture sim of simclkcnt is |
signal R_CLKCNT : integer := 0; |
signal R_CLKCNT : slv31 := (others=>'0'); |
begin |
|
proc_clk: process (CLK) |
46,7 → 46,7
begin |
|
if rising_edge(CLK) then |
R_CLKCNT <= R_CLKCNT + 1; |
R_CLKCNT <= slv(unsigned(R_CLKCNT) + 1); |
end if; |
|
end process proc_clk; |
/rtl/vlib/simlib/simbus.vhd
1,6 → 1,6
-- $Id: simbus.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: simbus.vhd 314 2010-07-09 17:38:41Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2007-2010 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
16,10 → 16,9
-- Description: Global signals for support control in test benches |
-- |
-- Dependencies: - |
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 13.1; ghdl 0.18-0.29 |
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2, 11.4; ghdl 0.18-0.25 |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 2.0 remove global clock cycle signal |
-- 2010-04-24 282 1.1 add SB_(VAL|ADDR|DATA) |
-- 2008-03-24 129 1.0.1 use 31 bits for SB_CLKCYCLE |
-- 2007-08-27 76 1.0 Initial version |
33,6 → 32,7
package simbus is |
|
signal SB_CLKSTOP : slbit := '0'; -- global clock stop |
signal SB_CLKCYCLE : slv31 := (others=>'0'); -- global clock cycle |
signal SB_CNTL : slv16 := (others=>'0'); -- global signals tb -> uut |
signal SB_STAT : slv16 := (others=>'0'); -- global signals uut -> tb |
signal SB_VAL : slbit := '0'; -- init bcast valid |
/rtl/vlib/comlib/byte2word.vbom
File deleted
/rtl/vlib/comlib/word2byte.vhd
File deleted
/rtl/vlib/comlib/byte2word.vhd
File deleted
/rtl/vlib/comlib/word2byte.vbom
File deleted
/rtl/vlib/rbus/rb_mon.vhd
1,4 → 1,4
-- $Id: rb_mon.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: rb_mon.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
21,7 → 21,6
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 CLK_CYCLE now integer |
-- 2011-11-19 427 3.0.1 now numeric_std clean |
-- 2010-12-22 346 3.0 renamed rritb_rbmon -> rb_mon |
-- 2010-06-05 301 2.1.1 renamed _rpmon -> _rbmon |
50,7 → 49,7
DBASE : positive := 2); -- base for writing data values |
port ( |
CLK : in slbit; -- clock |
CLK_CYCLE : in integer := 0; -- clock cycle number |
CLK_CYCLE : in slv31 := (others=>'0'); -- clock cycle number |
ENA : in slbit := '1'; -- enable monitor output |
RB_MREQ : in rb_mreq_type; -- rbus: request |
RB_SRES : in rb_sres_type; -- rbus: response |
/rtl/vlib/rbus/rblib.vhd
1,4 → 1,4
-- $Id: rblib.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: rblib.vhd 405 2011-08-14 08:16:28Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
16,11 → 16,10
-- Description: Definitions for rbus interface and bus entities |
-- |
-- Dependencies: - |
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.1; ghdl 0.18-0.29 |
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2, 11.4, 12.1; ghdl 0.18-0.29 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 CLK_CYCLE now integer |
-- 2011-08-13 405 3.0.3 add in direction for FADDR,SEL ports |
-- 2010-12-26 349 3.0.2 add rb_sel |
-- 2010-12-22 346 3.0.1 add rb_mon and rb_mon_sb; |
169,7 → 168,7
DBASE : positive := 2); -- base for writing data values |
port ( |
CLK : in slbit; -- clock |
CLK_CYCLE : in integer := 0; -- clock cycle number |
CLK_CYCLE : in slv31 := (others=>'0'); -- clock cycle number |
ENA : in slbit := '1'; -- enable monitor output |
RB_MREQ : in rb_mreq_type; -- rbus: request |
RB_SRES : in rb_sres_type; -- rbus: response |
/rtl/vlib/rbus/rb_mon_sb.vhd
1,6 → 1,6
-- $Id: rb_mon_sb.vhd 444 2011-12-25 10:04:58Z mueller $ |
-- $Id: rb_mon_sb.vhd 346 2010-12-22 22:59:26Z mueller $ |
-- |
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2007-2010 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
16,14 → 16,11
-- Description: simbus wrapper for rbus monitor (for tb's) |
-- |
-- Dependencies: simbus |
-- simlib/simclkcnt |
-- rb_mon |
-- Test bench: - |
-- Tool versions: xst 8.2, 9.1, 9.2, 13.1; ghdl 0.18-0.29 |
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2; ghdl 0.18-0.25 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2011-12-23 444 3.1 use simclkcnt instead of simbus global |
-- 2010-12-22 346 3.0 renamed rritb_rbmon_sb -> rb_mon_sb |
-- 2010-06-05 301 2.0.2 renamed _rpmon -> _rbmon |
-- 2010-05-02 287 2.0.1 rename RP_STAT->RB_STAT,AP_LAM->RB_LAM |
60,7 → 57,6
architecture sim of rb_mon_sb is |
|
signal ENA : slbit := '0'; |
signal CLK_CYCLE : integer := 0; |
|
begin |
|
67,8 → 63,6
assert ENAPIN>=SB_CNTL'low and ENAPIN<=SB_CNTL'high |
report "assert(ENAPIN in SB_CNTL'range)" severity failure; |
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE); |
|
ENA <= to_x01(SB_CNTL(ENAPIN)); |
|
RBMON : rb_mon |
76,7 → 70,7
DBASE => DBASE) |
port map ( |
CLK => CLK, |
CLK_CYCLE => CLK_CYCLE, |
CLK_CYCLE => SB_CLKCYCLE, |
ENA => ENA, |
RB_MREQ => RB_MREQ, |
RB_SRES => RB_SRES, |
/rtl/vlib/rbus/rb_mon_sb.vbom
4,7 → 4,6
../simlib/simbus.vhd |
rblib.vhd |
# components |
../simlib/simclkcnt.vbom |
rb_mon.vbom |
# design |
rb_mon_sb.vhd |
/rtl/make/generic_xflow.mk
1,11 → 1,7
# $Id: generic_xflow.mk 456 2012-02-05 22:19:44Z mueller $ |
# $Id: generic_xflow.mk 406 2011-08-14 21:06:44Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-02-05 456 1.7.5 use vbomvonv --get_top for xflow calls |
# 2012-01-08 451 1.7.4 use xilinx_ghdl_sdf_filter |
# 2012-01-04 450 1.7.3 display isemsg_filter for ncd and bit targets too |
# 2011-12-29 446 1.7.2 add fx2load_wrapper in jconfig target |
# 2011-08-14 406 1.7.1 use isemsg_filter; new %.mfsum target |
# 2011-08-13 405 1.7 renamed, moved to rtl/make; |
# 2011-07-17 394 1.6.2 add rm *.svf to ise_clean rule |
82,8 → 78,7
if [ -r ${RETROBASE}/rtl/make/${XFLOWOPT_SYN} ]; then \ |
cp ${RETROBASE}/rtl/make/${XFLOWOPT_SYN} ./ise; fi |
if [ -r ${XFLOWOPT_SYN} ]; then cp ${XFLOWOPT_SYN} ./ise; fi |
${XFLOW} -wd ise -synth ${XFLOWOPT_SYN} \ |
-g top_entity:`vbomconv --get_top $<` $*.prj |
${XFLOW} -wd ise -synth ${XFLOWOPT_SYN} $*.prj |
(cd ./ise; chmod -x *.* ) |
if [ -r ./ise/$*.ngc ]; then cp -p ./ise/$*.ngc .; fi |
if [ -r ./ise/$*_xst.log ]; then cp -p ./ise/$*_xst.log .; fi |
104,8 → 99,7
if [ -r ${RETROBASE}/rtl/make/${XFLOWOPT_SYN} ]; then \ |
cp ${RETROBASE}/rtl/make/${XFLOWOPT_SYN} ./ise; fi |
if [ -r ${XFLOWOPT_SYN} ]; then cp ${XFLOWOPT_SYN} ./ise; fi |
${XFLOW} -wd ise -synth ${XFLOWOPT_SYN} \ |
-g top_entity:`vbomconv --get_top $<` $*.prj |
${XFLOW} -wd ise -synth ${XFLOWOPT_SYN} $*.prj |
(cd ./ise; chmod -x *.* ) |
if [ -r ./ise/$*.ngc ]; then cp -p ./ise/$*.ngc .; fi |
if [ -r ./ise/$*_xst.log ]; then cp -p ./ise/$*_xst.log .; fi |
143,21 → 137,6
if [ -r ./ise/$*.par ]; then cp -p ./ise/$*.par ./$*_par.log; fi |
if [ -r ./ise/$*_pad.txt ]; then cp -p ./ise/$*_pad.txt ./$*_pad.log; fi |
if [ -r ./ise/$*.twr ]; then cp -p ./ise/$*.twr ./$*_twr.log; fi |
@ if [ -r $*.mfset ]; then \ |
echo "=============================================================";\ |
echo "* Translate Diagnostic Summary *";\ |
echo "=============================================================";\ |
isemsg_filter tra $*.mfset $*_tra.log;\ |
echo "=============================================================";\ |
echo "* MAP Diagnostic Summary *";\ |
echo "=============================================================";\ |
isemsg_filter map $*.mfset $*_map.log;\ |
echo "=============================================================";\ |
echo "* PAR Diagnostic Summary *";\ |
echo "=============================================================";\ |
isemsg_filter par $*.mfset $*_par.log;\ |
echo "=============================================================";\ |
fi |
# |
# Implement 2 (bitgen) |
# input: %.ncd |
173,13 → 152,6
if [ -r ./ise/$*.bit ]; then cp -p ./ise/$*.bit .; fi |
if [ -r ./ise/$*.msk ]; then cp -p ./ise/$*.msk .; fi |
if [ -r ./ise/$*.bgn ]; then cp -p ./ise/$*.bgn ./$*_bgn.log; fi |
@ if [ -r $*.mfset ]; then \ |
echo "=============================================================";\ |
echo "* Bitgen Diagnostic Summary *";\ |
echo "=============================================================";\ |
isemsg_filter bgn $*.mfset $*_bgn.log;\ |
echo "=============================================================";\ |
fi |
# |
# Create svf from bitstream |
# input: %.bit |
201,12 → 173,7
# input: %.svf |
# output: .PHONY |
# |
ifneq "$(origin FX2_FILE)" "undefined" |
FX2LOAD_OPT = --file=${FX2_FILE} |
endif |
# |
%.jconfig: %.svf |
fx2load_wrapper --board=${ISE_BOARD} ${FX2LOAD_OPT} |
config_wrapper --board=${ISE_BOARD} --path=${ISE_PATH} jconfig $*.svf |
|
# |
258,12 → 225,9
if [ -r ./ise/$*.nlf ]; then cp -p ./ise/$*.nlf ./$*_ngn_fsim.log; fi |
# |
# Post-par timing simulation model (netgen -sim) |
# input: %.ncd |
# %.tsim_xon_dat xon disable descriptor file (optional) |
# input: %.ncd |
# output: %_tsim.vhd |
# %_ngn_tsim.log netgen log file (renamed time_sim.nlf) |
# %_tsim.sdf delay annotation |
# %_tsim.sdf_ghdl delay annotation with ghdl patches |
# %_ngn_tsim.log netgen log file (renamed time_sim.nlf) |
# |
#!! use netgen directly because xflow 8.1 goes mad when -tsim used a 2nd time |
#!! see blog_xilinx_webpack.txt 2007-06-10 |
279,7 → 243,6
if [ -r ./ise/$*_tsim.sdf ]; then cp -p ./ise/$*_tsim.sdf .; fi |
if [ -r ./ise/$*_tsim.nlf ]; then cp -p ./ise/$*_tsim.nlf ./$*_ngn_tsim.log; fi |
if [ -r $*_tsim.vhd -a -r $*.tsim_xon_dat ]; then xilinx_tsim_xon $*; fi |
if [ -r $*_tsim.sdf ]; then xilinx_ghdl_sdf_filter $*_tsim.sdf > $*_tsim.sdf_ghdl ; fi |
# |
# generate dep_xst files from vbom |
# |
308,7 → 271,6
rm -rf *.svf |
rm -rf *_[sft]sim.vhd |
rm -rf *_tsim.sdf |
rm -rf *_tsim.sdf_ghdl |
rm -rf *_xst.log |
rm -rf *_tra.log |
rm -rf *_map.log |
/rtl/make/syn_s6_speed.opt
1,10 → 1,9
FLOWTYPE = FPGA_SYNTHESIS; |
# |
# $Id: syn_s6_speed.opt 456 2012-02-05 22:19:44Z mueller $ |
# $Id: syn_s6_speed.opt 405 2011-08-14 08:16:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-02-05 456 1.1 use $top_entity variable for -top attribute |
# Date Rev Version Comment |
# 2011-08-13 405 1.0 Initial version |
# |
# Derived from ISE xst_mixed.opt |
28,7 → 27,7
"-ifmt mixed"; # Input Format (Verilog and VHDL) |
"-ofn <design>"; # Output File Name |
"-ofmt ngc"; # Output File Format |
"-top $top_entity"; # Top Design Name |
"-top <design>"; # Top Design Name |
"-p <partname>"; # Target Device |
"-opt_mode SPEED"; # Optimization Criteria # AREA or SPEED |
"-opt_level 2"; # Optimization Effort Criteria: 2=High |
/rtl/make/imp_s6_speed.opt
1,11 → 1,10
FLOWTYPE = FPGA; |
# |
# $Id: imp_s6_speed.opt 449 2012-01-04 08:14:11Z mueller $ |
# $Id: imp_s6_speed.opt 405 2011-08-14 08:16:28Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-01-03 449 1.1 use '-mt 2' in map and par |
# 2011-08-13 405 1.0 Initial version |
# 2011-08-13 405 1.0 Initial version |
# |
# Derived from ISE balanced.opt |
# Uses uses settings like 'mapgloboptlogoptregdup' SmartExplorer strategy |
40,7 → 39,6
-logic_opt on; # Perform physical synthesis combinatorial logic opt. |
-register_duplication on;# Duplicate registers/luts during timing-driven packing |
-w; # Always overwrite any existing output files |
-mt 2; # Multi-threading |
<inputdir><design>.ngd; # Input NGD file |
<inputdir><design>.pcf; # Physical constraints file |
END Program map |
71,7 → 69,6
-ol high; # Overall effort level |
-xe n; # extra effort level |
-intstyle xflow; # Message Reporting Style: ise, xflow, or silent |
-mt 2; # Multi-threading |
<design>_map.ncd; # Input mapped NCD file |
<inputdir><design>.ncd; # Output placed and routed NCD |
<inputdir><design>.pcf; # Input physical constraints file |
/doc/README_USB-VID-PID.txt
File deleted
/doc/INSTALL_urjtag.txt
File deleted
/doc/INSTALL_ghdl.txt
File deleted
/doc/w11a_tb_guide.txt
1,4 → 1,4
# $Id: w11a_tb_guide.txt 443 2011-12-23 11:21:03Z mueller $ |
# $Id: w11a_tb_guide.txt 442 2011-12-23 10:03:28Z mueller $ |
|
Guide to running w11a test benches |
|
89,22 → 89,20
make tb_rlink_direct |
time tbw tb_rlink_direct |\ |
tee tb_rlink_direct_dsim.log | egrep "(FAIL|DONE)" |
-> 147755.0 ns 7378: DONE |
-> 142355.0 ns 7108: DONE |
-> real 0m00.317s user 0m00.324s sys 0m00.028s |
|
- rlink core test via serial port interface |
|
cd $RETROBASE/rtl/vlib/rlink/tb |
make tb_rlink_sp1c |
time tbw tb_rlink_sp1c tb_rlink_sp1c_stim.dat |\ |
tee tb_rlink_sp1c_stim2_dsim.log | egrep "(FAIL|DONE)" |
-> 24695.0 ns 1225: DONE |
-> real 0m0.133s user 0m0.104s sys 0m0.008s |
make tb_rlink_serport |
time tbw tb_rlink_serport tb_rlink_serport_stim.dat |\ |
tee tb_rlink_serport_stim2_dsim.log | egrep "(FAIL|DONE)" |
-> 72735.0 ns 3627: DONE |
-> real 0m00.266s user 0m00.264s sys 0m00.008s |
|
|
time tbw tb_rlink_sp1c tb_rlink_stim.dat |\ |
tee tb_rlink_sp1c_dsim.log | egrep "(FAIL|DONE)" |
-> 551935.0 ns 27587: DONE |
time tbw tb_rlink_serport tb_rlink_stim.dat |\ |
tee tb_rlink_serport_dsim.log | egrep "(FAIL|DONE)" |
-> 536155.0 ns 26798: DONE |
-> real 0m01.714s user 0m01.704s sys 0m00.044s |
|
- w11a core test (using behavioural model) |
127,6 → 125,7
- s3board sram controller test |
|
cd $RETROBASE/rtl/bplib/s3board/tb |
|
make tb_s3_sram_memctl |
time tbw tb_s3_sram_memctl |\ |
tee tb_s3_sram_memctl_dsim.log | egrep "(FAIL|DONE)" |
137,6 → 136,7
- nexys2/nexys3 cram controller test |
|
cd $RETROBASE/rtl/bplib/nxcramlib/tb |
|
make tb_nx_cram_memctl_as |
time tbw tb_nx_cram_memctl_as |\ |
tee tb_nx_cram_memctl_as_dsim.log | egrep "(FAIL|DONE)" |
/doc/README.txt
1,4 → 1,4
# $Id: README.txt 467 2013-01-02 19:49:05Z mueller $ |
# $Id: README.txt 442 2011-12-23 10:03:28Z mueller $ |
|
Release notes for w11a |
|
26,7 → 26,6
rtl VHDL sources |
rtl/bplib - board and component support libs |
rtl/bplib/atlys - for Digilent Atlys board |
rtl/bplib/fx2lib - for Cypress FX2 USB interface controller |
rtl/bplib/issi - for ISSI parts |
rtl/bplib/micron - for Micron parts |
rtl/bplib/nexys2 - for Digilent Nexsy2 board |
35,12 → 34,8
rtl/bplib/s3board - for Digilent S3BOARD |
rtl/ibus - ibus devices (UNIBUS peripherals) |
rtl/sys_gen - top level designs |
rtl/sys_gen/tst_fx2loop - top level designs for Cypress FX2 tester |
nexys2 - systems for Nexsy2 |
rtl/sys_gen/tst_rlink - top level designs for an rlink tester |
nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/tst_rlink_cuff - top level designs for rlink over FX2 tester |
nexys2 - systems for Nexsy2 |
rtl/sys_gen/tst_serloop - top level designs for serport loop tester |
nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/tst_snhumanio - top level designs for human I/O tester |
61,77 → 56,16
tools/bin - scripts and binaries |
tools/dox - Doxygen documentation configuration |
tools/make - make includes |
tools/fx2 - Firmware for Cypress FX2 USB Interface |
tools/fx2/bin - pre-build firmware images in .ihx format |
tools/fx2/src - C and asm sources |
tools/fx2/sys - udev rules for USB on fpga eval boards |
tools/src - C++ sources for rlink backend software |
tools/src - C++ sources |
tools/src/librlink - basic rlink interface |
tools/src/librlinktpp - C++ to tcl binding for rlink interface |
tools/src/librtools - general support classes and methods |
tools/src/librtcltools - support classes to implement Tcl bindings |
tools/src/librtools - general support classes and methods |
tools/src/librutiltpp - Tcl support commands implemented in C++ |
tools/tcl - Tcl scripts |
|
3. Change Log ---------------------------------------------------------------- |
|
- trunk (2013-01-02: svn rev 17(oc) 467(wfjm); untagged w11a_V0.56) ++++++++++ |
|
- Summary |
- re-organized handling of board and derived clocks in test benches |
- added message filter definitions for some designs (.mfset files) |
- added Cypress EZ-USB FX2 controller (USB interface) |
- added firmware for EZ-USB FX2 supporting jtag access and data transfer |
- FPGA configure over USB now supported directly in make build flow |
- added test systems for USB testing and rlink over USB verification |
- no functional change of w11a CPU core or any pre-existing test systems |
- Note: Carefully read the disclaimer about usage of USB VID/PID numbers |
in the file README_USB-VID-PID.txt. You'll be responsible for any |
misuse of the defaults provided with the project sources !! |
|
- New refernce system |
The development and test system was upgraded from Kubuntu 10.04 to 12.04. |
The version of several key tools and libraries changed: |
linux kernel 3.2.0 (was 2.6.32) |
gcc/g++ 4.6.3 (was 4.4.3) |
boost 1.46.1 (was 1.40) |
libusb 1.0.9 (was 1.0.6) |
perl 5.14.2 (was 5.10.1) |
tcl 8.5.11 (was 8.4.19) |
xilinx ise 13.3 (was 13.1) |
--> see INSTALL.txt, INSTALL_ghdl.txt and INSTALL_urjtag.txt |
|
- New features |
- added firmware for Cypress FX2 controller |
- tools/fx2 |
- bin - pre-build firmware images in .ihx file format |
- src - C and asm sources |
- sys - udev rules for usb interfaces on fpga eval boards |
- new modules |
- rtl/bplib/fx2lib |
- fx2_2fifoctl_ic - Cypress EZ-USB FX2 controller (2 fifo; int clk) |
- fx2_3fifoctl_ic - Cypress EZ-USB FX2 controller (3 fifo; int clk) |
- new systems |
- rtl/sys_gen/tst_fx2loop/nexys2/ic/sys_tst_fx2loop_ic_n2 |
- rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2 |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2 |
- tools/bin |
- xilinx_sdf_ghdl_filter: tool to patch ISE sdf files for usage with ghdl |
|
- Changes |
- documentation |
- added a 'system requirements' section in INSTALL.txt |
- added INSTALL_ghdl.txt and INSTALL_urjtag.txt covering ghdl and urjtag |
- added README_USB-VID-PID.txt |
- organizational changes |
- added TCLINC,RETRO_FX2_VID,RETRO_FX2_PID environment variables |
- functional changes |
- tools/bin |
- vbomconv - file name substitution handling redone; many vboms updated |
- retired modules |
- vlib/rlink/tb/ |
- tbcore_rlink_dcm - obsolete, use tbcore_rlink |
|
- trunk (2011-12-23: svn rev 16(oc) 442(wfjm); untagged w11a_V0.55) +++++++++ |
|
- Summary |
139,6 → 73,14
- added test systems for serport verification |
- use new serport stack in sys_w11a_* and sys_tst_rlink_* systems |
|
- Changes |
- retired modules |
- vlib/rlink |
- rlink_rlb2rl - obsolete, now all in rlink_core8 |
- rlink_base - use now new rlink_core8 |
- rlink_serport - obsolete, now all in rlink_sp1c |
- rlink_base_serport - use now new rlink_sp1c |
|
- New features |
- new modules |
- vlib/serport |
157,29 → 99,21
- sys_gen/tst_serloop/s3board/sys_tst_serloop1_s3 |
- sys_gen/tst_rlink/s3board/sys_tst_rlink_s3 |
|
- Changes |
- retired modules |
- vlib/rlink |
- rlink_rlb2rl - obsolete, now all in rlink_core8 |
- rlink_base - use now new rlink_core8 |
- rlink_serport - obsolete, now all in rlink_sp1c |
- rlink_base_serport - use now new rlink_sp1c |
|
- trunk (2011-12-04: svn rev 15(oc) 436(wfjm); untagged w11a_V0.54) +++++++++ |
|
- Summary |
- added support for nexys3 board for w11a |
|
- Changes |
- module renames: |
bplib/nexys2/n2_cram_dummy -> bplib/nxcramlib/nx_cram_dummy |
bplib/nexys2/n2_cram_memctl_as -> bplib/nxcramlib/nx_cram_memctl_as |
|
- New features |
- new systems |
- sys_gen/w11a/nexys3/sys_w11a_n3 |
- sys_gen/w11a/nexys3/sys_tst_rlink_n3 |
|
- Changes |
- module renames: |
bplib/nexys2/n2_cram_dummy -> bplib/nxcramlib/nx_cram_dummy |
bplib/nexys2/n2_cram_memctl_as -> bplib/nxcramlib/nx_cram_memctl_as |
|
- Bug fixes |
- tools/src/lib*: backend libraries compile now on 64 bit systems |
|
287,11 → 221,6
- Introduce rbus protocol V3 |
- reorganize rbus and rlink modules, many renames |
|
- New features |
- vlib/rbus |
- added several rbus devices useful for debugging |
- rbd_tester: test target, used for example in test benches |
|
- Changes |
- module renames: |
- the rri (remote-register-interface) components were re-organized and |
353,6 → 282,11
- rlink_serport (re-written) is an adapter to a serial interface |
- rlink_base_serport (renamed) combines rlink_base and rlink_serport |
|
- New features |
- vlib/rbus |
- added several rbus devices useful for debugging |
- rbd_tester: test target, used for example in test benches |
|
- trunk (2010-11-28: svn rev 8(oc) 341(wfjm); untagged w11a_V0.51) +++++++++++ |
|
- Summary |
360,15 → 294,6
- Nexys2 systems use DCM |
- sys_w11a_n2 now runs with 58 MHz |
|
- New features |
- ibus |
- added ib_sres_or_mon to check for miss-behaving ibus devices |
- added ib_sel to encapsulate address select logic |
- nexys2 systems |
- now DCM derived system clock supported |
- sys_gen/w11a/nexys2 |
- sys_w11a_n2 now runs with 58 MHz clksys |
|
- Changes |
- module renames: |
- in future 'box' is used for large autonomous blocks, therefore use |
387,6 → 312,15
- basic ibus transaction now takes 2 cycles, one for address select, one |
for data exchange. This avoids too long logic paths in the ibus logic. |
|
- New features |
- ibus |
- added ib_sres_or_mon to check for miss-behaving ibus devices |
- added ib_sel to encapsulate address select logic |
- nexys2 systems |
- now DCM derived system clock supported |
- sys_gen/w11a/nexys2 |
- sys_w11a_n2 now runs with 58 MHz clksys |
|
- Bug fixes |
- rtl/vlib/Makefile.xflow: use default .opt files under rtl/vlib again. |
|
/doc/INSTALL.txt
1,4 → 1,4
# $Id: INSTALL.txt 467 2013-01-02 19:49:05Z mueller $ |
# $Id: INSTALL.txt 433 2011-11-27 22:04:39Z mueller $ |
|
Guide to install and build w11a systems, test benches and support software |
|
5,24 → 5,20
Table of content: |
|
1. Download |
2. System requirements |
3. Setup system environment |
a. Setup environment variables |
b. Setup USB access |
4. Compile UNISIM/SIMPRIM libraries for ghdl |
5. Compile and install the support software |
2. Setup environment variables |
3. Compile UNISIM/SIMPRIM libraries for ghdl |
4. Compile and install the support software |
a. Compile sharable libraries |
b. Setup Tcl packages |
c. Rebuild Cypress FX2 firmware |
6. The build system |
7. Building test benches |
5. The build system |
6. Building test benches |
a. General instructions |
b. Available test benches |
8. Building systems |
7. Building systems |
a. General instructions |
b. Configuring FPGAs |
c. Available systems |
b. Available systems |
|
|
1. Download --------------------------------------------------------------- |
|
All instructions below assume that the project files reside in a |
38,51 → 34,8
cd <wdir> |
svn co http://opencores.org/ocsvn/w11/w11/trunk |
|
2. System requirements ---------------------------------------------------- |
|
This project contains not only VHDL code but also support software. Therefore |
quite a few software packages are expected to be installed. The following |
list gives the Ubuntu/Debian package names, but mapping this to other |
distributions should be straight forward. |
2. Setup environment variables -------------------------------------------- |
|
- building the bit files for the FPGAs requires a Xilinx WebPACK installation |
|
- building and using the RLink backend software requires: |
- full C/C++ development chain (gcc,g++,cpp,make) |
-> package: build-essential |
- Boost C++ library (>= 1.40), with date-time, thread, and regex |
-> package: libboost-dev libboost-date-time-dev libboost-thread-dev |
libboost-regex-dev |
- libusb 1.0 (>= 1.0.6) |
-> package: libusb-1.0-0-dev |
- Perl (>= 5.10) (usually included in base installations) |
- Tcl (>= 8.4), with tclreadline support |
-> package: tcl tcl-dev tcllib tclreadline |
|
- the download contains pre-build firmware images for the Cypress FX2 |
USB Interface. Re-building them requires |
- Small Device C Compiler |
-> package: sdcc sdcc-ucsim |
|
- for FX2 firmware download and jtag programming over USB one needs |
- fxload |
-> package: fxload |
- urjtag |
-> package: urjtag for Ubuntu 12.04 |
-> see INSTALL_urjtag.txt for other distributions !! |
|
- for VHDL simulations one needs |
- ghdl |
-> see INSTALL_ghdl.txt for the unfortunately gory details |
|
- optional but very useful is: |
- gtkwave |
-> package: gtkwave |
|
3. Setup system environment ----------------------------------------------- |
|
3a. Setup environment variables -------------------------------------- |
|
The make flow for building test benches (ghdl and ISim based) and systems |
(Xilinx xst based) as well as the support software (mainly the rlink backend |
server) requires |
90,8 → 43,6
- the definition of the environment variables: |
- RETROBASE: must refer to the installation root directory |
- BOOSTINC: pathname for includes of boost library |
- TCLINC: pathname for includes of Tcl runtime library |
- RETRO_FX2_VID and RETRO_FX2_PID: default USB VID/PID, see below |
- that the tools binary directory is in the path |
- that the tools library directory is in the library path |
|
103,43 → 54,15
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RETROBASE/tools/lib |
|
In most cases the boost library version coming with the distribution will |
work, similar for Tcl, in those cases simply use |
work, in those cases simply use |
|
export BOOSTINC=/usr/include |
export TCLINC=/usr/include/tcl8.5 |
|
After that building functional model based test benches will work. If you |
want to also build post-xst or post-par test benches read next section. |
|
If the Cypress USB controller available on Digilent Nexys2, Nexys3 and |
Atlys boards is used the default USB VID and PID is defined by two |
environment variables. For internal lab use one can use |
3. Compile UNISIM/SIMPRIM libraries for ghdl ------------------------------ |
|
export RETRO_FX2_VID=16c0 |
export RETRO_FX2_PID=03ef |
|
!! Carefully read the disclaimer about usage of USB VID/PID numbers !! |
!! in the file README_USB-VID-PID.txt. You'll be responsible for any !! |
!! misuse of the defaults provided with the project sources. !! |
!! Usage of this VID/PID in any commercial product is forbidden. !! |
|
3b. Setup USB access ------------------------------------------------- |
|
For using the Cypress FX2 USB interface on Digilent Nexys2, Nexys3 and |
Atlys boards 'udev' rules must be setup to allow user level access to |
these devices. A set of rules is provided under |
|
$RETROBASE/tools/fx2/sys |
|
Follow the 'README.txt' file in this directory. |
|
Notes: |
- the provided udev rules use the VID/PID for 'internal lab use' as |
described above. If other VID/PID used the file must be modified. |
- your user account must be in group 'plugdev' (should be the default). |
|
4. Compile UNISIM/SIMPRIM libraries for ghdl ------------------------------ |
|
The build system for test benches also supports test benches run against |
the gate level models derived after the xst, map or par step. In this |
case ghdl has to link against a compiled UNISIM or SIMPRIM library. |
160,18 → 83,17
|
If you have several WebPack versions installed, repeat for each version. |
|
5. Compile and install the support software ------------------------------- |
4. Compile and install the support software ------------------------------- |
|
5a. Compile sharable libraries --------------------------------------- |
4a. Compile sharable libraries --------------------------------------- |
|
Required tools and libraries: |
g++ >= 4.3 (decltype support assumed in usage of boost::bind) |
boost >= 1.35 (boost::thread api changed, new one is used) |
linusb >= 1.0.5 (timerfd support) |
|
Build was tested under: |
ubuntu lucid (12.04 LTS): gcc 4.6.3 boost 1.46.1 libusb 1.0.9 |
debian squezze (6.0.6): gcc 4.4.5 boost 1.46.1 libusb 1.0.8 |
ubuntu lucid (10.04 LTS): gcc 4.4.3 boost 1.40.0 |
debian lenny (5.0.8): gcc 4.3.2 boost 1.xx.x (t.b.c.) |
|
To build all sharable libraries |
|
184,7 → 106,7
rm_dep |
make realclean |
|
5b. Setup Tcl environment -------------------------------------------- |
4b. Setup Tcl environment -------------------------------------------- |
|
The Tcl files are organized in several packages. To create the Tcl |
package files (pkgIndex.tcl) |
209,26 → 131,9
ln -s $RETROBASE/tools/tcl/.tclshrc . |
ln -s $RETROBASE/tools/tcl/.wishrc . |
|
5c. Rebuild Cypress FX2 firmware ------------------------------------- |
|
The download includes pre-build firmware images for the Cypress FX2 |
USB interface used on the Digilent Nexys2, Nexys3 and Atlys Boards. |
These firmware images are under |
5. The build system ------------------------------------------------------- |
|
$RETROBASE/tools/fx2/bin |
|
To re-build them, e.g. because a different USB VID/PID is to be used |
|
cd $RETROBASE/tools/fx2/src |
make clean |
make |
make install |
|
Please read README_USB_VID-PID.txt carefully to understand the usage |
of USB VID and PID. |
|
6. The build system ------------------------------------------------------- |
|
Simulation and synthesis tools usually need a list of the VHDL source |
files, often in proper compilation order (libraries before components). |
The different tools have different formats of these 'project files'. |
255,9 → 160,9
even more. Using the vbom's a large number of designs can be easily |
maintained. |
|
7. Building test benches -------------------------------------------------- |
6. Building test benches -------------------------------------------------- |
|
7a. General instructions --------------------------------------------- |
6a. General instructions --------------------------------------------- |
|
To compile a test bench named <tbench> all is needed is |
|
277,13 → 182,13
The 'make ghdl_tmp_clean' is needed to flush the ghdl work area from |
the compilation remains of earlier functional model compiles. |
|
7b. Available test benches ------------------------------------------- |
6b. Available test benches ------------------------------------------- |
|
See file w11a_tb_guide.txt |
|
8. Building systems ------------------------------------------------------- |
7. Building systems ------------------------------------------------------- |
|
8a. General instructions --------------------------------------------- |
7a. General instructions --------------------------------------------- |
|
To generate a bit file for a system named <sys> all is needed is |
|
309,38 → 214,8
make <sys>.ngc |
make <sys>.ncd |
|
A simple 'message filter' system is also integrated into the make build flow. |
For many (though not all) systems a .mfset file has been provided which |
defines the xst,par and bitgen messages which are considered ok. To see |
only the remaining message extracted from the vaious .log files simply |
use the make target |
7b. Available systems ------------------------------------------------ |
|
make <sys>.mfsum |
|
after a re-build. |
|
8b. Configuring FPGAs ------------------------------------------------ |
|
The make flow supports also loading the bitstream into FPGAs, either |
via Xilinx Impact, or via the Cypress FX2 USB controller is available. |
|
For Xilinx Impact a Xilinx USB Cable II has to be properly setup, than |
simply use |
|
make <sys>.iconfig |
|
For using the Cypress FX2 USB controlle on Digilent Nexys2, Nexys3 and |
Atlys boards just connect the USB cable and |
|
make <sys>.jconfig |
|
This will automatically check and optionaly re-load the FX2 firmware |
to a version matching the FPGA design, generate a .svf file from the |
.bit file, and configure the FPGA. In case the bit file is out-of-date |
the whole design will be re-implemented before. |
|
8c. Available systems ------------------------------------------------ |
|
Note: Currently ready to build versions exist for |
Digilent S3BOARD (-1000 FPGA version) |
Digilent Nexys2 board (-1200 FPGA version) |
357,13 → 232,7
cd $RETROBASE/rtl/sys_gen/tst_rlink/nexys3 |
make sys_tst_rlink_n3.bit |
|
2. rlink over USB tester |
a. for Digilent Nexys2 board |
|
cd $RETROBASE/rtl/sys_gen/tst_rlink_cuff/nexys2/ic |
make sys_tst_rlink_cuff_ic_n2.bit |
|
3. w11a systems |
2. w11a systems |
a. for Digilent S3BOARD |
|
cd $RETROBASE/rtl/sys_gen/w11a/s3board |
/Makefile
1,4 → 1,4
# $Id: Makefile 466 2012-12-30 13:26:55Z mueller $ |
# $Id: Makefile 442 2011-12-23 10:03:28Z mueller $ |
# |
# 'Meta Makefile' for whole retro project |
# allows to make all synthesis targets |
6,19 → 6,13
# |
# Revision History: |
# Date Rev Version Comment |
# 2012-12-29 466 1.0.5 add tst_rlink_cuff |
# 2011-12-26 445 1.0.4 add tst_fx2loop |
# 2011-12-23 444 1.0.3 enforce -j 1 in sub-makes |
# 2011-11-27 433 1.0.2 add new nexys3 ports |
# 2011-11-18 426 1.0.1 add tst_serport and tst_snhumanio |
# 2011-07-09 391 1.0 Initial version |
# |
SYN_all += rtl/sys_gen/tst_fx2loop/nexys2/ic |
SYN_all += rtl/sys_gen/tst_fx2loop/nexys2/ic3 |
SYN_all += rtl/sys_gen/tst_rlink/nexys2 |
SYN_all += rtl/sys_gen/tst_rlink/nexys3 |
SYN_all += rtl/sys_gen/tst_rlink/s3board |
SYN_all += rtl/sys_gen/tst_rlink_cuff/nexys2/ic |
SYN_all += rtl/sys_gen/tst_serloop/nexys2 |
SYN_all += rtl/sys_gen/tst_serloop/nexys3 |
SYN_all += rtl/sys_gen/tst_serloop/s3board |
49,8 → 43,8
# |
all : |
@echo "no default action defined, use" |
@echo " make -j 4 all_sim" |
@echo " make -j 4 all_syn" |
@echo " make all_sim" |
@echo " make all_syn" |
@echo " make clean" |
@echo " make clean_sim" |
@echo " make clean_syn" |
64,20 → 58,10
for dir in $(SYN_all); do $(MAKE) -C $$dir clean; done |
# |
all_sim : $(SIM_all) |
# |
all_syn : $(SYN_all) |
@if [ -n "`find -name "*_par.log" | xargs grep -L 'All constraints were met'`" ] ; then \ |
echo "++++++++++ some designs have no timing closure: ++++++++++"; \ |
find -name "*_par.log" | xargs grep -L 'All constraints were met'; \ |
echo "++++++++++ ++++++++++++++++++++++++++++++++++++ ++++++++++"; \ |
fi |
# |
# Neither ghdl nor xst allow multiple parallel compiles in one directory. |
# The following ensures that the sub-makes are called with -j 1 and will |
# not try to run multiple compiles on one directory. |
# |
$(SIM_all): |
$(MAKE) -j 1 -C $@ |
$(MAKE) -C $@ |
$(SYN_all): |
$(MAKE) -j 1 -C $@ |
$(MAKE) -C $@ |
# |