VOGONS


Reply 60 of 1156, by luckybob

User metadata
Rank l33t
Rank
l33t

Oh, I'm just an amateur at best. I know enough to be dangerous. I know the higher the frequency, the more it matters. I've read that as little as an 1/8th of an inch at 100mhz can knock stuff out of whack. (it was a long while ago, take with a big grain of salt.)

Bare minimum the address and data lines need to be length matched. As many VCC pins as possible need decoupling caps. Look at modern boards, wires will snake back and forth between chips and memory sticks. That's more extreme length matching.

It is a mistake to think you can solve any major problems just with potatoes.

Reply 61 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I have tested the professionally made TI486SXL2-66 QFP144 to PGA132 module in various motherboards. My observations thus far are that it does not work in my one UMC 481/482-based motherboard which contains the Cyrix flush circuit on the motherboard. I'm not sure if there is some other aspect to this motherboard which causes the module not to work, or if the issue is indeed the onboard flush circuit. It does work in my UMC 481/482-based MSI MS-3131 motherboard, which, if I recall, does not contain the conventional Cyrix flush cicuit. The module worked fine in my SiS Rabbit, VIA 495, and MS-3131 boards. I have 3 more motherboards to test it it, which are the Baby Screamer, CHIPS, and SiS460. The SiS460 board is not my favourite board due to its slow speed, however, it does contain the conventional Cyrix flush circuit.

Once I've tested the commercial module on the 3 other boards, I'll start to map out the pins.

So far, the module works just fine at 80 MHz in DOS and Windows 3.11. Not sure if there is much value in trying 100 MHz. Many boards do not like a 50 MHz FSB. An interesting benchmark might be the BL3 at 2x40 vs. the SXL2 at 2x40.

Plan your life wisely, you'll be dead before you know it.

Reply 62 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I recently acquired what looks like a commercially produced version of the SXL2 interposer I had been working on. I had hoped that it contained the voltage regulator for 3.6 V CPUs, however it did not. This is a PGA132 to PGA168 interposer for the 5 V version of the TI 486SXL2.

PGA132_to_PGA168_486SXL2_Interposer.jpg
Filename
PGA132_to_PGA168_486SXL2_Interposer.jpg
File size
421.54 KiB
Views
1811 views
File license
Fair use/fair dealing exception

Ideally, I'd like to run the SXL2-66 at 3.6 V and 80 MHz.

TISXL2-66_PGA168.jpg
Filename
TISXL2-66_PGA168.jpg
File size
309.02 KiB
Views
1811 views
File license
Fair use/fair dealing exception

To do this, I had to add a voltage regulator interposer module. I modified an extra Gainbery PGA168 interposer module to have a variable voltage output and set it for 3.6 V. I also removed the 3 IC's on the Gainbery module. Unfortunately, a few pins on the Gainbery aren't passed through, so I had to wire BUSY# and PEREQ externally, otherwise any FPU calls result in errors. Vcc5 also isn't connected on the PGA132-to-PGA168 interposer, so I wired it to 5 V.

Gainbery_VRM_mod_for_SXL2.jpg
Filename
Gainbery_VRM_mod_for_SXL2.jpg
File size
437.56 KiB
Views
1811 views
File license
Fair use/fair dealing exception

This is what the package looks like in sandwich form.

SXL2-66_Interposer_with_Gainbery_VRM.jpg
Filename
SXL2-66_Interposer_with_Gainbery_VRM.jpg
File size
1.14 MiB
Views
1811 views
File license
Fair use/fair dealing exception

This combination appears to run well at 66 MHz in DOS and Windows 3.11, however I could not get it to function at 80 MHz. I tried two different CPUs. I also tried it at 70 MHz, and while it boots, there are artifacts in Windows 3.11. I am surprised that an extra 3.3 MHz causes instability. Anyone have any ideas on how to get 80 MHz running? Perhaps the extra trace lengths associated with the Gainbery VRM is causing the problem. Or maybe something to do with the IC's on the PGA132-to-PGA168 interposer. It contains 4xNAND gates, a counter, and one unknown. I could remove them, but I don't want to modify this rare item. One other idea might be to run the 3.6V SXL2-66 at 5 V, that is, without the Gainbery interposer. This is probably too risky for me.

On the contrary, the QFP144 version of the SXL2-66 has run just fine for me at 80 MHz.

SXL2-66_QFP144_Upgrade.jpg
Filename
SXL2-66_QFP144_Upgrade.jpg
File size
283.56 KiB
Views
1811 views
File license
Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.

Reply 63 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

On further thought, I suppose it could still be the CPU itself which doesn't handle more than 66 MHz. Looking back, I had a similar issue with IBM 5x86c CPUs, that is, the QFP variants were able to run at 133 MHz just fine, while the ceramic PGA variants all weren't so stable. In that survey, the ceramic chips were a count of 5 and so were the QFP's. Perhaps it has something to do with heat dissipation of the package types?

Plan your life wisely, you'll be dead before you know it.

Reply 64 of 1156, by luckybob

User metadata
Rank l33t
Rank
l33t

Well, you can always make a NO2 cup and see if that helps. (liquid nitrogen cpu cooling)

A little more reasonable would be using a high wattage peltier cooler.

It is a mistake to think you can solve any major problems just with potatoes.

Reply 65 of 1156, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

With respect to the QFP 5x86 CPUs, most of the ones I have seen also have 1996 production codes, whereas the majority of the PGA versions are from 1995.
Supposedly IBM produced the 5x86C in QFP into at least 1998, but I have yet to see one. I guess they are all soldered to laptop motherboards.

I thought that QFP was actually worse at dissipating heat than PGA.
What are the date codes on the chips you are comparing?

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 66 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I have at least half a dozen IBM 5x86c CPUs, with one or two produced in the third quarter of 1996, and none of them run at 133 MHz to the extend that I would call them "stable". I've had 5 QFP IBM 5x86c chips, produced from Dec 1995 to Feb 1996, and all of them tested good at 133 MHz (one died after 150 MHz testing). Now I am noticing a similar positive trend towards the QFP version of the SXL2-66. This is not enough data to draw conclusions, but the results are certainly curious.

I just tried a third PGA168 SXL2-66 at 70 MHz and it failed. Runs great at 66 MHz though. It is actually pretty neat to see Windows perk up with this CPU.

I don't know how to determine the datecode on the SXL2 chips. All three of my PGA168 CPU's say CD3-55A9XLT, while the QFP144 says CD7-63A0R0T. Do you know how to determine the datecode?

I removed the heatsink from on of the PGA168 SXL2 chips, however, the surface is blank.

486SXL2-66_no_heatsink.jpg
Filename
486SXL2-66_no_heatsink.jpg
File size
56.48 KiB
Views
1776 views
File license
Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.

Reply 67 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++
luckybob wrote:

A little more reasonable would be using a high wattage peltier cooler.

My peltier slab isn't in the spot I normally keep it. I recall moving it a few years back thinking "I probably won't need this". I cannot seem to find it after about 40 minutes of searching.

Plan your life wisely, you'll be dead before you know it.

Reply 68 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I mapped out the pins on this PGA132-to-PGA168 interposer. The glue logic onboard is merely a hardware flush circuit and connects the FLUSH# of the CPU. In DOS, if the user doesn't enable the FLUSH# pin, it is not used. In the tests I ran at 70-80 MHz, I did not enable FLUSH#, so I conclude that these extra IC's on the interposer are not responsible for the CPU's inability to run above 66.6 MHz.

Plan your life wisely, you'll be dead before you know it.

Reply 69 of 1156, by cb88

User metadata
Rank Newbie
Rank
Newbie

@feipoia I'm interested in designing the PCB... I'd probably have it made at JLCPCB which is extremely cheap but better quality than Itead/Seedstudio PCBs. Thier 50mm^2 4 layer boards are only $15 for 10pcs. 6 layer same size is $80.

Anyway.... if you already have the pin mappings done that'd help a lot. Also if you have written up any info on the different addon circuits you've tested on the various interposers that info would help too. I've read through this thread a few times already but it would help if it was all in one spot.

I'd be using KiCad 5.0 for the PCB layout since it has length matching now... I figured I'd want put design a VRM into it also as I'd be using it on an Inboard 386 and multiple interposers are best avoided there as it's just gonna make it lopsided. Most of the PCBs I've done are just QFP48 + some passives ... but PGA168 doesn't seem that daunting. I should even be able to export a 3d VRML or STEP model of the PCB.

