Changes between Version 86 and Version 87 of sysgen2opb


Ignore:
Timestamp:
Mar 23, 2007, 9:39:19 AM (17 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • sysgen2opb

    v86 v87  
    88A copy of [wiki:OPBExportTool Xilinx's OPB Export tool] is needed to use the models generated by sysgen2opb.
    99
     10== Requirements ==
     11 * Xilinx System Generator 8.1, 8.2 or 9.1
     12 * [wiki:OPBExportTool WARP OPB Export Tool]
     13 * WARP MATLAB Toolbox in MATLAB's path
     14
     15== Installing WARP MATLAB Toolbox ==
     16 * Download or SVN checkout everything from [source:/PlatformSupport/sysgen2opb this repository directory]
     17 * Copy it to C:\<MATLAB_DIR>\toolbox\WARP (where <MATLAB_DIR> is the root of your MATLAB installation)
     18 * Add C:\<MATLAB_DIR>\toolbox\WARP and its subdirectories to MATLAB's path
     19
    1020== Using sysgen2opb ==
    11  1. The script is only supported for use with Xilinx System Generator 8.1 and 8.2. 
    12  1. Copy the conversion script (''sysgen2opb.m'') and its required skelton peripheral model (''skeleton_periph_model.mdl'') to the same directory as your model.
    13  1. Make sure MATLAB's current working directory is the folder containing your model, the sysgen2opb script and skeleton model. Run the script on the MATLAB command line like: `sysgen2opb('yourModelName', 'yourSMChoice')`
    14    1. Replace 'yourModelName' with your Simulink model's name without the .mdl extension.
    15    1. Replace 'yourSMChoice' with one of the following:
    16      1. 'smon' which will turn on the Shared Memory Extension Script
    17      1. 'smoff' which will turn off the Shared Memory Extension Script
    18  
    19  1. Additional Options
    20    1. If you want to run the original script that utilizes From/To Registers with no shared memory extension, run: `sysgen2opb('yourModelName')`
     21 1. Change MATLAB's current working directory to the folder containing your model
     22 1. Close your model
     23 1. On the MATLAB command line, run {{{sysgen2opb('modelName')}}}
     24 1. Your model should now be ready to be generated by the OPB Export Tool.
     25
     26== Examples ==
     27 * [wiki:Workshops/Rice_2007March/Files/WARP_WorkshopExercise_2_sysgen2opbIntro.pdf?format=raw Intro to sysgen2opb] Lab Exercise (from WARP Workshops)
     28
     29== Current sysgen2opb Extensions ==
     30 * [wiki:sysgen2opb/SharedMemory Shared Memory]
    2131
    2232== Current Limitations ==
    23  * The script (''sysgen2opb.m'') and skeleton peripheral model (''skeleton_periph_model.mdl'') must in the same directory as the model you wish to convert.
    24  * The model you're converting must contain at least one From Register and one To Register.
    25  * The base address and memory size of the resulting OPB peripheral cannot be changed dynamically in XPS. These parameters must be entered manually in XPS and locked before autogenerating addresses for other peripherals.
    26  * All From/To Registers must be clocked at the system sample period.
    27  * Any sources driving gateways which are converted to registers will remain in the model. Functionally this is fine; they're just clutter.
     33 * The model you're converting must contain at least one RW Register and one RO Register.
     34 * The generated OPB interface must be clocked at the system sample period.
    2835 * Every register created by the script will have a unique address on a 4-byte boundary (i.e. addr[1:0]=2'b0 for all).
    29  * Every register will be read/write. Read/write-only must be enforced by software.
    30  * From the script, we can have at most 1024 From/To Registers. However, with some limitation in one of the tools, we can only use 450 Gateways. A check is implemented to make sure that we have <= 450 From/To Registers.
    3136 * The memory interface blocks created by the script will be placed in the middle of the top-level of the model, probably underneath existing subsystems. Connectivity won't be changed, but you'll have to clean things up by hand.
    32  * Any Boolean type connected to a Gateway Out needs to be cast to a UFix1_0 before being connected to the Gateway Out.
    33  * Path to output register must contain synchronous path.
    34 
    35 == General Guidelines ==
    36  * [wiki:sysgen2opb/GeneralDesignFlow General Design Flow]
    37  * [wiki:sysgen2opb/SharedMemory Shared Memory]
    38  * [wiki:sysgen2opb/SystemGenerator Using System Generator - Settings]
     37 * RO Registers do not support Boolean datatypes. You must cast signals to UFix1_0 before connecting the RO Register block.
     38 * Every path to a RO Register must contain synchronous elements (i.e. no purely combinational outputs).