Use LS, HC, or HCT for homemade computer GLUE logic? - Page 1
Forum section: electronics / beginners

author: JasonRP
author_rank: Newbie
timestamp: July 02, 2016, 06:46:56 pm
content: Hi Folks,I am building myself a retro-style, single board computer. I've picked a 65C02 for the microprocessor, have 32K static RAM, and up to 32K ROM possible. I want to pick out the right chips for the GLUE logic, to minimize propagation delays, because I couldn't resist the temptation to perhaps overdo the logic levels a little bit in order to spell out exactly what I wanted for the memory map.I've always been under the assumption that HCT parts would be faster than LS parts (I'm using 7400, 7404, 7432, and 74138)..However, when reading the datasheets, somehow the 7400 LS part is MUCH faster than the 7400 HCT part I am comparing it to, which makes my assumption seem wrong.. And, I also see HC parts.. Google searching this stuff has got me even more confused: HCT is for TTL? I'm using the GLUE logic with RAM and ROM chips that are CMOS, so this may not matter?Can anyone summarize what the differences are between LS, HC, HCT, etc?Which is fastest? Which do I want?Thanks!JasonPS: If you want to see what I've come up with so far with this computer build, here is my youtube channel where I've so far documented it:https://www.youtube.com/channel/UCMZK0Uxfzq5eCyX5JoOO4qA

author: wraper
author_rank: Unknown
timestamp: July 02, 2016, 07:01:59 pm
content: LS are old TTL series. HC are CMOS, HCT are the same as HC but with TTL compatible inputs. There are faster CMOS series, for example 74VHC

author: coppice
author_rank: Super Contributor
timestamp: July 02, 2016, 07:05:35 pm
content: The 74LS00 has a typical switching time of 9ns, and a maximum of 15nsThe 74HCT00 has a maximum switching time across the temperature range of 8ns.How is the LS part much faster?

author: edavid
author_rank: Super Contributor
timestamp: July 02, 2016, 07:32:03 pm
content: Quote from: coppice on July 02, 2016, 07:05:35 pmI'm not sure where you found that, if you look at theSN74HCT00datasheet, the maximum switching time is 25ns at 4.5V, 50pF. Of course under typical conditions, it would be faster.For the OP, you are right, there's no general rule, and little standardization between vendors, but in practice you will find that HC and HCT parts are faster than LS. If you need even more speed, you can use AC/ACT/VHC/VHCT logic.If you are really using all CMOS LSI parts, HC would be better than HCT, but it doesn't make much difference, and HCT parts can be easier to find.

author: Ian.M
author_rank: Super Contributor
timestamp: July 02, 2016, 07:45:22 pm
content: The 65C02 is designed to drive a single TTL gate from any output. The lower loading of 74HC or 74HCT logic will give you more design flexibility. As your CPU's output drive characteristics are asymmetric (Voh_min 2.4V @-100ua, Vol_max 0.4V @1.6mA), it is best matched to 74HCT logic.

author: bktemp
author_rank: Super Contributor
timestamp: July 02, 2016, 07:48:04 pm
content: I wouldn't use faster logic than necessary, because faster logic has faster rise/fall times and faster switching speeds generate more noise, making the pcb layout more difficult.Using fast CMOS logic together with the pcb layout style used for TTL does not work very well.HC/HCT are ok, but when using AC, AHC, VHC at 5V you need to be very careful when designing the pcbs.

author: edavid
author_rank: Super Contributor
timestamp: July 02, 2016, 09:19:53 pm
content: Quote from: Ian.M on July 02, 2016, 07:45:22 pmAre you looking at an old datasheet? The current W65C02 datasheet specs IOH@ VDD-0.4V:http://www.mouser.com/ds/2/436/w65c02s-2572.pdf

author: JasonRP
author_rank: Newbie
timestamp: July 02, 2016, 09:50:42 pm
content: Wow- thanks so much for the replies guys! Active community here, which is fantastic!Maybe I'm looking at an old datasheet, but the 74LS00 one I've linked below shows (on the bottom of page 2) 15ns max time, which seems a bit fast for an LS?http://putnamelectronics.com/74LS00.pdf..I've found 74HCT00 that are essentially no faster? Of course, I could be reading things wrong...Jason

