FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5886 Discussions

who can help me about PCI compiler

Altera_Forum
Honored Contributor II
1,186 Views

I developed a SOPC which including a PCI compiler on the ALtera PCI development kit, the configuration of PCI compiler was: Host Bridge Mode, 32bit, 33MHz, BAR0 Auto, BAR1 auto, two fixed address translation table including a configuration space and a memory space. 

 

my question is : how can i access the configuration space to read regs sucn as Device ID or Vendor ID ?  

 

thank you:-P
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
77 Views

 

--- Quote Start ---  

I developed a SOPC which including a PCI compiler on the ALtera PCI development kit, the configuration of PCI compiler was: Host Bridge Mode, 32bit, 33MHz, BAR0 Auto, BAR1 auto, two fixed address translation table including a configuration space and a memory space. 

 

my question is : how can i access the configuration space to read regs sucn as Device ID or Vendor ID ?  

 

--- Quote End ---  

 

 

Under what operating system? 

 

Under Linux you simply type lspci (and then man lspci to learn more). 

 

Under Windows, there is a tool called pcitree (and others). 

 

PCI device drivers under Linux are pretty simple. If that is what you are interested in, then I'll post some links. 

 

Cheers, 

Dave
Altera_Forum
Honored Contributor II
77 Views

i have not seen someone using linux in my life ..

Altera_Forum
Honored Contributor II
77 Views

 

--- Quote Start ---  

Under what operating system? 

 

Under Linux you simply type lspci (and then man lspci to learn more). 

 

Under Windows, there is a tool called pcitree (and others). 

 

PCI device drivers under Linux are pretty simple. If that is what you are interested in, then I'll post some links. 

 

Cheers, 

Dave 

--- Quote End ---  

 

 

thank you very much . 

There is no os.  

I just want to use the board with pci compiler as pci master, and another board connected to it as slave. Under Nios II IDE, how can i access the configuration space of master device or slave device?
Altera_Forum
Honored Contributor II
77 Views

 

--- Quote Start ---  

 

There is no os.  

 

--- Quote End ---  

 

 

Ok. 

 

 

--- Quote Start ---  

 

I just want to use the board with pci compiler as pci master, and another board connected to it as slave. Under Nios II IDE, how can i access the configuration space of master device or slave device? 

--- Quote End ---  

 

 

Is the PCI core an Avalon component? If it is, then in your SOPC or Qsys System, there should be an Avalon-MM slave block for the configuration space, another for PCI accesses, and there may be some other registers so that the PCI accesses will use I/O or memory commands. 

 

If the PCI core is not an Avalon component, then the same sorts of register interfaces will likely exist, its just that you'll have to create Avalon-MM interfaces, so that your SOPC system containing the NIOS core can access those registers. 

 

I would recommend starting with a testbench of just the PCI core alone, and figure out how to get a couple of instances talking to each other, i.e., configure one as the master and one as the target. 

 

Cheers, 

Dave
Altera_Forum
Honored Contributor II
77 Views

One additional thing you might need is an arbiter to grant the master access to the bus when it requests it. 

 

Or in your master design just hard wire the grant signal active. 

 

 

Nial
Reply