Also would a PLL be of use? If I understand right you could use one to OC past the bus frequency which might be very useful on the Inboard/386? I'ts going to be a couple months before I have my XT built as I'm rebuilding the PSU currently (there's a thread on vcfed).

Reply 70 of 1156, by luckybob

User metadata
Rank l33t
Rank
l33t

while overclocking would be "cool". I feel it would be putting the cart before the horse. Get a working model first, then worry about superfluous features.

It is a mistake to think you can solve any major problems just with potatoes.

Reply 71 of 1156, by cb88

User metadata
Rank Newbie
Rank
Newbie

I usually make PCBs with features that don't work but can be passively bypassed just for testing... if it works YAY if not ... there's always next time! If a PLL and VRM can be added easily enough... why not assuming they are easy to bypass.

Reply 72 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

cb88 - so you're interested in taking on the CAD work behind this? I'm pleased and saddened at the same time. Pleased because its more likely to be built more quickly, saddened because I wanted to build something for the community. Fact is that I have 3 young kids and absolutely no quiet time at home. Have you designed PCB's with 80 MHz frequencies before? I assume you are familiar with topics like trace-to-trace capacitance issues (like how the resistance between traces drops off radically with increasing freq), cross-talk, PCB dielectrics and spacing, ideal placement of ground planes, impedance matching to reduce TL reflections and ringing, use of differing values of bypass caps, etc. They are subjects I haven't looked into in a very long time now. When I look at my most recently acquired PGA168-to-PGA132 interposer, it is possible that some of these topics weren't addressed and is why it has a hard stop of only 66.6 MHz. Could also be the VRM sandwich or the CPU itself.

Some thoughts on the design are:

1) Perhaps gang up several adjacent Vcc pins and add extra decoupling caps
2) I had tested several VRM's, linear and switching, and ultimately decided upon MIC29302WT. LDO is 0.37 V at 3 A. I over spec'd the VRM a bit hoping to achieve 100 MHz (2x50). I used 10 uF ceramic for Cin and 10 uF tantalum for Cout.
3) I think the design should include the trimmer, as shown in my original post. This lets you up the voltage for over-clocking
4) Include a single pin header which connects to the MEMW# pin. MEMW# is for cache flushing and is not found on the PGA-132.
5) Include a double pin header at 5 V for a CPU fan
6) Leave FLT# floating. There is no FLT# on PGA-132. FLT# contains an internal pull-up to avoid and active low condition
7) All Vcc pins are 3.6 V (via trimmer) except for VCC5 (J1). This should go to 5 V.
8) All other pins are one-to-one from PGA132 to PGA168
9) Ideally, we don't want the final PCB size larger than that of a PGA168 CPU. This will increase the chances of fitting into a PGA132 without banging into some motherboard components. With that same thought, I suggest trying to place the PGA132 centred to that of the PGA168, rather than corner to corner or laterally offset like in the proof-of-concept solder board shown in the original post.
10) The additional circuitry found on the above interposer isn't necessary. I have five 386 motherboards, all of different chipsets, and they all work with the PGA132 version of the SXL2. The PGA132 SXL2 chips do not contain any additional circuitry. Some boards even have the flush circuit build onto the motherboard. The SXL2-66 has the cache flush circuit built into it and that is what the MEMW# jumper header is for. Even if a board doesn't have the flush circuit and doesn't work with the MEMW# method (which is for serial level 2 cache), I have found that the software method to flush the cache (BARB) has almost zero negative impact on performance. I quantified it at one point and I recall it being only a few realtics on DOOM.
11) I suggest using an actual PGA168 socket rather than single or double row SIP sockets. Perpendicular alignment of the SIPs is a little challenging and more time consuming. The PGA168 socket also looks better than the rows. Either way, try to acquire gold-plated female tops and male bottoms.
12) Assuming no fancy business is needed to correct for trace capacitance, reflections, etc, the most difficult aspect of the design is, I think, trying to fit the size restriction of a single PGA168 surface area while keeping the PGA132 pins centred to this. The Transcomputer T486HP was able to accomplish this, so it is doable.

Is KiCAD 5.0 only for Win7 and newer, or does it also work on XP Pro? I currently only have KiCAD version 4.07 installed on my XP Pro machines.

I question the need for a PLL. Are there any 386 motherboards which do not let the user use a 66.66 or 80 MHz crystal? If there are boards which must use a 40 or 50 MHz crystal, then I can see a 2x PLL being of some benefit as it would allow you to run your 386-20 at 80 MHz, or your 386-25 at 100 MHz. All the 386 boards I own have worked with a 66 or 80 Mhz crystal OSC. Some even work with a 100 MHz crystal. The implementation of a PLL will consume PCB real-estate, which you might not have if you are fitting into the size restriction I mentioned above. The other issue with PLL is complexity. In the past, I have attempted to add a 2x PLL to a motherboard in attempt to turn a 33.3 Mhz FSB into a 66.6 MHz FSB, then run an IBM 5x86c at 2x66. This particular IBM 5x86c was shown to work well at 133 MHz, however, I was unable to get it working with the added PLL at 133 MHz. The best I could get it to work at was 25x2x2, or 100 MHz. The PLL was spec'd to handle 66 MHz, and the clocks looked clean. I never figured out the issue and set the stuff away. Here are some screenshots at 33 Mhz in, 66 MHz out and 25/50 MHz in/out. If you've designed circuits around PLL's in the past, perhaps you could give me some pointers as to what I could have been doing wrong? Images are attached.

