(no commit message)
[libreriscv.git] / 22nm_PowerPI.mdwn
1 # Specs for 22/28nm SOC
2
3 **Overall goal: an SoC that is capable of meeting multiple markets:**
4
5 * Basic "Pi" style SBC role (aka POWER-Pi)
6 - Power consumption to be **strictly** limited to under 3.5 watts
7 so as to be passively-cooled and significantly reduce product costs,
8 as well as increase reliability
9 * Libre-style smartphone, tablet, netbook and chromebook products
10 - Pine64, Purism, FairPhone, many others
11 - 3.5 watt limit greatly simplifies portable product development,
12 as well as increasing battery life
13 * Baseboard Management Controller (BMC) replacement for existing BMC products
14 - including PCIe Video Card capability after BMC Boot
15 * Mid-end low-cost Graphics Card with reasonable 3D and VPU capabilities
16 - This as a sub-goal of the BMC functionality (stand-alone)
17
18 By meeting the needs of multiple markets in a single SoC the product has
19 broader appeal yet amortises the NREs across all of them. This is
20 industry-standard practice: ST Micro and ATMEL use the exact same die in
21 up to 12-14 different products.
22
23 **Three different pin packages:**
24
25 * 400-450 pin FBGA 18mm 0.8mm and 14mm 0.6mm pitch
26 - single 32-bit DDR3/4 interface.
27 - Suitable for smaller products.
28 - 0.8mm pitch is easier for low-cost China PCB manufacturing
29 - This lesson is learned from Freescale's 19-year-LTS iMX6 SoC
30 * 600-650 pin FBGA appx 20mm 0.6mm pitch
31 - dual 32-bit DDR3/4 interfaces.
32 - Suitable for 4k HD resolution screens and Graphics Card capability.
33
34 By re-packaging the same die in different FPGA packages it meets the
35 needs of different markets without significant NREs. Texas Instruments
36 and Freescale/NXP and many other companies follow this practice.
37
38 **Timeframe from when funding is received:**
39
40 * 6-8 months for PHY negotiation and supply by IP Vendors (DDR4 is always
41 custom-tailored by the supplier)
42 * 6-8 months development (in parallel with PHY negotiation)
43 * 3-4 months FPGA proof-of-concept (partial overlap with above)
44 * 4-6 months layout development once design is frozen (partial overlap with
45 above)
46
47 Total: 12-18 months development time. **This is industry-standard**
48
49 **NREs:**
50
51 These are ballpark estimates:
52
53 * USD 250,000 for layout software licensing (Cadence / Synopsis / Mentor)
54 * USD 400,000 for engineer to perform layout to GDS-II
55 * USD 1,000,000 for (LP)DDR3/4 which includes customisation by IP vendor
56 * USD 250,000 for Libre-licensed DDR firmware (normally closed binary)
57 * USD 250,000 for USB3/C
58 * USD 250,000 for HDMI PHY (includes HDCP closed firmware: DVI may be better)
59 * USD 50,000 for PCIe PHY
60 * USD 50,000 for RGMII Ethernet PHY
61 * USD 50,000 for Libre-licensed PCIe firmware (normally closed binary)
62 * USD 2,000,000 for Software and Hardware Engineers
63 * USD 2,000,000 for 22nm Production Masks (1,000,000 for 28nm)
64 * USD 200,000 per 22nm MPW Shuttle Service (test ASICs. 28nm is 100,000)
65 * USD 200,000 estimated for other PHYs (UART, SD/MMC, I2C, SPI)
66
67 Total is around USD 7 million.
68
69 Note that this is a bare minimum and may require re-spins of the production
70 masks. A safety margin is recommended to cover at least 2 additional
71 re-spins. Business Operating costs bring the total realistically
72 to around USD 12 million.
73
74 Production cost is expected to be around the $3.50 to $4 mark meaning
75 that a sale price of around $12-$13 will require **1 million units**
76 sold to recover the NREs.
77
78 **Even if the SoC used an off-the-shelf OpenPOWER core or a lower
79 functionality core without GPU or VPU capability these development
80 NREs are still required**
81
82 # Functionality
83
84 - 4 Core dual-issue LibreSOC OpenPOWER CPU
85 - SimpleV Capability with VPU and GPU Instructions *no need for separate GPU*
86 - IOMMU
87 - PCIe Host Controller
88 - PCIe Slave controller (RaptorCS wants to use LibreSOC as a Graphics Card
89 on their TALOS-II motherboards)
90 - BMC capability (OpenBMC / LibreBMC) - enables LibreSOC to replace the
91 closed source existing market BMC product range, booting up large servers
92 securely
93 - RGB/TTL framebuffer VGA/LCD PHY from Richard Herveille, RoaLogic.
94 - Pinmux for mapping multiple I/O functions to pins (standard fare
95 for SoCs, to reduce pincount)
96 - SD/MMC and eMMC
97 - Standard "Pi / Arduino" SoC-style interfaces including UART, I2C,
98 SPI, GPIO, PWM, EINT, AC97.
99
100 # Interfaces
101
102 ## Advanced
103
104 - SERDES - 10rx, 14tx
105 - 4tx, 4rx for [OMI(DDR4](https://openpowerfoundation.org/wp-content/uploads/2018/10/Jeff-Steuchli.OpenCAPI-OPS-OMI.pdf) on top of SERDES with OpenCAPI protocol) @5GHz
106 - 4tx, 4rx for PCIe and other CAPI devices
107 - 3tx for HDMI (note: requires HDMI Trademark Licensing and Compliance Testing. DVI is an alternative)
108 - [OpenFSI](https://openpowerfoundation.org/?resource_lib=field-replaceable-unit-fru-service-interface-fsi-openfsi-specification) instead of JTAG
109 - [Raptor HDL](https://gitlab.raptorengineering.com/raptor-engineering-public/lpc-spi-bridge-fpga)
110 - [Raptor Libsigrok](https://gitlab.raptorengineering.com/raptor-engineering-public/dsview/-/tree/master/libsigrokdecode4DSL/decoders/fsi)
111 - USB-OTG / USB2 - [Luna USB](https://github.com/greatscottgadgets/luna)
112 with [USB3300 PHY](https://www.microchip.com/wwwproducts/en/USB3300#datasheet-toggle) (Tested max at 333MB/s with Luna on ECP5)
113 - [[shakti/m_class/USB3]]
114
115 ## Basic
116
117 These should be easily doable with LiteX.
118
119 * [[shakti/m_class/UART]]
120 * [[shakti/m_class/I2C]]
121 * [[shakti/m_class/GPIO]]
122 * [[shakti/m_class/SPI]]
123 * [[shakti/m_class/QSPI]]
124 * [[shakti/m_class/LPC]] - BMC Management
125 * [[shakti/m_class/EINT]]
126 * [[shakti/m_class/PWM]]
127 * [[shakti/m_class/RGBTTL]] in conjunction with:
128 - TI TFP410a (DVI / HDMI)
129 - Chrontel converter (DVI, eDP, VGA)
130 - Solomon SSD2828 (MIP)
131 - TI SN75LVDS83b (LVDS)
132
133 # Protocols
134 - IMPI over i2c to talk to the BMC
135 - [Intel Spec Sheet](https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/second-gen-interface-spec-v2.pdf)
136 - [RaptorCS HDL](https://gitlab.raptorengineering.com/raptor-engineering-public/lpc-spi-bridge-fpga/blob/master/ipmi_bt_slave.v)
137 - Reset Vector is set Flexver address over LPC
138 - [Whitepaper](https://www.raptorengineering.com/TALOS/documentation/flexver_intro.pdf)
139
140 # Notes
141
142 * closed source BMC when web-enabled is a high value hacking target
143
144