Although they're sold under the PIC brand name they have very little in common with the 8/16 bit PIC MCUs. They're fully pipelined processors with quite a bit of horsepower.
The PIC32MX family was the first to be introduced, back in 2009 or so. They're a MIPS M4K core at up to 80 MHz and max out at 128 KB of SRAM and 512 KB of NOR flash plus a fairly standard set of peripherals.
PIC32MX microcontroller |
Somewhat disappointingly, the PIC32MX MMU is fixed mapping and there is no external bus interface. Although there is support for user/kernel privilege separation, all userspace code shares one address space. Another minor annoyance is that all PIC32MX parts run from a fixed 1.8V on-die LDO which normally cannot (the 300 series is an exception) be disabled or bypassed to run from an external supply.
The PIC32MZ series is just coming out now. They're so new, in fact that they show as "future product" on Microchip's website and you can only buy them on dev boards, although I'm told by around Q3-Q4 of this year they'll be reaching distributors. They fix a lot of the complaints I have with PIC32MX and add a hefty dose of speed: 200 MHz max CPU clock and an on-die L1 cache.
PIC32MZ microcontroller |
On-chip memory in the PIC32MZ is increased to up to 512 KB of SRAM and a whopping 2 MB of flash in the largest part. The new CPU core has a fully programmable MMU and support for an external bus interface capable of addressing up to 16MB of off-chip address space.
I'm a hacker at heart, not just a developer, so I knew the minute I got one of these things I'd have to tear it down and see what made it tick. I looked around for a bit, found a $25 processor module on Digikey, and picked it up.
The board was pretty spartan, which was fine by me as I only wanted the chip.
PIC32MZ processor module |
Without further ado, here's the top metal shots:
PIC32MX340F512H |
PIC32MZ2048ECH |
From an initial impression, we can see that although both run at the same core voltage (1.8V) the MZ is definitely a new, significantly smaller fab process. While the top layer of the MX is fine-pitch signal routing, the top layer of the MZ is (except in a few blocks which appear to contain analog circuitry) completely filled with power distribution routing.
Top layer closeups of MZ (left), MX (right), same scale |
Thick power distribution wiring on the top layer is a hallmark of deep-submicron processes, 130 nm and below. Most 180 nm or larger devices have at least some signal routing on the top layer.
Looking at the mask revision markings gives a good hint as to the layer count and stack-up.
Mask rev markings on MZ (left), MX (right), same scale |
Enough with the top layer... time to get down! Both samples were etched with HF until all metal and poly was removed.
The first area of interest was the flash.
NOR flash on MZ (left), MX (right), different scales |
The white cylinders littering the MX die are via plugs, most likely tungsten, left over after the HF etch. The MZ appears to use a copper damascene process without via plugs, although since no cross section was performed details of layer thicknesses etc are unavailable.
The next target was the SRAM.
6T SRAM on MZ (left), MX (right), different scales |
Cell pitch for the MZ is 1345 x 747 nm (1.00 μm2/bit) while the MX is 1895 x 2550 nm (4.83 μm2/bit). This is a 4.83x increase in density.
The last area of interest was the standard cell array for the CPU.
Closeup of standard cells on MZ (left), MX (right), different scales |
Both devices also had a significant number of dummy cells in the gate array, suggesting that the designs were routing-constrained.
Dummy cells in MZ |
Dummy cells in MX |
In conclusion, the PIC32MZ is a significantly more powerful 130 nm upgrade to the slower 250 nm PIC32MX family. If Microchip fixes most of the silicon bugs before they launch I'll definitely pick up a few and build some stuff with them.
I wasn't able to positively identify the fab either device was made on however the fill patterns and power distribution structure on the MZ are very similar of the TI AM1707 which is fabricated by TSMC so they're my first guess.
For more info and die pics check out the SiliconPr0n pages for the two chips:
Great dissection, thanks.
ReplyDeleteWhere did you get your electron microscope?
I used a SEM in a lab on campus at RPI. I want one of my own but that will have to wait until I have a real job and more cash than I do now.
ReplyDeleteOn an unrelated note the die corners look different from other TSMC chips I've seen so I'm starting to think it might be another fab. I have very few 130nm devices in my collection right now so it's difficult to find samples for comparison.
Do you think the new process was a factor in why the MZ turned out to be such a fiasco?
ReplyDeleteWhat fiasco? a google returned nothing meaningful
DeleteNo, it may have played a role in lead time but 90/130nm are very mature nodes and I doubt there's much risk in a tapeout there from the foundry's side.
ReplyDeleteFrom what I know the issues are all either silicon layout bugs or HDL logic errors.
so since EBI is not available in PIC32mx can i use SPI to connect 1GB external flash. should i write a driver for the same.
ReplyDeleteIf you can find a SPI flash that large. Most of that size are parallel.
DeleteTo be clear, PIC32MX does have an external parallel port for things like parallel NOR flash, it's just more limited since you don't have a programmable MMU.