exactly “open-sourcing.” – Lattice Mico8 is only permited to run on its own products. Source code license header has it that : • Lattice Semiconductor grants permission to use this code for use in synthesis for any Lattice programmable logic product. Other use of this code, including the selling or duplication of any portion is strictly prohibited. • Although there are some earlier copies of tool-generated LM8 is licensed under different license, it’s kinda in the twilight zone.
– Vanilla OpenSPARC arguably contains parts protected by patents. • Clean room re-implementation. • Strip those allegedly patented parts. • Simply don’t care. (Military use. Sue me if you dare to.)
license seems unfitting. – Original OpenRISC 1200 is licensed under LGPL. • How do you define terms like “object form” and “linking” for circuit designs ? Even you could give a definition, laws are born to be bent. • Attempts to make new (weak) copyleft license. – mor1kx, the newer implementation of OpenRISC 1000 ISA, distributes with Open Hardware Description License, which is based on Mozilla Public License 2.0 .
Semiconductor Corporation Open Source License” : The Provider grants to You a personal, non-exclusive right to use and distribute the source code of the Software provided that : • You make distributions free of charge under these license terms. • You ensure that the original copyright notices and limitations of liability and warranty sections remain intact.
2.0 & 3-caluse BSD BOOM Apache 2.0 & 3-clause BSD RI5CY Solderpad Hardware License (based on APL 2) SweRV Apache 2.0 E200 Apache 2.0 PicoRV32 Internet Systems Consortium License (2-clause BSD) Most of them are licensed under permissive licenses.
Format • RTLIL : RTL Intermediate Language Verilog frontend AST “frontend” AST VHDL frontend RTLIL Passes ilang frontend BLIF backend BLIF One of these passes is called : “techmap” , meaning “technology map” , which will load “gate” library and perform mapping. Several optimization passes are also available, e.g. flatten.
Format • RTLIL : RTL Intermediate Language Verilog frontend AST “frontend” AST VHDL frontend Passes ilang frontend BLIF backend BLIF One of these passes is called : “techmap” , meaning “technology map” , which will load “gate” library and perform mapping. Several optimization passes are also available, e.g. flatten. high level Common RTL Platform RTL
techmap for iCE40. – The 1st one maps high level logics into internal “common” cell library. – The 2nd one maps previous outcome into iCE40 cell techlib. • Yosys has two mapping method, simplemap and Berkeley- abc.
like to let my fellow classmates and other juniors to get some quick crash course about hardware-software codesign – With inexpensive hardware and completely open source software. • I still can remember the days when I need to download Xilinx ISE which consumes several Gbs and get the license registered • And that antique Spartan board needs deposit. Simply WTF.
(Control & Status Registers) • Custom interrupt handling machenism and instructions. – No pipeline. Multicycle. – Less than 3,000 LoCs. – Silicon-proven by efabless with X-Fab foundry 180nm tech, using completely open source flow, Qflow . (Process Design Kit is inevitably closed-source.)
firmware- building & toolchain-downloading helper scripts. • Open source project as well. • Supported firmwares are carefully integrated into framework. • Peripherals are implemented in Migen FHDL, which is based on Python.
pybthread implementation is portable. The only target dependent code is __get_BASEPRI from ARM CMSIS lib and NVIC controlling code. • Bring sleep_ms() (in modutime) to work. – __WFI (wait for interupt) from CMSIS lib again .