author: Kalvin
author_rank: Super Contributor
timestamp: July 02, 2016, 09:53:24 pm
content: Quote from: bktemp on July 02, 2016, 07:48:04 pm+1 Words of wisdom here

author: Ian.M
author_rank: Super Contributor
timestamp: July 02, 2016, 10:00:17 pm
content: I quoted the output specs from a 1987 Rockwell R65C02 datasheet, which was about when I was last messing around with 6502 systems.. The O.P. didn't state which manufacturer's 65C02 he has. I *ASS*U*ME*d that for a retro-computer design he'd be using old parts where possible. However as you have pointed out, the modern W65C02 has much better Voh drive capability and if the memory has CMOS thresholds, it would be vastly preferable to use it with 74HC glue logic.

author: JasonRP
author_rank: Newbie
timestamp: July 02, 2016, 10:27:29 pm
content: I should have given more details. I am trying to be retro style, but, I bought a WDC 65C02 because that is what was available. Running it 1-4MHz

author: Ian.M
author_rank: Super Contributor
timestamp: July 02, 2016, 11:06:30 pm
content: Well worth it as the W65C02 is fully static, so its much easier to slow it down to a crawl or even single step it compared to the old Rockwell version or even the original NMOS 6502.

author: edavid
author_rank: Super Contributor
timestamp: July 03, 2016, 01:34:00 am
content: Quote from: Ian.M on July 02, 2016, 10:00:17 pmWikipedia says the "modern" W65C02 is a 1978 design

author: SeanB
author_rank: Super Contributor
timestamp: July 03, 2016, 07:10:43 am
content: I would use the LS or HCT parts, as they are pretty much going to have the same delay. The HC parts are slightly slower, as they are really designed to run off a 5-15V rail, while the HCT are only rated for 5-7V operation. If doing a lot of address decoding ( like stacking a few 74XX138 in series), then please use an AC part, and really good decoupling around the chips, so the delay throughout the entire decoder array is only as much as a single LS part.Please use bus buffers on all outputs of the 65C02, right by the chip, and use the newer HCT 5xx series, as they do make layout of the board a whole lot easier as paths flow through the chip as opposed from looping inside each pair of pins. You can use the same bidirectional buffers on the address lines as well, just tie direction using a pull up to Vcc, and remember enable so DMA if used can also tristate the lines. This will improve the address decode as you get a faster edge out of the CPU than what the small on die drivers can provide to the bus.

author: bktemp
author_rank: Super Contributor
timestamp: July 03, 2016, 07:22:29 am
content: Quote from: SeanB on July 03, 2016, 07:10:43 amHC are rated for 2-6V operation, HCT for 4.5-5.5V (same as TTL).Only the 4000 series is rated for operation at up to 15V.

author: newbrain
author_rank: Super Contributor
timestamp: July 03, 2016, 09:15:19 am
content: At the risk of being laughed out by the rest of the community, I'll tell what I did many years ago when building a 68HC11 SBC: apart from the mandatory octal address buffer, i used no other glue logic chip.A CPLD, of course, some will say!Well...almost.I had no access to a programmer...Actually a small flash (still larger than 64K), A0-A15 over the HC11 address bus, /OE and /CS permanently tied to GND, so I had eight chip selects (the flash data bus) available and freely definable over the whole address space, with one address position granularity.The combined access times for the actual memories or peripherals and the address decode one was well within the specs of the mcro, and the complete flexibility and simplicity of the schematic were quite nice.

author: Kleinstein
author_rank: Super Contributor
timestamp: July 03, 2016, 06:36:44 pm
content: With just a single RAM, a single ROM (Flash/EPROM) and a few IO chips, you may get away without bus drivers, if the board is not that large. Decoding for the IO chips might be a little more difficult, as IO is memory mapped at the 6502 - so you can't have 32 K + 32 K + IO. More likely 32 K + 16 or 24 K + IO.There is no big difference speed wise between 74LS / HC or HCT.

