Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6861109
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T02:29:37+00:00 2026-05-27T02:29:37+00:00

I’m working in Xilinx Platform Studio, and what I essentially want to do, is

  • 0

I’m working in Xilinx Platform Studio, and what I essentially want to do, is have a VHDL module output some values, and then I would like to be able to read that value from another program written in C.

I figure what I want to do is map a specific port in my VHDL module to a spot in memory, and then read from that spot in memory in my C program.

Can someone point me in the right direction on how I would do this?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T02:29:38+00:00Added an answer on May 27, 2026 at 2:29 am

    What I understand from your requirement is that you want to create a custom ip core(VHDL) and then add it as a part a XPS MicroBlaze/PowerPC system, where your core should be accessible by the processor(C programming).

    Here you will have to use the Xilinx XPS EDK tools to do the following main steps:

    1. First start with Base System Builder to create a processor based system. Select the necessary processor, peripheral and other components for your system.

    2. Invoke Create an Import Wizard to create a Custom IPCore. This tool will take you through a features selection procedure for your custom core. Select 2-4 Software Accessible Register feature which are accessible by processor (C programming). Finally the Wizard will generate a set of files, including HDL sources, of an ipcore. The template sources can be found in *xps_prj/pcores/yourcore_v1_00_a*.

    3. This is a big step. The generated HDL templates(*yourcore_v1_00_a/hdl/vhdl*) mainly contains a Bus Interface Unit (PLB/FSL) and an Example logic. Here you have to edit the HDL template sources to remove the Example Logic and instantiate your Custom Core Logic. You can divide the IO Ports of your core instance in to two sets. The first which includes IO ports to be accessible by processor(through C programming) should be connected to Software Accessible Registers in the HDL template. The second set of your core IO ports which you want to bring out of FPGA, necessary port mapping should be done to external port connection of the top module.

      Edit the PAO file(*yourcore_v1_00_a/data/yourcore_v1_00_a.pao*) and add your custom core sources in the order you want to synthesis it.

      After all the necessary changes is made in template files invoke Create and Import Wizard tool and Import all the Core changes to XPS environment.

    4. Your custom ipcore will be seen in IP Catalog now. Add it as a part of your System and make the necessary Port Connection, Bus Interface and Address Generation for the Custom IPCore in the System.

    5. Generate the Netlist and Bitstream of the system using PlatGen.

    6. Create a C Application Project. Generate the Libraries using LibGen and compile the C application to generate the ELF file.

    7. Using Data2Mem tool merge Hardware Bitstream and Software ELF to download.bit file. Download the bitstream to the platform using Impact tool.

    Ref: http://ecasp.ece.iit.edu/mbtutorial.pdf

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have just tried to save a simple *.rtf file with some websites and
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I have a French site that I want to parse, but am running into
I have some data like this: 1 2 3 4 5 9 2 6
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but
I would like to count the length of a string with PHP. The string
For some reason, after submitting a string like this Jack’s Spindle from a text
I have a jquery bug and I've been looking for hours now, I can't
this is what i have right now Drawing an RSS feed into the php,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.