element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Using Xilinx Tools Forum Vivado - IP core instantiated in VHDL
  • Forums
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Avnet Boards Forums requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 2 replies
  • Subscribers 42 subscribers
  • Views 1063 views
  • Users 0 members are here
Related

Vivado - IP core instantiated in VHDL

martingaraj
martingaraj over 5 years ago

Is there a way to use IP cores directly in code (VHDL/Verilog) instead of placing them into Block Design (graphical user interface) ?

 

May I ask for an example with Floating Point Operator (in VHDL/Verilog) ? How to initialize it (settings of the core) ? (because the IP core can be set to provide different operations)

 

 

The reason:

- compact code (without the need to switch between code and graphical user interface / Block Design)

- less work

- Block Design is utilized just for top view

  • Reply
  • Cancel
  • Cancel
  • jafoste4
    0 jafoste4 over 5 years ago

    Hello MartinGaraj, 

    Firstly we recommend using the UltraFlow Design Methodology which utilize the Block Design graphical user interface. Please refer to the below reference.

    http://www.xilinx.com/support/documentation/sw_manuals/ug949-vivado-design-methodology.pdf 

    As for your reasons for wanting to move to away from the Block Design

    ---It won't nessecarily be more compact unless you plan on using custom code (see reference above)

    ---It would be faster and easier to use Vivado Block Diagram GUI

    ---One other thing of note is that the Block Design is not for top view only. It provides you with a hierarchial view that you can dig down through.

    If you still want to do everything directly in code (No Block Design GUI) you can still do so. This is done by opening your IP Catalog, double clicking on the IP you wish to use, this then allows you to customize your IP before you generate it. Once you click ok and generate the IP it will appear in your project folder where you will have access to the HDL code. I would also suggest  you keep a copy of the project just in case you end up needing to change your IP.

    Also if you look in the C:\Xilinx\Vivado<version number>\data\ip directory you can find all the RAW IP.

    --Josh

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • johnabel
    0 johnabel over 3 years ago

    Yes, there is, at least in Vivado 2017.2:

    - Open the IP catalog from Flow Navigator

    - Choose the IP you want to include in your VHDL/ Verilog and double click

    - In the pop up asking whether to add it to a block design, or customize it and add it as RTL, select this last option

    - Customize the module and click OK, this should also generate the products and the IP should apper in the Design Sources hierarchy

    - In Design Sources, highlight the IP and in Source File Properties, copy the path where it is

    - Open that folder and open the file ending with vho, there you will find enclosed in comments, both the declaration and instantiation templates, copy them and paste in your file. Remember to replace the signals to what the instance is connected to (not the ones in the declaration)

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
Element14

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2022 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube