Community project? NuBus-to-SPI interface... aiming toward ESP32-based WiFi card

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
371
608
93
Columbus, Ohio, USA
@Zane Kaminski Does it mean that you have the NuBus hardware working already ?
Nope, not yet. My methodology is a little bit more "waterfall" as opposed to "agile." I could pull the trigger on the hardware now, but what if there's an issue with the hardware that presents itself during software development? It's not too expensive to respin the board but I find it better to sort of work toward the solution from all angles (hardware, Mac software, ESP32 software, mechanical, etc.) until completion of the minimum viable product is basically within striking distance in all areas. Only then am I gonna pull the trigger on the hardware and begin integration. I've made the mistake in the past of "finishing" the hardware too soon and then some other issue arises and I have to redo the hardware, spend more money, something along those lines, and oftentimes the project has ended up cancelled or abandoned.



With this project in particular, the “all 74xx” approach is cute but the total chip count has grown to 40 chips. Maybe I should be using a CPLD or FPGA instead. It might be slightly more costly and proprietary but there would be far fewer total pins on the board. The decision is complicated by the uncertainty in when the chip shortage will end. As it stands, some ship dates are like 2 years out. With Xilinx Spartan-6 FPGA for example, I think the current estimated ship date is past the guaranteed EOL date. In nominal conditions it would be expected that Xilinx would commit to another 5 years or so of availability for Spartan-6 but many customers are afraid that Xilinx will ship a few final batches of S-6 and then discontinue it. Similarly on the small FPGA/CPLD side, Altera was about to unceremoniously discontinue the (3.3V) MAX II were it not for an outcry from their customers.

So does anyone have any thoughts as to whether I should keep going with the 74xx approach or switch to maybe a Lattice CPLD/FPGA? Bear in kind that 6-8 level shifting buffers will still be required even with the FPGA, but currently there are 37 74xx chips on the board. So an FPGA would bring a big reduction but the 74xx chips won’t be completely gone.
 
Last edited:

Melkhior

Tinkerer
Jan 9, 2022
98
49
18
I could pull the trigger on the hardware now, but what if there's an issue with the hardware that presents itself during software development?
I'm the same with my FPGA-based design - I like to make sure all the other bits (gateware, firmware) are either done or sufficiently de-risked to commit to some hardware. The time-to-market is probably not so important for those projects so everything can be serialized :)

With this project in particular, the “all 74xx” approach is cute but the total chip count has grown to 40 chips. Maybe I should be using a CPLD or FPGA instead.
Well, I'm going with a FPGA-based approach for my own design (status on 68kmla). So if (big one!) it eventually works, it might be a proof-of-concept/starting point for future designs. My current approach involves an off-the-shelf FPGA board on a custom NuBus carrier, making it somewhat bulky (but it works fine for the SBusFPGA in my SPARCstations). However, it should be possible to design a 'full-custom' board with everything on the NuBus board itself - but as my primary FPGA is an Artix-7 with some DDR3 memory attached, the PCB would be quite complex to design (6-8 layers at least and a lot of proper routing/length-matching for the high-speed DDR signals, not to mention the power sequence/supply).
 

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
371
608
93
Columbus, Ohio, USA
After much deliberation I've decided I should redo this project using a small FPGA instead. The 74xx design is okay but it has too many chips and soldered pins. I'll update with a new schematic and board layout soon.
 
  • Like
Reactions: cy384

Jamieson

New Tinkerer
May 3, 2022
17
11
3
Batavia, IL
Great project! I like the idea of the ESP32 inboard with a coax pigtail to the antenna mounted to a metal bracket.

Xilinx Spartan-6 FPGAs were mentioned a few posts back, just heads up, we were told by Xilinx directly that these parts are now totally obsolete and unobtainum. At work I'm working respinning several PCBs to switch to Spartan-7 and Artix-7 parts (which are still showing 52 week lead times!)
 

Melkhior

Tinkerer
Jan 9, 2022
98
49
18
@Zane Kaminski Any news on the fpga-based alternative?

On a related note, any idea how many signals would be needed between the FPGA and the ESP32 module? I'm thinking about a V1.2 of the NuBusFPGA that would remove the CPLD and VGA connector and gain a 12-signals Pmod-like connector. That's enough for a RMII interface so possibly 10/100 Ethernet, but I don't know what WiFi would need. V1.2 would still use the ZTex 2.13 FPGA board, integrating the Artix-7 is still way above my hobbyist PCB skills (@Jamieson: I suppose the PCB redesigns are work stuff?)
 

