Article View: sci.electronics
Article #10949Re: GAL tristate question
From: Juerg Stettbacher
Date: Thu, 01 Oct 1992 09:56
Date: Thu, 01 Oct 1992 09:56
50 lines
2635 bytes
2635 bytes
John Haddy (johnh@macadam.mpce.mq.edu.au) wrote:
:
: We've relatively recently started using GAL's from Lattice in our designs. For,
: the first time, our latest project had cause to use the tri-state feature of
: 16V8's and 22V10's (i.e. having a product term control the .OE line).
:
: We use CUPL to compile the source to a JEDEC file, and a Logical Devices ALLPRO
: to program them.
:
: The problem is: while the pins without .OE control function perfectly, those
: which we do wish to tri-state don't seem to.
:
: In one case, an output should go Hi-Z when a switched input is active. However,
: the line stays permanently high, and cannot be pulled low with a resistor to
: ground.
Hi John
The GAL 16V8 and 20V8 have output logic macrocells (OLMC). These cells can be
configured in different ways using the flags SYN, AC0, AC1(n):
- SYN = 1, AC0 = 1, AC1 = 1: Combinational output.
OE- not in use. Output driver controlled by a product term (from logic
matrix).
- SYN = 1, AC0 = 1, AC1 = 0: Cell disabled.
- SYN = 0, AC0 = 1, AC1 = 1: Combinational output in registered mode.
OE- not in use for this cell. Output driver controlled by product term.
- SYN = 0, AC0 = 1, AC1 = 0: Registered mode.
Output driver controlled by OE- pin.
- SYN = 1, AC0 = 0, AC1 = 0: Combinational output.
Output driver allways active.
- SYN = 1, AC0 = 0, AC1 = 1: Input pin.
Output driver allways turned off.
- SYN = 0, AC0 = 0, AC1 = 1: Input pin.
Output driver allways turned off.
- SYN = 0, AC0 = 0, AC1 = 0: Combinational output.
Output driver allways turned on.
In fact there are some more differenced between the operation modes as
described above (the pin feedback as an example). Furthermore the 8 OLMC
are not all identical. Check a data book about this.
How to program the SYN, AC0 and AC1(n) flags? Check the description of
your programming tool. (Sorry I use a different one.)
As far as I know, most tools use extentions within the pin definition
section of your source code.
Good luck
juerg at ethz switzerlan
Technical Details
Message-ID:
<1992Oct1.095659.6080@bernina.ethz.ch>Path:
arc1-ca.pugleaf.net!sparky!uunet!news.univie.ac.at!chx400!bernina!isibee7!stettbacReferences:
<1992Sep30.224651.16459@mailhost.ocs.mq.edu.au>Show Full Headers
Complete Article Headers
Newsgroups: sci.electronics Path: arc1-ca.pugleaf.net!sparky!uunet!news.univie.ac.at!chx400!bernina!isibee7!stettbac From: stettbac@isibee7 (Juerg Stettbacher) Subject: Re: GAL tristate question Message-ID: <1992Oct1.095659.6080@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: Swiss Federal Institute of Technology (ETH), Zurich, CH X-Newsreader: TIN [version 1.1 PL6] References: <1992Sep30.224651.16459@mailhost.ocs.mq.edu.au> Date: Thu, 1 Oct 1992 09:56:59 GMT Lines: 50