Hardware Enablement

On-hardware debugging of IP cores with free tools

K.4.401
Anton Kuzmin
An approach to challenges of an on-FPGA debugging of IP cores based on free software tools is demonstrated. Various aspects and related problems of an on-hardware debugging are presented along with the tools to address them, such as OpenOCD, sigrok/PulseView, GHDL, etc. Real-life working configuration and missing bits of software are accompanied by the live debug session demo running on Open-source Hardware.
Debugging of hardware blocks on an FPGA is always challenging and may be frustrating, especially with no reliable tools at hands. Way too often the process turns into developing and debugging of the tools, instead of a target design. Commercial solutions are available (SignalTap, ChipScope, Synopsys Identify RTL Debugger, MicroSemi Smart Debug), at the same time there are a lot of well known problems associated with them: vendor lock, single target, closed source and not always flexible enough, license terms and costs. Owing to free software developers essential tools for on-hardware debugging of IP cores are available today. However there are problems associated with these tools too. Among the most notable ones are a weak integration between separate tools and small bits of code and config files missing here and there. A working combination of tools along with explanations of how they may be used together to debug IP cores is provided. A presentation covers such free software as GHDL, sigrok/PulseView, and OpenOCD. Source code of free IP cores, all configuration and script files and presentation slides will be available in a dedicated repository on github. A live demonstration of the PulseView connected to an in-FPGA logic analyzer via JTAG interface and working in parallel with a gdb debug session on a RISC-V soft-core CPU in the same FPGA with an open and low-cost hardware will be presented. An outline of the open tasks and possible future development directions concludes the presentation.

Additional information

Type devroom

More sessions

2/2/20
Hardware Enablement
Fabien Chouteau
K.4.401
For embedded developers using alternative programming languages, but also for anyone using third party driver frameworks such as libopencm3, one of the main pain points to start using a microcontroller is to make a Board Support Package. Things like linker script or startup code (crt0) not only require skills, but also information that are not always easily accessible. In this talk we will present a tool that generates linker script, startup code, and low level hardware binding for 3000 ARM ...
2/2/20
Hardware Enablement
Mario Behling
K.4.401
While it is standard to deploy every single code commit using CI systems and deploy new code automatically we are only at the beginning of automation for designing hardware. In this talk I will share the experience with continuous integration tools in FOSSASIA hardware projects, and specifically our Pocket Science Lab. I will outline opportunities and challenges for implementing CI processes for hardware.
2/2/20
Hardware Enablement
K.4.401
We talked extensively about LinuxBoot, a Linux-based environment intended to be integrated into the firmware on the boot ROM. This time we want to talk about how do we test LinuxBoot before it goes to production. We will talk about ConTest, an open-source continuous and on-demand system testing framework that we designed to be modular, validating, and infrastructure-agnostic, and how it is helping us validate open source firmware on our datacenter platforms.
2/2/20
Hardware Enablement
Drew Fustini
K.4.401
Want to run Linux with RISC-V on Open Source Hardware? This talk will explore the current options including how open source FPGA tools can be leveraged to build open Linux-capable systems.
2/2/20
Hardware Enablement
Philipp Klaus Krause
K.4.401
The Taiwanese company Padauk makes small 8-bit microcontrollers, the smallest of which are available at 0.01 € even in small quantities. Even the larger ones are just a few cents; a particularly interestign feature is the hardware multithreading support available in larger devices. Until recently, the only available toolchain was Padauk's non-free toolchain based around their "MINI-C" IDE (which despite, the name, ist just a bit of C-like syntactic sugar coating for assembler, and in no way a ...
2/2/20
Hardware Enablement
Michał Żygowski
K.4.401
The presentation is about AMD's involvement in coreboot evolution and development. Gives a high-level overview of the engagement of the silicon vendor in the coreboot project history. The presentation may contain a little bit of technical aspects of firmware and BIOS. However, the intended audience is not only firmware and BIOS developers, but also free and libre hardware enthusiasts too. If anybody is interested in the future of famous platforms like Asus KGPE-D16, Lenovo G505S, PC Engines ...
2/2/20
Hardware Enablement
Tsvetan Usunov
K.4.401
Olimex is designing Open Source Hardware Linux computers since 2012. They are adopted by hundreds of manufacturers all around the world and prove the Open Source business model is sustainable. The lecture is about the advantages which OSHW bring to the industrial vendors and what drives their decision to use our boards. We will explain the benefits for the SOC vendors to have OSHW designs with their ICs, the end user benefits and how OSHW helps us to excel our products and make them better and ...