Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

who can help me about PCI compiler

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

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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