Addresses of subsystems

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.

Reply to
Vagant
Loading thread data ...

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.

Reply to
RCIngham

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

Reply to
Vagant

You're in the wrong newsgroup.

Reply to
MikeShepherd564

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

Reply to
Vagant

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.

Reply to
Noway2

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

Reply to
John McCaskill

Many thanks for advice. :)

Reply to
Vagant

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.

Reply to
Vagant

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

Reply to
John McCaskill

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.

Reply to
Noway2

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

Reply to
John McCaskill

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.