home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / lsi / cad / 1227 < prev    next >
Encoding:
Internet Message Format  |  1992-12-20  |  5.7 KB

  1. Xref: sparky comp.lsi.cad:1227 comp.arch:11753
  2. Newsgroups: comp.lsi.cad,comp.arch
  3. Path: sparky!uunet!psinntp!xilinx!philip
  4. From: philip@xilinx.com (Philip Freidin)
  5. Subject: Re: Why no tri-state outputs in FPGA cells?
  6. Message-ID: <1992Dec17.170431.2520@xilinx.com>
  7. Sender: usenet@xilinx.com
  8. Organization: Xilinx Inc.
  9. References: <1992Dec14.221541.25270@dartvax.dartmouth.edu> <1992Dec15.010020.9274@super.org> <1992Dec15.193837.8890@dartvax.dartmouth.edu>
  10. Date: Thu, 17 Dec 1992 17:04:31 GMT
  11. Lines: 134
  12.  
  13.  
  14.  
  15. In article <1992Dec14.221541.25270@dartvax.dartmouth.edu> pichet@coos.dartmouth.edu (Pichet Chintrakulchai) writes:
  16. >Hello,
  17. >
  18. >I've been working on a project designing a processor with FPGA's.  One severe
  19. >limitation I found is that their cells do not have tri-state outputs and thus
  20. >forcing me to use MUXes on buses consuming a lot of the resources.
  21. >
  22. >Does anybody have any idea why they didn't make these cell outputs tri-state?
  23. >
  24. >Thanks.
  25. >Pichet Chintrakulchai        (pichet@dartmouth.edu)
  26.  
  27. Maybe you are using the wrong FPGAs :-)
  28.  
  29. Enter advertising mode:
  30.  
  31.     One of the facilities of the Xilinx products that differentiates us
  32.     from all the other lowly wanna-bees is that our XC3000 and XC4000
  33.     products are full of tri-state buses. These are driven by what we
  34.     call TBUFs, and there are 2 per logic block (i.e. just the right
  35.     number). For each row of logic blocks, there are two rows of TBUFs
  36.     with their associated horizontal long lines (the buses). On most of
  37.     the larger chips, these long lines are split in the middle of the
  38.     chip by splitters. For a given chip with N rows of logic blocks,
  39.     you can have anywhere from N*2 bus lines (that span the width of
  40.     the chip) to N*4 bus lines, in two groups of N*2, one for the left
  41.     side of the chip, and one for the right. You can mix and match
  42.     between half and full width within the one chip to get any number
  43.     between N*2 and N*4.
  44.  
  45.     A sample of sizes follows:
  46.  
  47.     Part Numbers    Full width buses    Half width buses
  48.     
  49.     XC4005        28            56
  50.     XC4006        32            64
  51.     XC4008        36            72
  52.     XC4010        40            80
  53.     XC4013        48            96
  54.  
  55.     XC3090        40            80
  56.     XC3190        40            80
  57.     XC3195        44            88
  58.  
  59. Exit advertising mode.
  60.  
  61. With regard to building a processor, I have built (complete with front
  62. panel with flashing lights and toggle switches) a 20MIPS 16 bit RISC
  63. (native MIPS, not corelatable to anything else) with a XC4005 for the 
  64. processor (used about 75% of the chip, the rest is available for 
  65. peripheral intergration) and 6 XC3020 for the front pannel.
  66.  
  67. If you want to talk to me about your project, (408)879-5180, or
  68. philip@xilinx.com
  69.  
  70.  
  71.  
  72. In article <1992Dec15.193837.8890@dartvax.dartmouth.edu> eht@northstar.dartmouth.edu (Edward H. Truex) writes:
  73. >In article <1992Dec15.010020.9274@super.org> cfreese@super.org (Craig F. Reese) writes:
  74. >>
  75. >>You don't say which FPGA you are using but the Xilinx 4000 series does
  76. >>contain tristate buffers for just the kind of purpose you describe.
  77. >>The buffers are not on each CLB but adjacent.  There are some
  78. >>limitations as to where the buffers can connect up.  I have found
  79. >>designs where the functionallity did _not_ work for a given device (due
  80. >>to the size of the FPGA, size of my design, and the tristate buffer/bus
  81. >>resources) but a larger chip probably would have.  In many other
  82. >>designs I have not used any tristate logic (so I'm glad the CLBs aren't
  83. >>all tristate by default).
  84. >
  85. >
  86. >I am working with Pichet (the originator of this thread) on a very 
  87. >similar design, and I think his question can be rephrased.  What we
  88. >are really trying to figure out is 
  89. >
  90. >Is there an electrical reason why the short pieces of interconnect 
  91. >(those that are connected through Xilinx's 'PIP's) cannot be tristated?
  92. >
  93. >The long lines obviuosly don't present any electrical problems as they 
  94. >are simply edge to edge pieces of wire.  Are the pass transistors in 
  95. >the interconnect points the problem? 
  96. >
  97. >Here's the motivation for our inquiries...
  98. >
  99. >With the current Xilinx parts (I am using XC4010's) the number of
  100. >busses that can be implemented is severely limited by the number
  101. >of long lines.  In a design that requires many wide busses (I am
  102. >currently working on a 32 bit microprocessor) the number of long
  103. >lines available is not enough to implement a true bus structure.
  104. >As a result, I am forced to use a large number of fairly wide
  105. >multiplexers, and a correspondingly large number of CLBs and routing 
  106. >resources.  The ability to tristate the output of each CLB while
  107. >attaching it to a piece of "normal" routing would eliminate (or
  108. >reduce) bus constraints on chip, in addition to (possibly) freeing 
  109. >up some of the CLBs that were previously used for bus redirection
  110. >to be used for "useful" logic.
  111. >
  112. >Thanks for any insights,
  113. >Tad Truex 
  114.  
  115.  
  116. OK!!!!!!!!!! so you are using the RIGHT FPGAs!! :-)
  117.  
  118. The reason that the local interconnect (short pieces of metal) dont have
  119. tristate capability in current families (we may in a future family) is
  120. for silicon real estate and speed reasons:
  121.  
  122. (for those of you just reading along, PIPs are Programable Interconect
  123. Points, that link our chip routing resources together, either with
  124. buffers, pass transistors, or other techniques)
  125.  
  126. 1) tristate-able pips would be much bigger, needing a control line, an
  127. input selector mux (for the tristate control line itself) and default
  128. logic for the non-tristate case. versus 1 pass transistor.
  129.  
  130. 2) pips between local to long lines include a buffer, so bidirectionality
  131. would not work very well
  132.  
  133. 3) tristateable pips are slower than direct pips  
  134.  
  135. 4) we like to guarantee valid signal levels on all interconnect, so
  136. we would have to include pull up resistors and 'weak keepers" everywhere
  137. as well. this would grow the chip size a lot.
  138.  
  139. 5) assorted other reasons.
  140.  
  141.  
  142. -- 
  143. Philip Freidin: Product Planning Manager, Xilinx, INC
  144. (rest of clever .sig still under construction....
  145.         coming to a terminal near you, Real Soon Now (tm))
  146.  
  147.