xref: /openwifi/doc/asic/skywater-130-pdk-and-asic-considerations.md (revision b1d5889fb5138bd48cbfb11eb99919e971b3b412)
1*b1d5889fSJiao XianjunHello,
2*b1d5889fSJiao Xianjun
3*b1d5889fSJiao XianjunThe skywater PDK and free MPW shuttle are interesting.  And indeed we are asked many times to consider sky130 or other ASIC process MPW.
4*b1d5889fSJiao Xianjun
5*b1d5889fSJiao XianjunWe do agree that building a real openwifi chip will probably (or not) mean a lot for the community, user and the world.
6*b1d5889fSJiao Xianjun
7*b1d5889fSJiao XianjunBut, due to our limited bandwidth, currently we are focusing on making the openwifi IP more stable/mature/as-good-as COTS WiFi chip by using the FPGA verification platform, so we haven’t found time to take a look at a real WiFi chip design yet.
8*b1d5889fSJiao Xianjun
9*b1d5889fSJiao XianjunWiFi chips could be as cheap as 0.5USD, but it doesn't mean the WiFi chip is simple. This is contrary to many people’s minds. I tried to explain the complexity of the WiFi chip in some videos, such as the FOSDEM and Libreplanet videos on this page: https://github.com/open-sdr/openwifi/blob/master/doc/videos.md . The WiFi chip is cheap only because they are sold so many per year. From this perspective, the WiFi chip is really an essential tiny thing of the modern world.
10*b1d5889fSJiao Xianjun
11*b1d5889fSJiao XianjunBut we are definitely glad to support/answer-questions if someone else could jump in and do a solid analysis on the ASIC design effort. Some hints:
12*b1d5889fSJiao Xianjun
13*b1d5889fSJiao Xianjun1 . The info and communication hub is our github: https://github.com/open-sdr/openwifi . The FPGA code is in https://github.com/open-sdr/openwifi-hw .
14*b1d5889fSJiao Xianjun
15*b1d5889fSJiao Xianjun2 . The best way to get full picture and further info (resource/power/clock-speed/etc) of the openwifi FPGA design is downloading Xilinx Vivado (version is listed on our github) tool chain, and go through our full FPGA build procedure (README of openwifi-hw: https://github.com/open-sdr/openwifi-hw/blob/master/README.md ), where you will see the full system block diagram: not only the openwifi IP, but also all interfacing/peripheral IP around. Of course many of them are Xilinx/Analog-Devices specific.
16*b1d5889fSJiao Xianjun
17*b1d5889fSJiao Xianjun3 . You don’t need to pay any fee for Xilinx Vivado, if you chose the FPGA boards (the full list of supported FPGA board is in the README of openwifi: https://github.com/open-sdr/openwifi/blob/master/README.md ) that has 7020 FPGA, because Xilinx offer free offer for that small scale FPGA.
18*b1d5889fSJiao Xianjun
19*b1d5889fSJiao Xianjun4 . Try to find out all the vendor/3rd-part (Xilinx/Analog-Devices/etc) IPs, and evaluate/estimate how big the efforts will be if they need to be turned into sky130 or other ASIC design. As far as I remember (not full list), inside openwifi IP, we use these IP cores from Xilinx:
20*b1d5889fSJiao Xianjun- FFT
21*b1d5889fSJiao Xianjun- Viterbi decoder
22*b1d5889fSJiao Xianjun- FIFO
23*b1d5889fSJiao Xianjun- dual port RAM
24*b1d5889fSJiao Xianjun- ROM
25*b1d5889fSJiao Xianjun- FIR filter
26*b1d5889fSJiao Xianjun- AXI stream DMA
27*b1d5889fSJiao Xianjun- AXI lite bus
28*b1d5889fSJiao Xianjun- integer divider
29*b1d5889fSJiao Xianjun- integer multiplexer
30*b1d5889fSJiao Xianjun- etc.
31*b1d5889fSJiao Xianjun
32*b1d5889fSJiao XianjunI guess most of them need to be ported if we go for a real chip.
33*b1d5889fSJiao Xianjun
34*b1d5889fSJiao Xianjun5 . Also outside openwifi IP, there are interfacing/peripheral IPs from Xilinx/Analog-Devices, which can be seen if you create and open the openwifi project block diagram in Vivado (follow the openwifi-hw README). Two special things: RF and ARM processor interconnection.
35*b1d5889fSJiao Xianjun- Currently the RF front-end is AD9361 (off-FPGA), which is not a dedicated WiFi front-end (2.4GH/5GHz only). Instead, AD9361 is a quite expensive front-end that supports 70M~6GHz for SDR (Software Defined Radio) applications. So of course, there will be dedicated AD9361 interfacing IPs from Analog Devices (open source as well: https://github.com/analogdevicesinc/hdl, but the license situation is complicated: https://github.com/analogdevicesinc/hdl/blob/master/LICENSE )
36*b1d5889fSJiao Xianjun- Unlike usual WiFi chips that work with processors via USB/PCIe/SDIO/etc bus, openwifi IP interconnects to the ARM processor via AXI bus. This brings us some unique benefits, such as low latency, but it also makes the IP quite platform dependent.
37*b1d5889fSJiao Xianjun
38*b1d5889fSJiao Xianjun6 . Last but not least, considering the efforts (seems big) needed for a real openwifi ASIC, we believe that some bigger/stronger organizations (like foundation/company/person), that have rich experience on IP/licensing analysis and ASIC design, could set up an initiative to work on this openwifi chip activity. Of course, we will be more than happy to join and support it. But to be honest, the openwifi team has very limited ASIC design experiences, and we mainly focus on FPGA for now (due to the bandwidth: personal resource, funding, etc.)
39*b1d5889fSJiao Xianjun
40*b1d5889fSJiao XianjunFurther discussions/ideas? Feel free to reach out to us!
41*b1d5889fSJiao Xianjun
42*b1d5889fSJiao XianjunBest regards,
43*b1d5889fSJiao Xianjun
44*b1d5889fSJiao XianjunXianjun
45*b1d5889fSJiao Xianjun
46