ADS00003.png
Filename
ADS00003.png
File size
9.25 KiB
Views
1672 views
File license
Fair use/fair dealing exception
ADS00004.png
Filename
ADS00004.png
File size
8.92 KiB
Views
1672 views
File license
Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.

Reply 73 of 1156, by cb88

User metadata
Rank Newbie
Rank
Newbie

Was just reading up on that regulator you suggested, there is a precision reference also suggested for use with it... which may make a difference when OCed since it would enable more stable voltage output (apparently within 25mV).

That PLL output looks pretty good I'd say... perhaps something else was the issue? I do see that the voltage is higher on the PLL output perhaps it didn't like the higher slew rate dunno?

So as you say the TI chips should work with just a passive interposer... however what of other 486 chips? It would be nice if this adapter wasn't just single purpose. I would think those circuits are needed on some board or certain chips right? Regardless support for other CPUs can always be added later I guess.

I think I'll try and identify the most timing critical IO and route that first, the stuff I'm unsure of then stuff that almost certainly doesn't matter that much. Most of that should be pretty obvious. I'll probably make it a 4 layer board with dedicated power/ground planes. Or at least sizeable copper pours for power. Which should help avoid crosstalk as well definitely something you wouldn't be able to do on your hand wired version.

Sourcing the PGA-132 seems a bit expensive... I may attempt with SIP etc 😒 worst case I waste a board.. initially I think I can get the 168 pin easily though.

I am not sure if KiCad 5.x runs on XP... I run it on win7 at work, and win10 + Gentoo sparc64 and x64 at home. I think the answer is probably but it isn't tested. I'll check tomorrow and let you know!

Regardless of if you can open the project or not, at least you can view gerbers etc...

Also consider that 3 young kids are themselves a contribution to the community... train them up well!

Reply 74 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

In terms of overclocking, I wouldn't want to run a TI 486SXL2-66 at more than 4 V. Long-term, I wouldn't want to run it at more htan 3.75 V.

I don't know what went wrong with the PLL. I also tested a company-produced interposer board which contained an onboard extra 2x PLL for use with Cyrix 5x86 chips. While it worked fine at 2x25x2 for 100 MHz, it too would not function at 2x33x2 for 133 MHz.

The PGA132 to PGA168 interposer would be only for the SXL2. This will keep the profile small. For making an all purpose interposer, you might want to look into copying the five PAL chips on the Transcomputer module, shown here, download/file.php?id=35949&mode=view This module works great with an Am5x86 at 160 MHz, however it would not show any signs of life with a SXL2 installed.

I agree, sourcing a PGA-132 male-to-male could be tricky.

Once you've matched the lengths with Kicad 5.0, is it possible to save as Kicad 4.0? I used to do this a lot with LabVIEW. Usually going one version back wasn't much of an issue.

Plan your life wisely, you'll be dead before you know it.

Reply 75 of 1156, by cb88

User metadata
Rank Newbie
Rank
Newbie

See if you can open this?

https://drive.google.com/open?id=1-gOrLjH_5O0 … xuQ_pfxkX0Uje3I

That was created in Kicad 5.0 also created a step model of the board with the FreeCad KiCad StepUp plugin (creates smaller step files than the built in exporter). Note this is just my intial fooling around... the PGA is actually the wrong one as the 168pin one would be on the top and I haven't decided how I'm going to solder the pins to the bottom yet. I also grabbed a 3d model of an SMD PGA adapter from Preci DIP.

Also note that that PGA footprint is correct I believe I have the alphanumeric - ambiguous letters on the primary axis and 1-14 on the secondary same as in the TI datasheet. I'll see about doing the same for the 168pin part tomorrow. Changing this footprint to something else is as easy as opening the footprint deleting all but A1, modify A1 to suit recreate the grid and delete all but the outer 3 rows ... signing off for the night!

Edit: 30min later, I couldn't help myself just finished the first revision of the 168pin footprint S-A on the left hand size and 1-17 across the bottom just like the TI datasheet. So, with a bit of tedious work I should be able to map them together. I'll just tag up each part with global labs with the signal names. Attached below is the output of KiCad's fancy new raytracer that is built into the 3d viewer now.

