Theo Verelst Xilinx Experiments Page


Created: Nov 2004


In the process of occupying myself with sound synthesizer and other Audio designs, and using blackfin DSPs for that, I've been able to have access to a CoolrunnerII Xilinx board for all kinds of interfacing and digital logic tasks.

A xilinx is a Complex Programmable Logic Device, a sort of digital blackbox which can be programmed like a microcontroller, but can be given a direct logical function and structures in terms of digital gates instead of a program. They've been around for some time, but have evolved considerably the last decade or so, making the coolrunnerII for instance quite a powerfull device, and not so expensive.

To begin with, while doing other things, too, I've of course wanted to make sure the board works in practice, can do what I want it to do, like interface with various kinds of logic (also busses), supplies and hardware like LEDs, and evidently I wanted to in practice test the design software and make my own working circuits with that software.

Thus far, the software has prooven manageble easily enough (though I'd say one has to be a bit of an expert at times to get the whole machinery started), and definately geared at practical use, though I'm sure improvements are possible, like with the schematic entry program, where it is sometimes hard to get the connections one wants, and at times it messes up some connection graphs when messing around with wires.


      
    The green board in the middle with the rainbow flatcable to the 7 segment display is the Xilinx board.



It is my intention to make a number of designs available as lets call them 'Open Source' Xilinx designs, primarily to fit the board on the picture and to make some of my work available to the open source community. It might be a good starting point for people who haven't played around with digital circuits since the 70's as I have.


           A BCD counter with display driver, and long divider chain to get from 1.8 MHz clock to herz range.


Here is the project, wrapped in a zip file, I think all files are there, probably a few too many to start from, and I'm also not sure there are no absolute path names here and there, but at least you can have a look at the diagram, boundary description and VHDL file:

   display1.zip   137 kB

it gives you a counting 7 segment display.


Blackfin DSP board interface with Coolrunner demoboard

After the above worked, I made a more elaborate setup, where I connected the Xilinx (digilent) demo board up with a Analog Devices EZLITE DSP demo board, with BF533 digital signal processor chip. The latter board has traditional asynchronous memory interface facilities, where one megabyte of the memory space is unused by the board itself, so I mapped a few addresses from there using not(ASM3) bank select and A1 and A2, which can be written to (AWE) and read from (ARE) by memory access. In C code for the blackfin
	   * (unsigned char *) (0x20300000) = out;
to write to the xilinx D-register, and
	   out = * (unsigned char *) (0x20300000);
to get a byte from the xilinx tree state buffers input.

This zip file contains the essential files of the Xilinx/Diligence demo board CoolrunnerII project, the schematic, the pins, VHDL for a 7 segment display converter:

   xilinx WEBpack files for Blackfin EZLITE interface project , WINZIP file

Here's the WEBpack report for making the programming file with utilisation figures.:

  Design Name  top2
  Fitting Status  Successful
  SW Version  G.31a
  Device Used   XC2C256-5-TQ144
  Date  12- 6-2004, 1:43PM

RESOURCES SUMMARY
Macrocells Used Pterms Used Registers Used Pins Used Function Block Inputs Used
56/256  (22%) 126/896  (15%) 37/256  (15%) 42/118  (36%) 145/640  (23%)

PIN RESOURCES
Signal Type Required Mapped
 Input  9  9
 Output  24  24
 Bidirectional  8  8
 GCK  1  1
 GTS  0  0
 GSR  0  0
Pin Type Used Remaining
 I/O  36   72
 GCK/IO  3   0
 GTS/IO  3   1
 GSR/IO  0   1


Beware that this was only a first prototyping effort, lots of things aren't optimized or tested to great extend, but for me the setup works flawlessly.

Check the schematics and pin defintion file for the connections which are to be made to the blackfin connector, and beware that those are 'live' (fast!) DSP bus pins, ground yourself properly against static electricity, prevent shortcircuits and errors, and work carefully to not break you EZLITE kit! When you have no experience with electronics, you shouldn't try this.



See also My DSP page.


 home page [2]       email: theover@tiscali.nl [2]        message directly to site maintainer