Building a SuperH-compatible CPU from scratch [video]
youtube.com
youtube.com
- http://j-core.org/ ("Webpage was written by developer who knows <p> tags ... If anyone would like to donate a stylesheet, that would be welcome ..."), git repo coming soon
- Corporation is https://twitter.com/seinstruments
- goals were: not to license any IP, in order to have truly open source SoC that you can trust, minimum impl that can run linux, open source toolchain
- minimal impl supports 32-bit addressing, no MMU, DRAM controller, UART
- named "jcore" to avoid infringing on Hitachi's brand
- target market includes IoT, (AC) power-quality monitors
- in order to avoid the well-encumbered semiconductor space, the strategy is to duplicate an arch whose patent has just expired (Hitachi SH2, SH4)
- VHDL is BSD-licensed
- The cheapest dev board (3rd party, minimal FPGA dev board with little/no I/O) is only $50 + shipping from India
- discussion about breakeven for fab for ICs
- How is this distinct from OpenRISC? Automated transformation from high-level design to low level design outputs
- Chuckles from audience when simulator is revealed to have been written in Ada
- jcore design doesn't fit in biggest FPGA (Xilinx ICE40)
- "We've got linux booting to a shell prompt on real hardware so you can start with a known working environment and then break it."
- SH-FDPIC is working w/musl
But then they mention in the beginning with Linux you need minimum 8 MiB Ram, because "less is awkward".
To be honest 8 MiB is a lot for embedded, for IoT. Normally we deal with way less then 1 MiB. Especially in IoT I need low power and less components. A state of the art Cortex M0 has somewhere of 256 KiB of Ram. With that they basically prove, that Linux is not suited for IoT. Is that the point they want to make? Really?
It really depends on the application, how much processing power you need, etc. but more options are only a good thing.
Remember that the 'T' in IoT doesn't just mean little things - these guys are talking about devices that monitor large transformers and power distribution equipment (critical electrical infrastructure). It's likely that an IoT device for that would be doing a lot more than, say, a smart meter for a home for which Linux probably would be overkill.
An 8-bit micro controller will be with us forever because it is the smallest computer that is useful for more than trivial tasks, it will just keep getting smaller and smaller. I won't be surprised if the first space ship to land on a different solar system has trillions of 8-bit computers on it the size of atoms.
Really? SRAM isn't cheap and takes power, DRAM cheaper (especially once process/packaging technology means you can place it on the same die or in the same package as the processor) but still costs power. Fundamentally if you want very low-power you're gonna go for lowest RAM possible. Ditching it is an easy way to save power. Even if RAM is cheap using 1/32th of it (8mb vs 256k) makes things cheaper still. Important if you're going for very low-cost.
Their proposed "two-process" coding methodology for VHDL is weird. They pretend their entire CPU core is written in a total of 3 VHDL processes.
I guess their only argument is that their target a 180nm process (from 1991), which costs only $25K.
The video clearly indicates their motivation to make silicon that won't get a C&D as soon as they get to market.
On the flip side, trade secrets obscure many great tricks in this industry, esp for analog, to try to reduce number of patent suits they get hit with if they expose their constructions. Plus for competitive advantage with consideration for cloners that ignore patent rules. So, one says we can't use many, good techniques where another says we can't know it.
The "joys" of OSS hardware...
I agree with the previous poster: "you don't need a fast processor, just a processor that is fast enough."
If some day we had a small OSS cpu for Linux with acceptable performance which could be implemented in pure SMD like the monster 6502 - that would be nice!
http://www.gaisler.com/index.php/products/processors/leon3
http://www.oracle.com/technetwork/systems/opensparc/index.ht...
Gaisler would be easier one to implement in ASIC. The Leon4 is a 4-core variant. In any case, the Leon3 and key I.P. are GPL'd specifically for open-source to build on it. SPARC ISA only require $99 fee to use SPARC-compatible line. OSS people just keep ignoring it. Meanwhile, academics have built on it and the Leon3FT variant is often used in space applications.
So, get either booting on a FPGA, install Linux, and have at it. :)
http://www.eetimes.com/author.asp?section_id=36&doc_id=13234...
https://speakerdeck.com/asb/lowrisc-plans-for-risc-v-in-2016
Many examples here:
http://www.lowrisc.org/blog/2016/01/third-risc-v-workshop-da...
Arduino-style implementation:
https://github.com/pulp-platform/pulpino
Note: OpenRISC is not RISC-V. It was a competing ISA that's fallen to the wayside as RISC-V's popularity soared. It did get used in Milkymist IIRC. Best to ignore it except maybe out of personal curiosity in favor of RISC-V and SPARC.
AFAICS the point is not to create the bestest fastest microarchitecture ever; I'm sure nobody, including the guys behind this jcore project, harbors any illusions of competing with high-performance cores from the likes of Intel or IBM on a shoestring budget.
But rather, the point was to pick a decent ISA (for instance, SuperH is apparently the basis for ARM Thumb, so code density is quite good) with a (hopefully!) patent-free implementation. And with an ecosystem so you can actually use it. I'm pretty sure "every student's comp arch class project" doesn't include upstreamed support in the Linux kernel, GCC, binutils, GDB, strace etc.
> The sh4 processor (dreamcast) has an mmu, but the last sh4 patents don't exire until 2016.
But, I'm curious why it wouldn't be easier to order SH CPU's from Renesas for modern applications, although I understand the implementation wouldn't be open all the way down? Does anyone have thoughts on this?
"No."
These guys are a well oiled presentation machine.