Attachments

  • interposer_mockup.jpg
    Filename
    interposer_mockup.jpg
    File size
    140.05 KiB
    Views
    1642 views
    File license
    Fair use/fair dealing exception

Reply 76 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I am able to open the electronic schematic editor (Eeschema), with a warning saying the file was created on a newer version.

When I try to open the printed circuit board editor (pcbnew), I get an error: Error loading board. KiCad was unable to open this file, as it was created with a more recent version than the one you are running. To open it, you'oll need to upgrade KiCad. Oh well.

Looking at the PCB calculator, it seems like a lot (all?) parameters are calculated for you based on user inputs, like current, temp rise, trace length, and resistivity. It then tells you what trace width, thickness and spacing to use. So looking at some of these inputs, I would probably pick a maximum freq. of 100 MHz.

As for the max current draw, some estimate will be needed. From the SXL2 data book, we see that a 3.3 V CPU at 40 MHz will have a max draw of 400 mA. At 50 MHz, 500 mA. We don't have any data for 66, 80, or 100 MHz, nor for 3.6 V - 4.0 V operation. I'm guessing 3.3 V at 100 MHz would be 1000 mA. At 3.6 V, perhaps 1100 mA? At 4 V, perhaps 1400 mA? This uncertainty is why I had sourced a 3 A max regulator rather than a 1.5 A. There is a 1.5 A version (2915x) which is probably fine though. I tested the 3A version it under loads of 730 mA and 360 mA and the output voltage didn't change at all.

For mounting the VRM, I was wondering if it would be possible to surface mount it inside the PGA168 socket? Not as ideal for heat dissipation, but I see it done all the time with 486 interposers running Am5x86 and Cx5x86 chips. If the VRM can be surface mounted inside the PGA168 socket, there are TO-252 and TO-263 variants available. I believe TO-252 is slightly smaller than TO-263. I think the top tab is also GND, so have some GND pad available to solder it to. It would also be nice to do away with the trimmer for a cleaner look. I originally thought about using a jumper block for voltages, 3.3 V, 3.45 V, 3.6 V, 3.7 V, 3.8 V, and 3.9 V. This would require 6 different resistors and a jumper block, so it doesn't really save space over the trimmer. However, you would be able to conceal the jumper block under the CPU. Rather than a jumper bock, there are low profile dip switches I've seen fit under the CPU on the Trinity Works Powerstacker; it contains 6 switch positions. So on the surface, we'd just have a 3-pin jumper, one pin for MEMW# and the other two for 5V and GND (fan).

By the way, on my prototype, I am using a 121-ohm resistor for R2, a Bourns PV36 500-ohm trimmer (currently set around 230-ohms). Vref=1.24 V.

I'll try to install KiCAD 5.0, however, I doubt it will work on XP. EDIT: When I look at the Kicad homepage, it says that version 4.0.7 is current stable release for Windows 32-bit and 64-bit and Ubuntu.

Plan your life wisely, you'll be dead before you know it.

Reply 77 of 1156, by cb88

User metadata
Rank Newbie
Rank
Newbie

Yeah 5.0 is the nightly build but it's soon to be released so is relatively stable. Currently do note that installing it on a machine that already has kicad you should follow a guide for doing it as there are environment variable changes etc.. and large symbol library changes.

Also I just loaded up Kicad Nightly on XP and it seems to work fine... the ray tracing engine crashes and the 3d render is a bit glitchy but that could just be because of software rendering. Use a graphics card with OpenGL 2.1+ and you'll get accelerated canvas support which makes it alot snappier to use.

Reply 78 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Are you saying that uninstalling 4.0.7 will be insufficient?

My system doesn't have the fastest graphics card, but does support OpenGL 3.3. My Opteron 185 system has a HD4350 and my laptop has a Quadro NVS 140M. Both are OpenGL 3.3.

Plan your life wisely, you'll be dead before you know it.

Reply 79 of 1156, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I just noticed someone selling the SXL2-66 on eBay in pairs for $29 USD. He has 128 pairs. That is probably more than enough for anyone interested in 386 upgrades to have one. The only missing link is the interposer module. So far all these PGA168 SXL2-66 chips seem to be NOS. Makes me wonder what happened. Did some company buy them thinking they were i486SX compatible, found out they weren't, then stuffed 'em all into storage?

Plan your life wisely, you'll be dead before you know it.