author: rob77
author_rank: Super Contributor
timestamp: July 03, 2016, 07:07:58 pm
content: just one note regarding HC and HCT...HCT is TTL compatible , so more than 2V is high and less than 0.8V is low.HC is CMOS compatible, more than 2/3 of VCC is high and less than 1/3 of VCC is low.if your CPU's datasheet guarantees only 2.4V drive on outputs (as you mentioned) then you might have big troubles with driving HC gates reliably (2/3 of VCC @ 5V is ~ 3.3V) therefore HCT or LS is a must.

author: magetoo
author_rank: Frequent Contributor
timestamp: July 10, 2016, 09:06:02 pm
content: Quote from: JasonRP on July 02, 2016, 06:46:56 pmHead on over tothe 6502.org forumsif you haven't already, there are lots of people there who have done or are doing the similar things. There's lots of information there.I've been meaning to build a 65C02-based system too, and I'll probably just go with HC logic. Should work well enough for a couple of megahertz.Quote from: bktemp on July 02, 2016, 07:48:04 pmIs AHC/VHC really that sensitive? I was under the impression that they are pretty forgiving, like HC but faster.(AC seems like a pain. The one guy on 6502.org who keeps telling everyone they must use AC logic to go fast is also the one who has all the stories about problems with decoupling and layout and constantly tells people "that won't work".)Buildinga VGA graphics system(warning: breadboard gore) running at 20 MHz on half a square meter of breadboards with air wires and minimal decoupling, on the other hand - that seems to have worked just fine with HC.

author: bktemp
author_rank: Super Contributor
timestamp: July 11, 2016, 06:58:58 am
content: Quote from: magetoo on July 10, 2016, 09:06:02 pmAC and AHC (AHC are much worse then AC) have very fast rise/fall times at 5V. That leads to several problems:If you have long traces, you will get reflections if you don't terminate the signals correctly. So using AC/AHC as a line driver for cables without terminating resistors is a bad idea.If you have a bus with many parallel signals, there will be a huge spike whenevel many signals switch at the same time (worst case 0x00->0xFF or 0xFF->0x00 for an 8bit bus), leading to ground bounce effects. If there is no continuous ground plane it will introduce noise into some parts of the circuit by shifting its ground level up or down for a short time.If you need high speed logic, I would recommend using LVC running at 3.3V.

author: poorchava
author_rank: Super Contributor
timestamp: July 11, 2016, 07:59:36 am
content: HCT are good for level translation between 5V and 3.3V domains (HCT being powered from 5V). I prefer to use HC when symmetry is desired (for example when implementing an oscillator)Sent from my HTC One M8s using Tapatalk.

author: magetoo
author_rank: Frequent Contributor
timestamp: July 11, 2016, 09:22:26 am
content: Quote from: bktemp on July 11, 2016, 06:58:58 amI've seen the opposite stated in app notes. Maybe I'm reading the graphs wrong, but for example in TI'sAHC/AHCT Designer's Guidethe slope of the curves of rise/fall times (slew rates) look almost identical to HC, and AC is a mess. Is it different in practice?Only one way to find out I suppose.QuoteLVC looks really good. And the single-gate LVC packages even do 5V, so that seems to be the fastest logic family available for people like me and the OP. (Most 8-bit designs still tend to be 5V.)

author: bktemp
author_rank: Super Contributor
timestamp: July 11, 2016, 10:22:20 am
content: Quote from: magetoo on July 11, 2016, 09:22:26 amIt's a long time since I last used AHC series (they seem to be quite rare, I haven't seen much AHC logic being used, most likely because the industry switched to LVC running at 3.3V).I don't remember exactly why I was using AHC, but it didn't work correctly and the output signals looked bad. Maybe I was misleaded by the wobbly transition shown in the Switching Characteristics Comparison.The appnote is an interesting read, because only comparing datasheets AHC and AC look quite similar and there is no mention of the slewrate. Only the total propagation delay is specified.