We specialise in software for embedded systems. With an electronics engineering background, hardware was obviously no problem, however, the amount of effort required in any non-trivial design has migrated most of the design effort to large teams with low costs — invariably to India or China. We are still prepared to design at the FPGA level, but have not done any schematic capture, layout and pre-production runs for a few years. To see some of the prior hardware efforts, navigate around this site. Our own hardware design is for internal visibility or instrumentation of a target, which is unlikely to become commercially available due to the specialised nature of debugging. We are prepared to work with your teams to integrate the debug infrastructure for new targets. We have used ARM for the past ten or so years, but will be moving to RISC-V during 2017, so if this is of interest, we will share projects once the intellectual property ownership issues have been agreed. Where possible, we use open source or prior art which can be referenced to avoid litigation.
The RISC-V core is available for various FPGA evaluation boards. We will start with the lowest cost board, which is an Arty from Digilent Inc for US$99. The toolchains will take some effort in configuring, so for the multicore stuff, we will wait for more momentum and see which high-end board gets the best support. As of March, we have installed Ubuntu Linux on a quad core X86-64 system, which is the same operating system as the examples used to configure the development on the RISC-V website.
There is a low-cost ($59) 32-bit HiFive Freedom Everywhere board at SiFive.com which uses their first silicon chips. The RTL is open-source, which will certainly open up new markets. We are interested in the debug blocks, and will likely use the FPGA based boards.
Our embedded software is almost exclusively written in C. Cross-compilers run on both Apple OSX and Microsoft operating systems. Besides vendor supported toolchains, we ensured that the software projects worked with the multi-platform Rowley Associates CrossWorks toolchain, as they have excellent pricing, licensing policies and support. Customers prefer toolchains for nothing, so we have migrated to the free Atmel Studio for their micros. Atollic have a free version of their toolchain, but when we first started with the Atmel M7 Cortex core, they did not support it yet. Some Silicon Laboratory work (Bluetooth later), gave us an opportunity to test their Simplicity Studio with a GCC toolchain. We used an old Giant Gecko evaluation board to test the work flow, and it is multi-platform. In our case, we prefer the Mac, and it ran well. We will certainly be using it for future contracts.
Atmel's Studio framework software is based on GCC with a decent front-end. This runs on a Windows PC and can be downloaded for free.
The RISC-V work will be on whatever platform the Xilinx FPGA tools require. The software for the core will most likely run one of the BSD Unix variants or Linux (So far we have installed Ubuntu Linux). We have decades of Unix/ Linux experience, so will follow the pioneers and select the same desktop. The host is a multicore 64-bit x86 PC that died after an upgrade to Windows 10, but is good enough for cross-compiling kernels and root file systems. Will we run native on the target? Most likely not due to the low level of tracing and debug that we would like to run. These tools tend to crash a system or require constant changes, and the target will be under 1GHz anyway.
Atmel's Xplained Ultra V71 board
Atmel's branded Segger debugger and a V71 board
For the bulk of 2016, we were involved in woodworking (of all things!). We also did numerous trips between McLaren Vale (near Adelaide in South Australia) to Dayboro (near Brisbane in Queensland), which is a 4200km roundtrip. There was little done in the way of software, partially due to the lack of ARMv8 targets which received any customer interest. The barrier to entry has been reduced to below $100 with the Raspberry Pi 3, a quad-core ARMv8 device from Broadcom (who seem to guard their datasheets better than most, so we are not interested). The other people who made a lot of noise some time before (Altera, AMD, Xilinx, Cavium, APM etc) battled to deliver, and we can only get datasheets from Xilinx. Due to the amount of effort required to change architectures, upgrade tools, test equipment etc., we have decided to go with RISC-V in the medium to longterm. This will be for personal interest, as we retire shortly, and find FPGA with source available to be much more compelling than some slightly faster or cheaper device. The trace and multicore capability will be really important for debugging 4K screen displays without a GPU. We will not be rendering OpenGL, but menu based displays with a lot more real estate than current screens. That's the plan for now.
The RISC-V project is largely academic at the moment—Berkeley, MIT, ETH and Cambridge seem to have an early lead. SiFive have started off with FPGA based boards, as have lowRISC with their work. We will not be studying further, and have little intention of competing, so will not be publishing our work or lack of it. The spare time we do get in 2017 will be wading through many datasheets and altering the source for debugging. There is strong support for debug, which is going to be very important for multicore even at a couple of hundred MHz. The JTAG stuff we have been stuck with to date is not useful for fast tracing of multiple devices, mostly very expensive and tied to a particular toolchain.
A few years back, we ventured into mechanical design. We purchased SolidWorks mechanical CAD software to use for fixtures and enclosures, but ended up designing wood furniture.
We did a bit of MIG welding, and limit the work to prototypes, as we are not coded welders. In February, we purchased an ESAB TIG welding machine for thin sheet metal work (also capable of over 200 Amps if needed), as we are interested in machine building prototypes.
Up to now, our scope of supply included schematics, board layouts and source code without restrictions on derivative designs, volumes or royalties. Future scope depends on the client, and needs to be negotiated before any work begins.
Our sales are generally intellectual property that can be sent via email. Clients are responsible for any local compliance as we cannot accept incidental or consequential damages. (Our European—, American— and Asian suppliers waive consequential damages. Many do not transfer warranties to their clients' customers, which is why we encourage clients to purchase initial evaluation boards directly from the manufacturers.)
© 2017 — Second Valley Software Pty Ltd. All Rights Reserved