(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 Non-Recurring Engineering (NRE) costs 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 **This is a POWER PI candidate, but 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. As a
27 specialist Vertical Market Applications Processor, it was *not
28 available* for use in products on the general market.
29
30 The *only reason*
31 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
32 learning that it was to be deployed in an Educational market, Broadcom
33 could not exactly say "no".
34
35 In eight years, 36 million "Pi" units have been sold. However this is not
36 all the same processor: there are four variants (Model A/B thru Pi 4). Thus
37 actual quantities sold through the Pi Foundation of any one given processor
38 average only around a million units, each processor. As above: 1 million
39 sales barely covers the NREs.
40
41 In the intervening years, despite persistent requests on Pi Forums,
42 even efforts by the Raspberry Pi Foundation themselves to see a non-Broadcom processor
43 be developed and deployed have not been successful because a Pi-only-centric
44 processor *does not have a large enough market share to justify the NREs*.
45
46 **The lesson here is that a low-cost processor must cover multiple markets
47 to be successful**.
48
49 Consequently the Libre-SOC "POWER Pi" is designed to enter multiple
50 disparate large-volume markets: the Educational and Open aspects
51 may thus be considered an essential part of the P.R. rather than as
52 major sales opportunities.
53
54 # Specs for 22/28nm SOC
55
56 **Overall goal: an SoC that is capable of meeting multiple markets:**
57
58 * Basic "Pi" style SBC role (aka POWER-Pi)
59 - Power consumption to be **strictly** limited to under 3.5 watts
60 so as to be passively-cooled and significantly reduce OEM product costs,
61 as well as increase reliability
62 * Libre-style smartphone, tablet, netbook and chromebook products
63 - Pine64, Purism, FairPhone, many others
64 - 3.5 watt limit greatly simplifies portable product development,
65 as well as increasing battery life
66 * Baseboard Management Controller (BMC) replacement for existing BMC products
67 - including PCIe Video Card capability after BMC Boot
68 * Mid-end low-cost Graphics Card with reasonable 3D and VPU capabilities
69 - This as a sub-goal of the BMC functionality (stand-alone)
70
71 By meeting the needs of multiple markets in a single SoC the product has
72 broader appeal yet amortises the NREs across all of them. This is
73 industry-standard practice: ST Micro and ATMEL use the exact same die in
74 up to 12-14 different products.
75
76 **Three different pin packages:**
77
78 * 400-450 pin FBGA 18mm 0.8mm and 14mm 0.6mm pitch
79 - single 32-bit DDR3/4 interface (appx 120 pins incl. VSS/VDD)
80 - Suitable for smaller products.
81 - 0.8mm pitch is easier for low-cost China PCB manufacturing
82 - This lesson is learned from Freescale's 19-year-LTS iMX6 SoC
83 * 600-650 pin FBGA appx 20mm 0.6mm pitch
84 - dual 32-bit DDR3/4 interfaces.
85 - Suitable for 4k HD resolution screens and Graphics Card capability.
86
87 By re-packaging the same die in different FPGA packages it meets the
88 needs of different markets without significant NREs. Texas Instruments
89 and Freescale/NXP and many other companies follow this practice.
90
91 **Timeframe from when funding is received:**
92
93 * 6-8 months for PHY negotiation and supply by IP Vendors (DDR4 is always
94 custom-tailored by the supplier)
95 * 6-8 months development (in parallel with PHY negotiation)
96 * 3-4 months FPGA proof-of-concept (partial overlap with above)
97 * 4-6 months layout development once design is frozen (partial overlap with
98 above)
99
100 Total: 12-18 months development time. **This is industry-standard**
101
102 **NREs:**
103
104 These are ballpark estimates:
105
106 * USD 250,000 for layout software licensing (Cadence / Synopsis / Mentor)
107 * USD 400,000 for engineer to perform layout to GDS-II
108 * USD 1,000,000 for (LP)DDR3/4 which includes customisation by IP vendor
109 * USD 250,000 for Libre-licensed DDR firmware (normally closed binary)
110 * USD 250,000 for USB3/C
111 * USD 250,000 for HDMI PHY (includes HDCP closed firmware: DVI may be better)
112 * USD 50,000 for PCIe PHY
113 * USD 50,000 for RGMII Ethernet PHY
114 * USD 50,000 for Libre-licensed PCIe firmware (normally closed binary)
115 * USD 2,000,000 for Software and Hardware Engineers
116 * USD 2,000,000 for 22nm Production Masks (1,000,000 for 28nm)
117 * USD 200,000 per 22nm MPW Shuttle Service (test ASICs. 28nm is 100,000)
118 * USD 200,000 estimated for other PHYs (UART, SD/MMC, I2C, SPI)
119
120 Total is around USD 7 million.
121
122 Note that this is a bare minimum and may require re-spins of the production
123 masks. A safety margin is recommended to cover at least 2 additional
124 re-spins. Business Operating costs bring the total realistically
125 to around USD 12 million.
126
127 Production cost is expected to be around the $3.50 to $4 mark meaning
128 that a sale price of around $12-$13 will require **1 million units**
129 sold to recover the NREs.
130
131 **Even if the SoC used an off-the-shelf OpenPOWER core or a lower
132 functionality core without GPU or VPU capability these development
133 NREs are still required**
134
135 # Functionality
136
137 - 4 Core SMP dual-issue LibreSOC OpenPOWER CPU
138 - SimpleV Capability with VPU and GPU Instructions *no need for separate GPU*
139 - IOMMU
140 - PCIe Host Controller
141 - PCIe Slave controller (RaptorCS wants to use LibreSOC as a Graphics Card
142 on their TALOS-II motherboards)
143 - BMC capability (OpenBMC / LibreBMC) - enables LibreSOC to replace the
144 closed source existing market BMC product range, booting up large servers
145 securely
146 - RGB/TTL framebuffer VGA/LCD PHY from Richard Herveille, RoaLogic.
147 - Pinmux for mapping multiple I/O functions to pins (standard fare
148 for SoCs, to reduce pincount)
149 - SD/MMC and eMMC
150 - Standard "Pi / Arduino" SoC-style interfaces including UART, I2C,
151 SPI, GPIO, PWM, EINT, AC97.
152
153 The "PI / Arduino" style interfaces are provided so as to be pin-comoatibke with the existing "Shield" 3rd party producy markets.
154
155 # Interfaces
156
157 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)
158
159 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*.
160
161 Great care therefore needs to be taken in selecting the advanced interfaces.
162
163 ## Advanced
164
165 - SERDES - 10rx, 14tx
166 - 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
167 - 4tx, 4rx for PCIe and other CAPI devices
168 - 3tx for HDMI (note: requires HDMI Trademark Licensing and Compliance Testing. DVI is an alternative)
169 - USB-OTG / USB2 - [Luna USB](https://github.com/greatscottgadgets/luna)
170 with [USB3300 PHY](https://www.microchip.com/wwwproducts/en/USB3300#datasheet-toggle) (Tested max at 333MB/s with Luna on ECP5)
171 - [[shakti/m_class/USB3]]
172
173 ## Basic
174
175 - [OpenFSI](https://openpowerfoundation.org/?resource_lib=field-replaceable-unit-fru-service-interface-fsi-openfsi-specification) instead of / as well as JTAG
176 - [Raptor HDL](https://gitlab.raptorengineering.com/raptor-engineering-public/lpc-spi-bridge-fpga)
177 - [Raptor Libsigrok](https://gitlab.raptorengineering.com/raptor-engineering-public/dsview/-/tree/master/libsigrokdecode4DSL/decoders/fsi)
178
179 These should be easily doable with LiteX.
180
181 * [[shakti/m_class/UART]]
182 * [[shakti/m_class/JTAG]]
183 * [[shakti/m_class/I2C]]
184 * [[shakti/m_class/GPIO]]
185 * [[shakti/m_class/SPI]]
186 * [[shakti/m_class/QSPI]]
187 * [[shakti/m_class/LPC]] - BMC Management
188 * [[shakti/m_class/EINT]]
189 * [[shakti/m_class/PWM]]
190 * [[shakti/m_class/RGBTTL]] in conjunction with:
191 - TI TFP410a (DVI / HDMI)
192 - Chrontel converter (DVI, eDP, VGA)
193 - Solomon SSD2828 (MIP)
194 - TI SN75LVDS83b (LVDS)
195
196 # Protocols
197 - IMPI over i2c to talk to the BMC
198 - [Intel Spec Sheet](https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/second-gen-interface-spec-v2.pdf)
199 - [RaptorCS HDL](https://gitlab.raptorengineering.com/raptor-engineering-public/lpc-spi-bridge-fpga/blob/master/ipmi_bt_slave.v)
200 - Reset Vector is set Flexver address over LPC
201 - [Whitepaper](https://www.raptorengineering.com/TALOS/documentation/flexver_intro.pdf)
202
203 # Notes
204
205 * closed source BMC when web-enabled is a high value hacking target
206
207