Block Creators FAQ

  1. Block Creators FAQ
    1. Links
    2. Frequently Asked Questions
      1. What are the steps for creating a new block ?


Other useful FAQs:

Frequently Asked Questions

What are the steps for creating a new block ?

The first step for interfacing a BEE hardware component into the toolflow is to create a simulink block which matches the port listings of the VHDL you want to interface. Next, add a functional simulink model in a subsystem which is disregarded for generation.

Simulink object must have the tag property 'xps:<name>', which can be set by right-clicking the simulink block and editing 'Block Properties'. This property tells the toolflow which directory to examine for implementation details of your block, as described next.

In xps_library there are a bunch of directories prefixed with '@' that represent each BEE hardware component. By default, a new block inherits all the properties from the '@xps_block' directory. To add a component, you need to make a new directory here.

Next, copy any files from '@xps_block' into your directory that you want to implement differently.

What follows is for EDK stuff...

  1. The base system is under hitz\designs\bee\lib\xps_lib.

    1. For testing and development replace 'xps_lib' with 'xps_lib_devel'.

  2. Unzip a base system.

    1. Your IP must be in '\\hitz\designs\bee\lib\xps_lib\XPS_..._base\pcores'.

    2. Here there are 3 dirs: data=mpd file (describes port, etc, of IP), hdl=source code, and netlist=netlist files(edn,ngc).

  3. MHS file in root of base system. It is an EDK design which enumerates IPs, their interfaces to bus, parameters like addresses, and a map of what external nets get attached to which IP ports.

We need to write the code which will write the entries in the mhs and mpd files, vhdl wrappers around the simulink netlist (to create the appropriate bus interface), and then we need to write C code for communicating with the en.

From '@xps_block':

BcFaq (last edited 2006-04-07 07:10:56 by alschult)