User guide
6 www.xilinx.com System Generator for DSP User Guide
UG640 (v 12.2) July 23, 2010
Restrictions on Shared Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Specifying Xilinx Tool Flow Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Frame-Based Acceleration using Hardware Co-Simulation . . . . . . . . . . . . . . . . . . 254
Shared Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Adding Buffers to a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Compiling for Hardware Co-simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Using Vector Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Real-Time Signal Processing using Hardware Co-Simulation . . . . . . . . . . . . . . . 267
Shared Memory I/O Buffering Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Applying a 5x5 Filter Kernel Data Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
5x5 Filter Kernel Test Bench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Reloading the Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Installing Your Board for Ethernet Hardware Co-Simulation . . . . . . . . . . . . . . . . 277
Installing Software on the Host PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Setting Up the Local Area Network on the PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Loading the Sysgen HW Co-Sim Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . 279
Installing the Proxy Executable for Linux Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Installing an ML402 Board for Ethernet Hardware Co-Simulation . . . . . . . . . . . . . . 281
Installing an ML506 Board for Ethernet Hardware Co-Simulation . . . . . . . . . . . . . . 286
Installing an ML605 Board for Ethernet Hardware Co-Simulation . . . . . . . . . . . . . . 291
Installing a Spartan-3A DSP 1800A Starter Board for Ethernet Hardware Co-Simulation293
Installing a Spartan-3A DSP 3400A Board for Ethernet Hardware Co-Simulation . 294
Installing an SP601/SP605 Board for Ethernet Hardware Co-Simulation . . . . . . . . 299
Installing Your Board for JTAG Hardware Co-Simulation. . . . . . . . . . . . . . . . . . . 301
Installing an ML402 Board for JTAG Hardware Co-Simulation . . . . . . . . . . . . . . . . . 301
Installing an ML605 Board for JTAG Hardware Co-Simulation . . . . . . . . . . . . . . . . . 303
Installing an SP601/SP605 Board for JTAG Hardware Co-Simulation . . . . . . . . . . . 305
Supporting New Boards through JTAG Hardware Co-Simulation . . . . . . . . . . . 307
Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Supporting New Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Chapter 4: Importing HDL Modules
Black Box HDL Requirements and Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Black Box Configuration Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Black Box Configuration M-Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
HDL Co-Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Configuring the HDL Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Co-Simulating Multiple Black Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Black Box Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Importing a Xilinx Core Generator Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Importing a VHDL Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Importing a Verilog Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Dynamic Black Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Simulating Several Black Boxes Simultaneously . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Advanced Black Box Example Using ModelSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Importing, Simulating, and Exporting an Encrypted VHDL File . . . . . . . . . . . . . . . . 370
Black Box Tutorial Exercise 9: Prompting a User for Parameters in a Simulink Model and
Passing Them to a Black Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374