FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-25-2004, 11:42 AM
Nahum Barnea
Guest
 
Posts: n/a
Default PCI interrupt negation

Hi.

I design a xilinx virtex2pro with pci-x interface that is connected to a server
PC. I am using the PCI interrupt. Whenever an interrupt is completed the my
fpga drive it to 'Z' and the pullup on the mother board pulls it to '1'.

The problem is that the pullup is very slow (300 ns) and the host interrupt
service routine is accessed again for nothing.

I am using IOB type PCIX.

Am I doing something wrong ?

ThankX,
Nahum
Reply With Quote
  #2 (permalink)  
Old 11-25-2004, 12:42 PM
System Alchemist
Guest
 
Posts: n/a
Default Re: PCI interrupt negation

Nahum Barnea wrote:

> Hi.
>
> I design a xilinx virtex2pro with pci-x interface that is connected to a server
> PC. I am using the PCI interrupt. Whenever an interrupt is completed the my
> fpga drive it to 'Z' and the pullup on the mother board pulls it to '1'.
>
> The problem is that the pullup is very slow (300 ns) and the host interrupt
> service routine is accessed again for nothing.
>
> I am using IOB type PCIX.
>
> Am I doing something wrong ?


This is normal and to be expected.

One approach to dealing with this is to drive the interrupt high
for one clock before going Hi-Z.
Note that this isn't per the pci spec which says open-drain, using
an IOB with low current capability should avoid problems when the
interrupt line is shared with another device which is driving low.


Reply With Quote
  #3 (permalink)  
Old 11-25-2004, 12:47 PM
Tim
Guest
 
Posts: n/a
Default Re: PCI interrupt negation


"System Alchemist" <dotter@_nospam_btconnect.com> wrote
> One approach to dealing with this is to drive the interrupt high
> for one clock before going Hi-Z.
> Note that this isn't per the pci spec which says open-drain, using
> an IOB with low current capability should avoid problems when the
> interrupt line is shared with another device which is driving low.


Or drive it Hi as you are floating it.


Reply With Quote
  #4 (permalink)  
Old 11-25-2004, 08:32 PM
Ben Jackson
Guest
 
Posts: n/a
Default Re: PCI interrupt negation

In article <[email protected] >,
Nahum Barnea <[email protected]> wrote:
>The problem is that the pullup is very slow (300 ns) and the host interrupt
>service routine is accessed again for nothing.


As someone who has worked on a lot of device drivers I can't say I've
ever seen a card that consistently produces double interrupts. I haven't
gone and measured INTx rise times either.

The result seems plausible, though. Figure an ~8.2k pullup (that's Rtyp
for pullups in the PCI 2.1 spec, don't have X handy), 3 slots (at about
5p each) each with a card (allowed 10p each) gives you 45p*8.2k is ~350ns.
OTOH, I've never seen a motherboard that was high-end enough to have
PCI-X 66 that didn't also use an IO APIC that allowed each INTx pin to
be routed individually, though.

--
Ben Jackson
<[email protected]>
http://www.ben.com/
Reply With Quote
  #5 (permalink)  
Old 11-29-2004, 08:26 PM
glen herrmannsfeldt
Guest
 
Posts: n/a
Default Re: PCI interrupt negation



Ben Jackson wrote:

> In article <[email protected] >,
> Nahum Barnea <[email protected]> wrote:


>>The problem is that the pullup is very slow (300 ns) and the host interrupt
>>service routine is accessed again for nothing.


> As someone who has worked on a lot of device drivers I can't say I've
> ever seen a card that consistently produces double interrupts. I haven't
> gone and measured INTx rise times either.
>
> The result seems plausible, though. Figure an ~8.2k pullup (that's Rtyp
> for pullups in the PCI 2.1 spec, don't have X handy), 3 slots (at about
> 5p each) each with a card (allowed 10p each) gives you 45p*8.2k is ~350ns.
> OTOH, I've never seen a motherboard that was high-end enough to have
> PCI-X 66 that didn't also use an IO APIC that allowed each INTx pin to
> be routed individually, though.


I remember that PCI's level sensitive interrupts are supposed to be
an advantage over ISA's edge triggered interrupts. It might be that
someone figured that once the interrupt register was reset it would
take long enough to process that more than 300ns would have passed.
As machines get faster, that isn't true anymore.

-- glen

Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Negation operators synthesis [WIDER_LHS = Negation(NARROWER_RHS)] dm Verilog 1 10-26-2007 12:54 PM
Negation of "nonzero known value" Tim Johnson Verilog 3 11-25-2006 05:54 PM
Generate the first interrupt for MB XMK Jari FPGA 2 01-08-2004 05:23 PM


All times are GMT +1. The time now is 03:17 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved