IDS-FPGA: Xilinx

fcgc

Introduction

IDesignSpec (IDS) suite of  products can seamlessly integrate into your Vivado projects allowing for faster turnaround times. IDS can generate the RTL for your addressable register which can then be easily packaged as an IP and ready to be used in your design. IDS also offers support to create mirror blocks of  IPs and creation of automatic and custom sequences to program your design.

IDS-NextGen

IDS-NextGen (IDS-NG) is Agnisys’ cross platform GUI that allows users to create register specifications and generate a variety of collaterals including synthesizable RTL, UVM RAL, headers, documentation and programmable sequences.

IDS-FPGA

IDS-FPGA leverages the TCL library from Vivado to easily integrate your IDS-NG project into your FPGA design.

Vivado has the capability to create buttons that can be tied to other programs or scripts. Using this functionality you can create a button to link our Vivado project with a corresponding IDS-NG project.

Custom button is Vivado
IDS-FPGA config output

Once you create your design in IDS-NG in the configuration menu you have the option to generate outputs for your specific FPGA targeted board. Along with generating your RTL this option will create the following files:

  • <file_name>.tcl
  • ids_mirror_block.v
  • ids_connect.tcl

When you run the <file_name>.tcl script in Vivado it will import all generated files to your current project and package them as an IP that can be used in your block design.

The ids_mirror_block is a 1-to-1 mirror of your generated block. It will create a skeleton block that has the same number of input and output ports of your generated block and allow you to implement your own functionality.

The ids_connect.tcl script will automatically connect the ports between your generated block and the mirror block.

Once the generated scripts are run you can see that the design is automatically imported and the connection between blocks are created.

IDS-FPGA generated design in Vivado

After you have your design completed you can run synthesis, implementation, and generate the bitstream.

IDS-Validate

A key feature of IDS-NG is its variety of different views/templates. One of these views, the sequence template , allows you to create programmable sequences using the information captured in your register template along with APIs for reads, writes, loops, and other conditions. The sequence template also has additional features like auto for property and register names and formatting.

Scroll to Top