cy384

New Tinkerer
Nov 18, 2021
18
18
3
USA
www.cy384.com
Any news on the fpga-based alternative? ...
On a related note, any idea how many signals would be needed between the FPGA and the ESP32 module? ...
I think the availability for FPGAs is still absolutely awful, very bad year for hardware.

I think the esp32 was going to be connected via SPI, so just a few pins, and probably pretty easy to add to an FPGA project.
 

Melkhior

Tinkerer
Jan 9, 2022
98
49
18
I think the availability for FPGAs is still absolutely awful, very bad year for hardware.
Still terrible, yes. But it seems to be to be getting a bit better for some hardware; I can now get a quote for the full BoM of the NuBusFPGA, whereas earlier this year it was nearly impossible. Power circuitry in particular seems to be improving.
I'm not sure why the situation is so dire for some FPGAs. For instance, Artix-7 are 28nm I think, and TSMC is trying to move designs from older nodes to 28nm so there should be some available capacity... LCSC has some stock available, but the prices are bonkers (XC7A35T-2FTG256C listed at $693 with 14 pieces... digikey has no stock but lists at only 50€ ! and that's more that what I remembered...). I guess there's other supply chain issues slowing down production.
I was considering some Trenz board (probably the TE0712) for an updated SBusFPGA, but there's almost never any stock despite some design revision to help with the BoM, so that's on the back burner.
I think the esp32 was going to be connected via SPI, so just a few pins, and probably pretty easy to add to an FPGA project.
If it's just SPI then yes, probably pretty easy and not resource-intensive - Litex has a SPI core. But is that fast enough for WiFi ? Not that 68k Macs requires high-speed networking ;-)
 

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
371
608
93
Columbus, Ohio, USA
Yeah, I would have just done the design but it's not clear to me what kinds of FPGAs will actually be cheap and available in the future. Pre-2020 I'd have used the Altera Max II EPM240. The cost was under $3 each and it would have worked well for this. Now Lattice and Xilinx are both quoting something like a one year lead time for their low-end chips. The chip shortage sucks! I'm looking forward to a possible "chip glut" although many caution that it may not happen, or at least in the way we might be hoping for--lots of stock at LCSC, Digi-Key, etc. for cheap. So a new FPGA-based design will have to wait until the market clears up a little more and I can figure out what chip I should use.

In the meantime, 74xx chip prices have decreased but it's still $15 of 74xx chips on the current design for the NuBus-SPI interface. Not as bad as a few months ago (I recall it being $30+ of 74xx) but not great. The boards are large (expensive) too, like 200mm x 100mm. Maybe I'll get some of the current 74xx design made but I'll have to really check over the design first to make sure there are no mistakes. We should also do mechanical fitment testing first with a dummy board.
 

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
371
608
93
Columbus, Ohio, USA
Atmel's ATF16V8 GAL substitute is fairly plentiful. I see a total 13,000 units of ATF16V8BQL-15PU in stock at Mouser and Microchip Direct. So looked at replacing the 74xx control logic with a GAL or two. Unfortunately I could only replace 8 74xx gate and flipflop chips using two GALs. So maybe that's a good idea but it doesn't really reduce the BoM cost (if at all) since the GALs cost like $1.50 and the eight 74xx chips might have even cost less than $3 total. Thus it only really reduces the board complexity.

We would be replacing these eight chips outline in red with two GALs in DIP sockets (shown on the left). We also get to eliminate six decoupling caps.
Screen Shot 2022-11-04 at 6.32.36 PM.png

Well, we get to eliminate 84 soldered pins in net but it's not a great improvement compared to the overall number of soldered pins (1058 SMD and through-hole pins). Since the majority of the 74xx chips are registers for the SPI transfer and for demuxing the address, using a GAL won't help since those have the same number of registers as a 74xx chip with the same pin count. Basically this means we can't replace the big array of 22 chips in the middle.

Hmm.... There are really no great options here. Maybe I'll swap for the GALs but that's more as insurance against making a mistake in the 74xx wiring than what I actually would want from this design.
 
Last edited: