(no commit message)
[libreriscv.git] / 22nm_PowerPI.mdwn
1 # Introduction
2
3 This is a page describing a proposed mass-volume SoC. It outlines:
4
5 * the NREs involved (realistically USD $7m, with headroom up to $12m preferred)
6 * proposes a fair market price (around $12-13)
7 * estimates a manufacturing cost (around $3.50 to $4)
8 * realistic industry-standard timescales (12-18 months).
9
10 On that basis it indicates that commercial viability is possible if the
11 quantities ordered are over 1 million units.
12 Several ways in which the NREs may be covered in order to be viable include:
13
14 * VC investors (typically requires multiple LOIs and customer committments)
15 * European Union Grants (such as [SiPearl](https://www.eenewsanalog.com/news/european-processor-startup-gets-eu62-million-kickstart-grant) and the [EPI](https://www.european-processor-initiative.eu/dissemination-material/epi-consortium-members-list/) )
16 * Direct OEM / Customer investment (pre-orders, in effect)
17
18 With enough direct customers, VC funding may not even be needed. This is
19 a preferred route that is not unreasonable and has been achieved before
20 in the Silicon Industry.
21
22 **Why was the Raspberry Pi successful?**
23
24 As a dedicated Set-Top Box / IPTV solution, the initial Pi processor,
25 the 700 mhz ARM11 BCM2835, was only available from Broadcomm in
26 Minimum Order Quantities (MOQ) of 5 million and above. The *only reason*
27 that it went into the Raspberry Pi at all (selling in far smaller quantities) was because Eben Upton was an employee of Broadcom and had access to NDA'd internal datasheets. Crucially: on
28 learning that it was to be deployed in an Educational market, Broadcom
29 could not exactly say "no".
30
31 Even efforts by the Raspberry Pi Foundation to see a non-Broadcom processor
32 be developed and deployed have not been successful because a Pi-only-centric
33 processor does not have a large enough market share to justify the NREs.
34
35 **The lesson here is that a low-cost processor must cover multiple markets
36 to be successful**.
37
38 Consequently the Libre-SOC "POWER Pi" is designed to enter multiple
39 disparate large-volume markets: the Educational and Open aspects
40 may thus be considered an essential part of the P.R. rather than as
41 major sales opportunities.
42
43 # Specs for 22/28nm SOC
44
45 **Overall goal: an SoC that is capable of meeting multiple markets:**
46
47 * Basic "Pi" style SBC role (aka POWER-Pi)
48 - Power consumption to be **strictly** limited to under 3.5 watts
49 so as to be passively-cooled and significantly reduce OEM product costs,
50 as well as increase reliability
51 * Libre-style smartphone, tablet, netbook and chromebook products
52 - Pine64, Purism, FairPhone, many others
53 - 3.5 watt limit greatly simplifies portable product development,
54 as well as increasing battery life
55 * Baseboard Management Controller (BMC) replacement for existing BMC products
56 - including PCIe Video Card capability after BMC Boot
57 * Mid-end low-cost Graphics Card with reasonable 3D and VPU capabilities
58 - This as a sub-goal of the BMC functionality (stand-alone)
59
60 By meeting the needs of multiple markets in a single SoC the product has
61 broader appeal yet amortises the NREs across all of them. This is
62 industry-standard practice: ST Micro and ATMEL use the exact same die in
63 up to 12-14 different products.
64
65 **Three different pin packages:**
66
67 * 400-450 pin FBGA 18mm 0.8mm and 14mm 0.6mm pitch
68 - single 32-bit DDR3/4 interface (appx 120 pins incl. VSS/VDD)
69 - Suitable for smaller products.
70 - 0.8mm pitch is easier for low-cost China PCB manufacturing
71 - This lesson is learned from Freescale's 19-year-LTS iMX6 SoC
72 * 600-650 pin FBGA appx 20mm 0.6mm pitch
73 - dual 32-bit DDR3/4 interfaces.
74 - Suitable for 4k HD resolution screens and Graphics Card capability.
75
76 By re-packaging the same die in different FPGA packages it meets the
77 needs of different markets without significant NREs. Texas Instruments
78 and Freescale/NXP and many other companies follow this practice.
79
80 **Timeframe from when funding is received:**
81
82 * 6-8 months for PHY negotiation and supply by IP Vendors (DDR4 is always
83 custom-tailored by the supplier)
84 * 6-8 months development (in parallel with PHY negotiation)
85 * 3-4 months FPGA proof-of-concept (partial overlap with above)
86 * 4-6 months layout development once design is frozen (partial overlap with
87 above)
88
89 Total: 12-18 months development time. **This is industry-standard**
90
91 **NREs:**
92
93 These are ballpark estimates:
94
95 * USD 250,000 for layout software licensing (Cadence / Synopsis / Mentor)
96 * USD 400,000 for engineer to perform layout to GDS-II
97 * USD 1,000,000 for (LP)DDR3/4 which includes customisation by IP vendor
98 * USD 250,000 for Libre-licensed DDR firmware (normally closed binary)
99 * USD 250,000 for USB3/C
100 * USD 250,000 for HDMI PHY (includes HDCP closed firmware: DVI may be better)
101 * USD 50,000 for PCIe PHY
102 * USD 50,000 for RGMII Ethernet PHY
103 * USD 50,000 for Libre-licensed PCIe firmware (normally closed binary)
104 * USD 2,000,000 for Software and Hardware Engineers
105 * USD 2,000,000 for 22nm Production Masks (1,000,000 for 28nm)
106 * USD 200,000 per 22nm MPW Shuttle Service (test ASICs. 28nm is 100,000)
107 * USD 200,000 estimated for other PHYs (UART, SD/MMC, I2C, SPI)
108
109 Total is around USD 7 million.
110
111 Note that this is a bare minimum and may require re-spins of the production
112 masks. A safety margin is recommended to cover at least 2 additional
113 re-spins. Business Operating costs bring the total realistically
114 to around USD 12 million.
115
116 Production cost is expected to be around the $3.50 to $4 mark meaning
117 that a sale price of around $12-$13 will require **1 million units**
118 sold to recover the NREs.
119
120 **Even if the SoC used an off-the-shelf OpenPOWER core or a lower
121 functionality core without GPU or VPU capability these development
122 NREs are still required**
123
124 # Functionality
125
126 - 4 Core SMP dual-issue LibreSOC OpenPOWER CPU
127 - SimpleV Capability with VPU and GPU Instructions *no need for separate GPU*
128 - IOMMU
129 - PCIe Host Controller
130 - PCIe Slave controller (RaptorCS wants to use LibreSOC as a Graphics Card
131 on their TALOS-II motherboards)
132 - BMC capability (OpenBMC / LibreBMC) - enables LibreSOC to replace the
133 closed source existing market BMC product range, booting up large servers
134 securely
135 - RGB/TTL framebuffer VGA/LCD PHY from Richard Herveille, RoaLogic.
136 - Pinmux for mapping multiple I/O functions to pins (standard fare
137 for SoCs, to reduce pincount)
138 - SD/MMC and eMMC
139 - Standard "Pi / Arduino" SoC-style interfaces including UART, I2C,
140 SPI, GPIO, PWM, EINT, AC97.
141
142 The "PI / Arduino" style interfaces are provided so as to be pin-comoatibke with the existing "Shield" 3rd party producy markets.
143
144 # Interfaces
145
146 Much of the advanced section is "under consideration" because there are proprietary firmware issues involved as well as high power consumption and high costs involved. OpenCAPI for example would, in 22nm, at 25 ghz, be an enormous power draw (IBM used 14nm for the POWER9 25ghz SERDES)
147
148 HDCP is present in HDMI, as well as being optional in eDP and by extension USB-C as well. Licensing of any of these Controllers therefore introduces the risk of closed firmware which will be viewed unfavourably by the educational markets, libre/open supporters and advocates, as well as cause Customer Support issues and introduce security vulnerabilities that *cannot be fixed or evaluated*.
149
150 Great care therefore needs to be taken in selecting the advanced interfaces.
151
152 ## Advanced
153
154 - SERDES - 10rx, 14tx
155 - 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) @25GHz
156 - 4tx, 4rx for PCIe and other CAPI devices
157 - 3tx for HDMI (note: requires HDMI Trademark Licensing and Compliance Testing. DVI is an alternative)
158 - USB-OTG / USB2 - [Luna USB](https://github.com/greatscottgadgets/luna)
159 with [USB3300 PHY](https://www.microchip.com/wwwproducts/en/USB3300#datasheet-toggle) (Tested max at 333MB/s with Luna on ECP5)
160 - [[shakti/m_class/USB3]]
161
162 ## Basic
163
164 - [OpenFSI](https://openpowerfoundation.org/?resource_lib=field-replaceable-unit-fru-service-interface-fsi-openfsi-specification) instead of / as well as JTAG
165 - [Raptor HDL](https://gitlab.raptorengineering.com/raptor-engineering-public/lpc-spi-bridge-fpga)
166 - [Raptor Libsigrok](https://gitlab.raptorengineering.com/raptor-engineering-public/dsview/-/tree/master/libsigrokdecode4DSL/decoders/fsi)
167
168 These should be easily doable with LiteX.
169
170 * [[shakti/m_class/UART]]
171 * [[shakti/m_class/JTAG]]
172 * [[shakti/m_class/I2C]]
173 * [[shakti/m_class/GPIO]]
174 * [[shakti/m_class/SPI]]
175 * [[shakti/m_class/QSPI]]
176 * [[shakti/m_class/LPC]] - BMC Management
177 * [[shakti/m_class/EINT]]
178 * [[shakti/m_class/PWM]]
179 * [[shakti/m_class/RGBTTL]] in conjunction with:
180 - TI TFP410a (DVI / HDMI)
181 - Chrontel converter (DVI, eDP, VGA)
182 - Solomon SSD2828 (MIP)
183 - TI SN75LVDS83b (LVDS)
184
185 # Protocols
186 - IMPI over i2c to talk to the BMC
187 - [Intel Spec Sheet](https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/second-gen-interface-spec-v2.pdf)
188 - [RaptorCS HDL](https://gitlab.raptorengineering.com/raptor-engineering-public/lpc-spi-bridge-fpga/blob/master/ipmi_bt_slave.v)
189 - Reset Vector is set Flexver address over LPC
190 - [Whitepaper](https://www.raptorengineering.com/TALOS/documentation/flexver_intro.pdf)
191
192 # Notes
193
194 * closed source BMC when web-enabled is a high value hacking target
195
196