Addresses of subsystems

Oct 24, 2007 11 Replies

Hello All,



I have a system which consists of many subsystems which will be connected to a common bus (this includes 16-bit data and 16-bit address buses). This system is FPGA-based and I want to control its work through GUI from PC host. Hence, a program on PC host has to know addresses of sunsystems in order to communicate with them. My question is - how my program will know the addresses of each subsystems of the system and how these addresses are assigned? So far, my host knows only addresses of it's external ports, i.e. serial and parallel, but has no idea about what could be addresses of subsystems on FPGA.



The driver software in the PC will have to configured to know th addresses. The method will depend on how the drivers are written, and wha sort of PC->external bus.

This is a software problem, not an FPGA problem.

Well, could you give an advice where to start learning how to write a driver? and how to configure a driver?

You're in the wrong newsgroup.

...and this is why the right direction was asked. But never mind!

I was once in the a similar position as you are in now, with a similar system... PC host talking to attached (FPGA) based hardware. I wasn't able to see how to solve the problem until several years later when I gained a lot more experience developing embedded systems, so I don't think a news group is going to give you the answer.

As far as a push in the right direction, I would recommend downloading a copy of the book on Linux Device Drivers and tryin to work through that. It should help to give you some idea of how to build the bridge between your hardware and software.

If you are using Linux, get "Linux Device Drivers". You can get a free pdf of it here:

formatting link

Regards,

John McCaskill

formatting link

Thank you for the link. I want to use Linux as an OS running on host. However, I wonder whether a system designed using ISE WebPack under Windows will be working with Linux.

The OS that you are running the FPGA tools under does not lock your design to having to be hosted by the same OS.

We produce PCI cards with Virtex-4 FX FPGAs on them. See

formatting link
for more info on them. We run EDK, ISE, ModelSim, and ImpulseC on Windows computers. We only support Linux for the PCI cards host and embedded OS. The fact that we use Windows to compile the FPGA bit streams does cause problems with using those bit streams in a Linux environment.

Regards,

John McCaskill

formatting link

What the Linux book will do is show you how to control custom hardware via the FILE concept that the OS uses. Basically, it will show you how to map the read, write, open, and ioctrl commands to functions to be performed by your hardware.

You will still need to get your hardware tied into the PC's bus. This will require a lot of effort and can be done in multiple ways, such as using a PCI bridge device or embedding a PCI interface in your FPGA.

That should have read:

The fact that we use Windows to compile the FPGA bit streams does NOT cause problems with using those bit streams in a Linux environment.

Regards,

John McCaskill

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required