This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > The Zynq Book Tutorials > Designing With Vivado High Level Synthesis > Interface Synthesis

Interface Synthesis

FONT SIZE : AAA

(a) Launch the command prompt by navigating to Start > All Programs > Xilinx Design Tools > Vivado 2014.1 > Vivado HLS > Vivado HLS 2014.1 Command Prompt.

(b) Change the working directory to C:\Zynq_Book\HLS\tut3C. This folder contains the source and test files for a project, and also the Tcl script required to build the project, run_hls.tcl.

(c) Run the Tcl script using the command:

vivado_hls ‐f run_hls.tcl

(d) To open the project in the Vivado HLS GUI enter the following command:

vivado_hls ‐p matrix_mult_prj

And press Enter. This will open the Vivado HLS GUI for the project, which we will utilise in the next exercise.

(e) Open the source file matrix_mult.cpp from the Source section of the Explorer tab and click the C Synthesis button to synthesise the RTL design. When the synthesis report opens, scroll to the Interface section.

Interface summary for solution1.png

Note that the input arrays a and b, and the resultant product array prod have been implemented using the ap_memory protocol. This is inferred from the C++ source code, as the array type corresponds with the structure of memory.

Input arrays a and b are both 8 -bit signals on ports a_q0 and b_q0. The output array, prod is a 16-bit signal on port prod_d0. Each signal has a corresponding 5-bit address port, designated as a_address0, b_address0 and prod_address0.

The protocol also requires clock enable signals (a_ce0 and b_ce0), and a write enable (prod_we0).

Since the design requires more than one clock cycle to complete and is therefore synchronous, a clock and reset port have been synthesised as ap_clk and ap_rst, and both are 1-bit signals.

A block level control protocol with handshaking, ap_ctrl_hs, has also been implemented (ap_start, ap_done, ap_idle and ap_ready).

• The ap_start input is asserted, prompting block operation. This produces three output control signals indicating the stage of operation. • ap_ready indicates that the block is ready for new inputs. 

• ap_idle is an indication that data is currently processing data. 

• ap_done indicates that output data has been processed and is available.

Recalling Exercise 3B, the arrays were partitioned to reduce each into several smaller sections with expanded ports, control signals and implementation resources. This increased the bandwidth. This directly influenced the interface synthesis through use of directives.

This concludes this introduction to the design flow of Vivado HLS. This tool will be used further in future exercises, and synthesised RTL will be implemented as part of a larger functional model.

  • XC4025E-2HQ240C

    Manufacturer:Xilinx

  • FPGA XC4000E Family 25K Gates 2432 Cells 0.35um Technology 5V 240-Pin HSPQFP EP
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC2C256-6CP132C

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 256MHz 0.18um Technology 1.8V 132-Pin CSBGA
  • Product Categories: CPLDs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC3S400A-4FG320C

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 320-Pin FBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS:

  • XC3S400A-4FGG320C

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 320-Pin FBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS:

  • XC3S400A-4FTG256I

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 256-Pin FTBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS:

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.