element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • 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
  • Settings
Path to Programmable
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable
  • More
  • Cancel
Path to Programmable
Blog [PP-10] Lab 7 - Adding a custom IP
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: kk99
  • Date Created: 11 Nov 2018 10:11 PM Date Created
  • Views 441 views
  • Likes 3 likes
  • Comments 0 comments
  • path to programmable
  • fpga
  • avnet minized
  • minized
Related
Recommended

[PP-10] Lab 7 - Adding a custom IP

kk99
kk99
11 Nov 2018

In this lab we will learn how to create a custom IP, add it to the IP catalogue and use it in the design.

 

1. How to create a new AXI peripheral

Please select from main bar option: Tools->Create and Package IP New IP. There will appear a wizard.

image

Please select option to create a AXI4 peripheral.

image

Enter package name, display name and description.

image

Default interface settings are fine for this module.

image

Press Finish. New IP will be added to IP catalog.

image

2. Modify the new IP Project

At this step we import user logic HDL: PWM_Controller_Int, connect to slv_reg0 from the AXI interface and PWM outputs to top-level.

image

Please select Window -> IP Catalog then search for "PWM" and select Edit in IP Packager.

image

Now we need to import file PWM_Controller_Int.v from Speedway support documents. Please click Add Sources from Flow Navigator menu. Please select Add or create design source then Add Files. Make sure that option Copy sources into IP directory was selected.

image

Now we need open file PWM_w_Int_v1_0.vhd and declare PWM_Controller_Int in component declaration section of PWM_w_Int_v1_0.vhd. Additionally we need to add also user logic section. Then we need to connect inputs and outputs according to below screens:

image

image

image

image

image

image

Now we could run synthesis.

 

3. Package IP to the IP catalog

 

Press Package IP from Flow Navigator menu. Please change Life Cycle to Production in Compatibility menu. Add Files Group we need to two standard groups for Simulation and Synthesis with source HDL files. At Customization Parameters tab we need to change visibility of PWM_PERIOD parameter. Add tab with Ports and Interfaces we need to define interrupt by choosing: Interrupt_Out->Auto Infer Single Bit Interface. After that we could click Review and Package tab and choose option Re-Package IP.

image

image

image

image

4. Add IP to project

Now we could add this IP block in our design then please choose option run connection automation. After that we need to enable Fabric interrupts in ZYNQ7 PS then connect Interrupt_Out from the PWM_w_Int_v1.0 IP block to the IRQ_F2P[0:0] on the ZYNQ7 PS.

image

image

Last thing is to connect PWM outputs. We will use here a Integrated Logic Analyzer IP from IP catalog. We need to configure it to have 4 probes with correct widths and connect them to the PWM outputs. Connect LED to probe0, PWM_Counter to probe1, DutyCycle to probe2 and Interrupt_out to probe3. Connect the clk to FCLK_CLK0.

image

image

In the next lab we will exercise a debug interface and add a software application to interact with this custom IP.

  • Sign in to reply
element14 Community

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 © 2025 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

  • X
  • Facebook
  • linkedin
  • YouTube