Sign in

username:

password:



Not a member?

Search Comp.Arch.FPGA



Search tips

fpga by Keywords

Altera | ASIC | CPLD | Cyclone | DCM | DDR | DSP | Ethernet | ISE | JTAG | Linux | LVDS | Microblaze | ML310 | Modelsim | NIOS | OPB | PCI | Quartus | RocketIO | SDRAM | Spartan | Spartan3 | SRAM | Stratix | Verilog | VHDL | Virtex | Virtex-4 | Virtex-II | Xilinx | XST


Ads

See Also

DSPEmbedded SystemsElectronics

Comp.Arch.FPGA | PCI configuration questions.

There are 5 messages in this thread.

You are currently looking at messages 0 to 5.

PCI configuration questions. - Mike Zhang - 2005-09-14 21:17:00

Hi folks, I am starting to implement a simple PCI
core using Spartan-II. I 
have already implemented the basic read and write transfer before I find 
this IDSEL signal which is used by PCI configuration transfers. My PCI board 
just needs to read and write data from/to a fixed address. There is no need 
for burst or back-to-back, nor plug-and-play. Do I need to implement the PCI 
configuration? How about plug-and-play?

Mike 





Re: PCI configuration questions. - Joel Kolstad - 2005-09-15 00:06:00

"Mike Zhang" <h...@gmail.com>
wrote in message 
news:9Z3We.933$J...@newssvr27.news.prodigy.net...
> Hi folks, I am starting to implement a simple PCI core using Spartan-II. I 
> have already implemented the basic read and write transfer before I find 
> this IDSEL signal which is used by PCI configuration transfers. My PCI board 
> just needs to read and write data from/to a fixed address. There is no need 
> for burst or back-to-back, nor plug-and-play. Do I need to implement the PCI 
> configuration? How about plug-and-play?

If you're talking about some sort of embedded system where you know exactly 
what all the PCI devices in the system are and where they are in memory, I 
suppose you can "get away" with not bothering to implement configuration 
reads/writes.  However, if this is supposed to be a standard plug-in PCI card 
for a PC, Mac, etc., you absolutely need to implement configuration 
reads/writes -- without them, the BIOS and OS will have no idea where you card 
is, so there's a chance some other card will overlay you card's address space 
and cause the system to malfunction, freeze, etc.

Assuming you're getting paid for your engineering time, from what you're 
describing, I have a suspicion you'd be better off using some "off the shelf" 
PCI interface IC such as those from PLX or Cypress... or at least drop in 
Xilinx's (or someone else's) PCI core -- it'll quickly pay for itself!

---Joel Kolstad



______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: PCI configuration questions. - Mike - 2005-09-15 01:35:00

Thank you Joel!
It sounds like there is no short-cut for me on this. Yes, I would have
chosen another route had I not already spent so much time and effort on
this
one. I will stick with this plan and see what happen.
Thanks!

Mike


Joel Kolstad wrote:
> "Mike Zhang" <h...@gmail.com> wrote in message
> news:9Z3We.933$J...@newssvr27.news.prodigy.net...
> > Hi folks, I am starting to implement a simple PCI core using Spartan-II. I
> > have already implemented the basic read and write transfer before I find
> > this IDSEL signal which is used by PCI configuration transfers. My PCI board
> > just needs to read and write data from/to a fixed address. There is no need
> > for burst or back-to-back, nor plug-and-play. Do I need to implement the PCI
> > configuration? How about plug-and-play?
>
> If you're talking about some sort of embedded system where you know exactly
> what all the PCI devices in the system are and where they are in memory, I
> suppose you can "get away" with not bothering to implement configuration
> reads/writes.  However, if this is supposed to be a standard plug-in PCI card
> for a PC, Mac, etc., you absolutely need to implement configuration
> reads/writes -- without them, the BIOS and OS will have no idea where you card
> is, so there's a chance some other card will overlay you card's address space
> and cause the system to malfunction, freeze, etc.
>
> Assuming you're getting paid for your engineering time, from what you're
> describing, I have a suspicion you'd be better off using some "off the
shelf"
> PCI interface IC such as those from PLX or Cypress... or at least drop in
> Xilinx's (or someone else's) PCI core -- it'll quickly pay for itself!
> 
> ---Joel Kolstad

______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: PCI configuration questions. - Kevin Brace - 2005-09-15 10:56:00

Hi Mike,

PCI specification requires the implementation of Configuration 
registers, and once the Configuration registers are properly 
implemented, then your device will be Plug & Play compatible.
In your case, the implementation of Command and Status Register 
(Configuration register 04H), and assuming that you need only one 
address map, Base Address Register 0 (Configuration register 10H) will 
make your device Plug & Play compatible.
I don't recommend hardcoding decode address.
I think it is asking for trouble.
	If that seems too much trouble, you may want to consider purchasing a 
personal use version of BDS XPCI PCI IP core.
BDS XPCI PCI IP core is a Xilinx (TM) LogiCORE (TM) PCI compatible PCI 
IP core.
BDS XPCI32 PCI IP core is available for as little as $100 for 
non-commercial, non-profit, personal use, and the same 64-bit version 
BDS XPCI64 PCI IP core (Includes BDS XPCI32 PCI IP core) goes for $200.
This version is ideal for HDL learners, FPGA beginners, FPGA hobbyists, 
computer hardware enthusiasts, or student graduation projects.
BDS XPCI PCI IP core comes with a PCI testbench which allows the user to 
simulate the design extensively on an HDL simulator like ModelSim before 
firing up the FPGA.
With this PCI IP core, almost anyone can make their own PCI device for 
as little as $400. ($275 Insight Electronics Spartan-II 200 PCI 
Development Kit + $100 BDS XPCI32 PCI IP core.)
Insight Electronics Spartan-II 200 PCI Development Kit is fully 
supported by this PCI IP core, and Avnet Xilinx Spartan-3 Evaluation Kit 
support will be added in the future. (The PCI IP core works fine with 
Spartan-3.)
For commercial users who want to modify BDS XPCI PCI IP core or want to 
convert a design that uses Xilinx LogiCORE PCI to an ASIC (FPGA to ASIC 
conversion), BDS XPCI PCI IP core is also available in Verilog HDL RTL.
For more information, visit Brace Design Solutions website at 
http://www.bracedesignsolutions.com.


Kevin Brace


Mike Zhang wrote:
> Hi folks, I am starting to implement a simple PCI core using Spartan-II. I 
> have already implemented the basic read and write transfer before I find 
> this IDSEL signal which is used by PCI configuration transfers. My PCI board 
> just needs to read and write data from/to a fixed address. There is no need 
> for burst or back-to-back, nor plug-and-play. Do I need to implement the PCI 
> configuration? How about plug-and-play?
> 
> Mike 
> 
> 


-- 
Brace Design Solutions
Xilinx (TM) LogiCORE (TM) PCI compatible BDS XPCI PCI IP core available 
for as little as $100 for non-commercial, non-profit, personal use.
http://www.bracedesignsolutions.com

Xilinx and LogiCORE are registered trademarks of Xilinx, Inc.
______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.

Re: PCI configuration questions. - Mike - 2005-09-15 13:40:00

Thank you Kevin! Yes, $100 dollars for the core
is very cheap. But I
would still like to try it myself since I have already done so much.
Plus, I recently found a pretty cheap PCB manufaturer, so that can
short-curcuit the evaulation boards.
Cheers!

Mike

______________________________
Join the blogging team on FPGARelated.com and earn rewards! Details Here.