Interfacing a Peripheral to the CSI Bus Using VHDL
Here's a quick example of how you can interface a simple peripheral to the E5's Configurable System Interconnect (CSI) bus using VHDL. This example is written for Synplicity's Synplify logic synthesis software but also works with Synopsys with a few modifications.
First, I created "wrapper" for the CSI bus socket called csi_socket.vhd.
There is
documentation
available in Adobe Acrobat [PDF] format.
In the example called rw_register.vhd,
an 8-bit loadable binary up counter connects to the CSI bus. Whenever the E5's
embedded 8051 writes the counter, it loads the counter with the value presented
on the CSI bus write data port. Otherwise, the counter increments. The 8051
can read the counter at any time.
At power-up or when asserting the reset signal, the counter is asynchronously loaded with 0x3.
The Synplicity Synplify package creates an EDIF output file, which can then be imported into the Triscend FastChip development system as shown below.
1. Click Import from the top-most FastChip menu.
2. Select the EDIF file created by Synplicity. Click OK.

3. FastChip reads the EDIF file and creates a FastChip module. The module appears in the Imported folder. To open the module, double-click the module.

4. FastChip automatically creates input and output connection ports, based on your specifications. You can connect these ports to other functions in your E5 design. Click the Properties tab to assign an address.

5. In general, most FastChip modules use symbolic addressing. Just specify the variable name that you would like to use in your 'C' compiler or 8051 assembler. FastChip automatically assigns the logical address and passes this information via a header file. Enter the symbolic address name and click OK.

If you wish to add a second instance of this same function, click the imported module from the module library.
Using this technique, you can create your own custom logic functions or peripherals. You can still mix and match your custom peripherals with the soft modules included with the FastChip package.



