UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Newbie secretstep
Newbie
6,850 Views
Registered: ‎11-07-2008

VHDL connection to EDK

Jump to solution

Hi, I'm quite new to this Xilinx EDK stuff.

I have some questions that I couldn't figure out, so I'd really appreciate if you can enlighten me.

 

This is what I know:

VHDL

Simulation

FPGA

Embedded programming

 

What I wonder about:

So Virtex has a microprocessor attached in it right? What I wonder is that how do we make the microprocessor and FPGA interconnect each other.

Is it called as the 'cores' for microprocessor that we design so that the microprocessor can communicate with FPGA?

Or is it called the 'drivers'?

 

How do the interconnection be made? I assume that a VHDL project for Xilinx FPGA from ISE can be made into a core, but then how the libraries for the microprocessor programming is generated?

For example, using an AC97 codec, we have a library xac.c, xac.h or something like that. How do we generate these files, and how do we know the variables defined inside those libraries are connected to the FPGA (i mean the ports of VHDL)?

I skimmed through the manuals but I still do not understand the inside procedure of making the 'core'.

I can make a VHDL process with ISE, but then I'll be wondering how to make this PROGRAMMABLE in C for microprocessor.

 

Please help me! Thank you!

 

0 Kudos
1 Solution

Accepted Solutions
Visitor bishesh
Visitor
8,001 Views
Registered: ‎05-26-2008

Re: VHDL connection to EDK

Jump to solution

I think you are referring to soft core processors when you say "cores for microprocessor in FPGA".

FPGA contains a processor when you use them as a core. That means you have a portion of FPGA that works as a processor. So instead of saying "microprocessor attaches with fpga" or "interconnect FPGA with microprocessor" it would be appropriate to say microprocessor implemented in FPGA. (this is of course for soft-core processors).

In general terms, this microprocessor is similar to other microprocessors but this is within the FPGA chip itself. This makes soft-core processors to be customizable to some extent at the user end.

 

Now as you said VHDL can be used to describe microprocessor cores. Making drivers, libraries, compilers, peripherals for the microprocessor so that it can be used for different application is a very complex design and development process. Well, this is where tools like EDK comes in. You can use already designed core like microblaze processor and you don't need to worry about the drivers of different available peripherals that can be used with microblaze.

 

>>how do we know the variables defined inside those libraries are connected to the FPGA (i mean the ports of VHDL)

Just like you need memory to place your code and data for usual microprocessors, you need memory when you use soft core processors. This may be within the FPGA chip itself such as in Block RAMs or outside the chip in external memory like SDRAM. So your processor executes instructions (that correspond to the code/software you write) and the speed is dependent mainly in the clock used for the microprocessor.

 

You may need different peripherals like timers, interrupt controllers, or other custom digital hardware to be interfaced with the processor. You can create them again using languages like VHDL and synthesize them within FPGA. Thus you can have different peripherals and processor within the FPGA itself.

View solution in original post

0 Kudos
5 Replies
Xilinx Employee
Xilinx Employee
6,813 Views
Registered: ‎08-01-2007

Re: VHDL connection to EDK

Jump to solution

Hi

 

I'm thinking you can use EDK BSB to create a project based on any available board. Then you can understand the system arch.

Every core is written in HDL, and it also have drivers.

 

I suggest you refer to xapp967 to use CIP Wizard, this will create both the core logic source code and the drivers. You can find the relationship between the registers in HDL and C code there. 

0 Kudos
Visitor bishesh
Visitor
8,002 Views
Registered: ‎05-26-2008

Re: VHDL connection to EDK

Jump to solution

I think you are referring to soft core processors when you say "cores for microprocessor in FPGA".

FPGA contains a processor when you use them as a core. That means you have a portion of FPGA that works as a processor. So instead of saying "microprocessor attaches with fpga" or "interconnect FPGA with microprocessor" it would be appropriate to say microprocessor implemented in FPGA. (this is of course for soft-core processors).

In general terms, this microprocessor is similar to other microprocessors but this is within the FPGA chip itself. This makes soft-core processors to be customizable to some extent at the user end.

 

Now as you said VHDL can be used to describe microprocessor cores. Making drivers, libraries, compilers, peripherals for the microprocessor so that it can be used for different application is a very complex design and development process. Well, this is where tools like EDK comes in. You can use already designed core like microblaze processor and you don't need to worry about the drivers of different available peripherals that can be used with microblaze.

 

>>how do we know the variables defined inside those libraries are connected to the FPGA (i mean the ports of VHDL)

Just like you need memory to place your code and data for usual microprocessors, you need memory when you use soft core processors. This may be within the FPGA chip itself such as in Block RAMs or outside the chip in external memory like SDRAM. So your processor executes instructions (that correspond to the code/software you write) and the speed is dependent mainly in the clock used for the microprocessor.

 

You may need different peripherals like timers, interrupt controllers, or other custom digital hardware to be interfaced with the processor. You can create them again using languages like VHDL and synthesize them within FPGA. Thus you can have different peripherals and processor within the FPGA itself.

View solution in original post

0 Kudos
Visitor suman444
Visitor
6,589 Views
Registered: ‎11-10-2008

Re: VHDL connection to EDK

Jump to solution

I think you should use Embedded development kit provided by xilinx that enables you to  design a complete embedded processor system for implementation in fpga. EDK provides an eclipse based SDK to write the codes for your microprocessor based system. In detail you can refer to various lectures labs for EDK.

0 Kudos
Adventurer
Adventurer
6,489 Views
Registered: ‎08-24-2008

Re: VHDL connection to EDK

Jump to solution

Dear bishesh,

 

I have a question about your sentence (and i think th same question that secretstep  mean) :_

 

So your processor executes instructions (that correspond to the code/software you write)

 

Can i write these instruction using VHDL rather than c .

 

Thanks . . .

oms
0 Kudos
Newbie secretstep
Newbie
6,484 Views
Registered: ‎11-07-2008

Re: VHDL connection to EDK

Jump to solution

Yes that was what I meant.

 

The EDK comes with cores or drivers for the peripherals, and also we can make our own core by using core generator with ISE.

However, while the coding for the Microblaze is done in C, I have no idea on making the core I made to be workable in C.

 

I think the system flows as following:

 

Microblaze <--- Assembly Language <--- C code  <--- some functions supported by cores/drivers

 

and I'd like to know how to make the custom functions for C language.

In a recent project, I only used FSL for specific algorithms by sending numbers into it and getting numbers out of it. However, it would be much more convenient to have a C function generated for special use.

0 Kudos