SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
RISC-V Summit, December 8-10, 2020
Piotr Zierhoffer, pzierhoffer@antmicro.com
Building your world
out of blocks with
Renode and LiteX
ANTMICRO
Building your world out of blocks with Renode and LiteX
• Turning ideas into software-driven products
• We use, develop, advocate open source
• Member of Linux Foundation, Zephyr Project,
CHIPS Alliance, OpenPOWER Foundation,
Strategic Founding member of RISC-V
International
• Introducing new design methodologies
and workflows based on open source
TYPICAL PRODUCT DEVELOPMENT
CYCLE (SIMPLIFIED)
• Time consuming
• Expensive
• Sequential
Building your world out of blocks with Renode and LiteX
Analyze requirements
Select or prepare custom hardware
Write software
Reevaluate hardware decisions
Update hardware
Update software
AN ALTERNATIVE
• Prepare the hardware up front
• Wait with software development until
hardware is ready
• Constrain your software with capabilities
of hardware
• Go through the whole development
process to verify if your product actually
works
Work incrementally following the evolution of
your project
Develop software early in the product life cycle
Adjust all pieces to match your product needs
Test all components in a CI environment, for all
changes of software OR hardware
Building your world out of blocks with Renode and LiteX
BUILD THE WORLD
OUT OF BLOCKS
Open source hardware-simulation framework for:
• Development of complex software
for embedded and IoT systems
• Architectural exploration and research
• Pre-silicon prototyping and HW-SW
co-development
What is Renode?
Supported platforms/vendors
Supported boards
Supported boards
Renode-based Continuous Integration workflow for IoT systems
TESTING.RENODE.IO
Building your world out of blocks with Renode and LiteX
uart: UART.MiV_CoreUART @ sysbus 0x70001000
clockFrequency: 66000000
cpu: CPU.RiscV @ sysbus
cpuType: "rv32g"
plic: Interrupts.PlatformLevelInterruptController @ sysbus 0x40000000
IRQ -> cpu@1
numberOfSources: 31 //based on release notes
Platform description format
LITEX SOC GENERATOR
• Powered by Migen
• Allows to create an SoC with different CPUs
• Supports many vendor tools as well as open source
• Creates a basic BSP along with the design
Building your world out of blocks with Renode and LiteX
LITEX ECOSYSTEM
Building your world out of blocks with Renode and LiteX
LITEX ECOSYSTEM
• Zephyr port
• Linux port
• Active community
▫ IRC: #litex @ freenode.net
▫ mailing list: linux-litex@googlegroups.com
Building your world out of blocks with Renode and LiteX
PUTTING THE BLOCKS TOGETHER
Building your world out of blocks with Renode and LiteX
DYNAMIC LITEX SYSTEM
Building your world out of blocks with Renode and LiteX
uart: UART.MiV_CoreUART @ sysbus 0x70001000
clockFrequency: 66000000
cpu: CPU.RiscV @ sysbus
cpuType: "rv32g"
plic: Interrupts.PlatformLevelInterruptController @ sysbus 0x40000000
IRQ -> cpu@1
numberOfSources: 31 //based on release notes
Platform description format
LITEX-RENODE
• LiteX generates a platform description in
csr.csv output file
• Automatic generation from LiteX
configuration (CSV)
▫ platform (REPL)
▫ script (RESC)
▫ Zephyr DTS overlay
• Perfect for CI setup
Building your world out of blocks with Renode and LiteX
Always stay in control
WHAT’S MORE?
DEBUG ALWAYS AVAILABLE
(machine) cpu StartGdbServer 3333
(gdb) target remote :3333
(gdb) break whenever_i_want_to
(gdb) continue
Building your world out of blocks with Renode and LiteX
CUSTOM INSTRUCTIONS
AND CSR SUPPORT
RegisterCSR((ulong)0x3e1, () => counterValue, value => UpdateCounter(value));
InstallCustomInstruction(pattern: "0000011-----sssss---ddddd0001011", handler:
HandleMaskirqInstruction);
private void HandleMaskirqInstruction(UInt64 opcode)
{
var rd = (int)BitHelper.GetValue(opcode, 7, 5);
var rs = (int)BitHelper.GetValue(opcode, 15, 5);
var newValue = (uint)X[rs].RawValue;
var previousValue = disabledInterrupts;
disabledInterrupts = newValue;
if(rd != 0)
{
X[rd] = previousValue;
}
}
Building your world out of blocks with Renode and LiteX
WHY EVEN RECOMPILE?
(machine) cpu InstallCustomInstructionHandlerFromString
"00010100011100000000000010010011"
"cpu.DebugLog('I’m running Python here!')"
Building your world out of blocks with Renode and LiteX
There’s more!
docs.renode.io
THANK YOU
FOR YOUR ATTENTION!

Contenu connexe

Tendances

Ip Addressing And Subnetting Teachers Book Robb Jones
Ip Addressing And Subnetting Teachers Book   Robb JonesIp Addressing And Subnetting Teachers Book   Robb Jones
Ip Addressing And Subnetting Teachers Book Robb JonesCamposol S.A.
 
How to use peripherals on MCB1700
How to use peripherals on MCB1700How to use peripherals on MCB1700
How to use peripherals on MCB1700Vajih Montaghami
 
Binary code decimal Adder
Binary code decimal AdderBinary code decimal Adder
Binary code decimal AdderHaya Butt
 
2009 2010-l3-reseau-td2-adressage-routage ip-corrige
2009 2010-l3-reseau-td2-adressage-routage ip-corrige2009 2010-l3-reseau-td2-adressage-routage ip-corrige
2009 2010-l3-reseau-td2-adressage-routage ip-corrigeAbabacar Faye
 
Les transmissions et les supports
Les transmissions et les supportsLes transmissions et les supports
Les transmissions et les supportsFouad Root
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanCorneliu Gaina
 
Voip simulation
Voip simulation Voip simulation
Voip simulation Anas ABANA
 
Introduction and Comparison of Microprocessor Chip families
Introduction and Comparison of Microprocessor Chip familiesIntroduction and Comparison of Microprocessor Chip families
Introduction and Comparison of Microprocessor Chip familiesNevil Dsouza
 
Fibre optique et fourreaux CC val oust et lanvaux
Fibre optique et fourreaux CC val oust et lanvauxFibre optique et fourreaux CC val oust et lanvaux
Fibre optique et fourreaux CC val oust et lanvauxCyberco
 
difference between an Intel Core i3, i5 and i7
difference between an Intel Core i3, i5 and i7difference between an Intel Core i3, i5 and i7
difference between an Intel Core i3, i5 and i7SAHA HINLEY
 
Subnetting Principles Worksheet
Subnetting Principles WorksheetSubnetting Principles Worksheet
Subnetting Principles Worksheetswascher
 
Excess 3 to bcd converter
Excess 3 to bcd converterExcess 3 to bcd converter
Excess 3 to bcd converterGarla Prajwal
 
Ipv6 the next generation protocol
Ipv6 the next generation protocolIpv6 the next generation protocol
Ipv6 the next generation protocolPRADEEP Cheekatla
 
Routage dans les réseaux ad hoc
Routage dans les réseaux ad hocRoutage dans les réseaux ad hoc
Routage dans les réseaux ad hochamouze
 
Combinational Circuits
Combinational CircuitsCombinational Circuits
Combinational CircuitsDilum Bandara
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 

Tendances (20)

Ip Addressing And Subnetting Teachers Book Robb Jones
Ip Addressing And Subnetting Teachers Book   Robb JonesIp Addressing And Subnetting Teachers Book   Robb Jones
Ip Addressing And Subnetting Teachers Book Robb Jones
 
Routing in 6lowpan (in French)
Routing in 6lowpan (in French) Routing in 6lowpan (in French)
Routing in 6lowpan (in French)
 
How to use peripherals on MCB1700
How to use peripherals on MCB1700How to use peripherals on MCB1700
How to use peripherals on MCB1700
 
Binary code decimal Adder
Binary code decimal AdderBinary code decimal Adder
Binary code decimal Adder
 
2009 2010-l3-reseau-td2-adressage-routage ip-corrige
2009 2010-l3-reseau-td2-adressage-routage ip-corrige2009 2010-l3-reseau-td2-adressage-routage ip-corrige
2009 2010-l3-reseau-td2-adressage-routage ip-corrige
 
Les transmissions et les supports
Les transmissions et les supportsLes transmissions et les supports
Les transmissions et les supports
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
 
Voip simulation
Voip simulation Voip simulation
Voip simulation
 
ARM Processor Tutorial
ARM Processor Tutorial ARM Processor Tutorial
ARM Processor Tutorial
 
Introduction and Comparison of Microprocessor Chip families
Introduction and Comparison of Microprocessor Chip familiesIntroduction and Comparison of Microprocessor Chip families
Introduction and Comparison of Microprocessor Chip families
 
Fibre optique et fourreaux CC val oust et lanvaux
Fibre optique et fourreaux CC val oust et lanvauxFibre optique et fourreaux CC val oust et lanvaux
Fibre optique et fourreaux CC val oust et lanvaux
 
difference between an Intel Core i3, i5 and i7
difference between an Intel Core i3, i5 and i7difference between an Intel Core i3, i5 and i7
difference between an Intel Core i3, i5 and i7
 
Subnetting Principles Worksheet
Subnetting Principles WorksheetSubnetting Principles Worksheet
Subnetting Principles Worksheet
 
ipv4
ipv4ipv4
ipv4
 
Excess 3 to bcd converter
Excess 3 to bcd converterExcess 3 to bcd converter
Excess 3 to bcd converter
 
Ipv6 the next generation protocol
Ipv6 the next generation protocolIpv6 the next generation protocol
Ipv6 the next generation protocol
 
Routage dans les réseaux ad hoc
Routage dans les réseaux ad hocRoutage dans les réseaux ad hoc
Routage dans les réseaux ad hoc
 
cours-LES RESEAUX HAUTS DEBITS.pdf
cours-LES RESEAUX HAUTS DEBITS.pdfcours-LES RESEAUX HAUTS DEBITS.pdf
cours-LES RESEAUX HAUTS DEBITS.pdf
 
Combinational Circuits
Combinational CircuitsCombinational Circuits
Combinational Circuits
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 

Similaire à Tech talk with Antmicro - Building your world out of blocks with renode and lite x

Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdfZephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdfAswathRangaraj1
 
RISC-V software state of the union
RISC-V software state of the unionRISC-V software state of the union
RISC-V software state of the unionRISC-V International
 
From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embeddedguest0cf711
 
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Frédéric Aatz
 
Linux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloudLinux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloudMicrosoft
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewboxLino Telera
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTStéphanie Roger
 
The tools & technologies behind Resin.io
The tools & technologies behind Resin.ioThe tools & technologies behind Resin.io
The tools & technologies behind Resin.ioGreeceJS
 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source John Willis
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryImesh Gunaratne
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionMohamed Abdallah
 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentFrederick Reiss
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformSZ Lin
 
Tech talk with Antmicro - Building an open source system verilog ecosystem
Tech talk with Antmicro - Building an open source system verilog ecosystemTech talk with Antmicro - Building an open source system verilog ecosystem
Tech talk with Antmicro - Building an open source system verilog ecosystemRISC-V International
 
DEVNET-1112 The DevNet Hackathon Awards
DEVNET-1112	The DevNet Hackathon AwardsDEVNET-1112	The DevNet Hackathon Awards
DEVNET-1112 The DevNet Hackathon AwardsCisco DevNet
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetDavide Cavalca
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip designDrew Fustini
 

Similaire à Tech talk with Antmicro - Building your world out of blocks with renode and lite x (20)

Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdfZephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
 
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoTZephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
 
RISC-V software state of the union
RISC-V software state of the unionRISC-V software state of the union
RISC-V software state of the union
 
From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embedded
 
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
 
Linux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloudLinux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloud
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
 
The tools & technologies behind Resin.io
The tools & technologies behind Resin.ioThe tools & technologies behind Resin.io
The tools & technologies behind Resin.io
 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter Deployment
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux Platform
 
Tech talk with Antmicro - Building an open source system verilog ecosystem
Tech talk with Antmicro - Building an open source system verilog ecosystemTech talk with Antmicro - Building an open source system verilog ecosystem
Tech talk with Antmicro - Building an open source system verilog ecosystem
 
DEVNET-1112 The DevNet Hackathon Awards
DEVNET-1112	The DevNet Hackathon AwardsDEVNET-1112	The DevNet Hackathon Awards
DEVNET-1112 The DevNet Hackathon Awards
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip design
 

Plus de RISC-V International

London Open Source Meetup for RISC-V
London Open Source Meetup for RISC-VLondon Open Source Meetup for RISC-V
London Open Source Meetup for RISC-VRISC-V International
 
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...RISC-V International
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VRISC-V International
 
Standardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-VStandardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-VRISC-V International
 
Semi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V coresSemi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V coresRISC-V International
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipRISC-V International
 
RISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor FamilyRISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor FamilyRISC-V International
 
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V International
 
RISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentorRISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentorRISC-V International
 
RISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V International
 
RISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notesRISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notesRISC-V International
 
Ripes tracking computer architecture throught visual and interactive simula...
Ripes   tracking computer architecture throught visual and interactive simula...Ripes   tracking computer architecture throught visual and interactive simula...
Ripes tracking computer architecture throught visual and interactive simula...RISC-V International
 

Plus de RISC-V International (20)

WD RISC-V inliner work effort
WD RISC-V inliner work effortWD RISC-V inliner work effort
WD RISC-V inliner work effort
 
RISC-V Zce Extension
RISC-V Zce ExtensionRISC-V Zce Extension
RISC-V Zce Extension
 
RISC-V Online Tutor
RISC-V Online TutorRISC-V Online Tutor
RISC-V Online Tutor
 
London Open Source Meetup for RISC-V
London Open Source Meetup for RISC-VLondon Open Source Meetup for RISC-V
London Open Source Meetup for RISC-V
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
 
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
 
Standardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-VStandardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-V
 
Semi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V coresSemi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V cores
 
Security and functional safety
Security and functional safetySecurity and functional safety
Security and functional safety
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket Chip
 
RISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor FamilyRISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor Family
 
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_gen
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
 
RISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentorRISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentor
 
RISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmware
 
RISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notesRISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notes
 
Ripes tracking computer architecture throught visual and interactive simula...
Ripes   tracking computer architecture throught visual and interactive simula...Ripes   tracking computer architecture throught visual and interactive simula...
Ripes tracking computer architecture throught visual and interactive simula...
 
Porting tock to open titan
Porting tock to open titanPorting tock to open titan
Porting tock to open titan
 
Open j9 jdk on RISC-V
Open j9 jdk on RISC-VOpen j9 jdk on RISC-V
Open j9 jdk on RISC-V
 

Dernier

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Dernier (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Tech talk with Antmicro - Building your world out of blocks with renode and lite x

  • 1. RISC-V Summit, December 8-10, 2020 Piotr Zierhoffer, pzierhoffer@antmicro.com Building your world out of blocks with Renode and LiteX
  • 2. ANTMICRO Building your world out of blocks with Renode and LiteX • Turning ideas into software-driven products • We use, develop, advocate open source • Member of Linux Foundation, Zephyr Project, CHIPS Alliance, OpenPOWER Foundation, Strategic Founding member of RISC-V International • Introducing new design methodologies and workflows based on open source
  • 3. TYPICAL PRODUCT DEVELOPMENT CYCLE (SIMPLIFIED) • Time consuming • Expensive • Sequential Building your world out of blocks with Renode and LiteX Analyze requirements Select or prepare custom hardware Write software Reevaluate hardware decisions Update hardware Update software
  • 4. AN ALTERNATIVE • Prepare the hardware up front • Wait with software development until hardware is ready • Constrain your software with capabilities of hardware • Go through the whole development process to verify if your product actually works Work incrementally following the evolution of your project Develop software early in the product life cycle Adjust all pieces to match your product needs Test all components in a CI environment, for all changes of software OR hardware Building your world out of blocks with Renode and LiteX
  • 6.
  • 7. Open source hardware-simulation framework for: • Development of complex software for embedded and IoT systems • Architectural exploration and research • Pre-silicon prototyping and HW-SW co-development What is Renode?
  • 11. Renode-based Continuous Integration workflow for IoT systems
  • 12. TESTING.RENODE.IO Building your world out of blocks with Renode and LiteX
  • 13. uart: UART.MiV_CoreUART @ sysbus 0x70001000 clockFrequency: 66000000 cpu: CPU.RiscV @ sysbus cpuType: "rv32g" plic: Interrupts.PlatformLevelInterruptController @ sysbus 0x40000000 IRQ -> cpu@1 numberOfSources: 31 //based on release notes Platform description format
  • 14. LITEX SOC GENERATOR • Powered by Migen • Allows to create an SoC with different CPUs • Supports many vendor tools as well as open source • Creates a basic BSP along with the design Building your world out of blocks with Renode and LiteX
  • 15. LITEX ECOSYSTEM Building your world out of blocks with Renode and LiteX
  • 16. LITEX ECOSYSTEM • Zephyr port • Linux port • Active community ▫ IRC: #litex @ freenode.net ▫ mailing list: linux-litex@googlegroups.com Building your world out of blocks with Renode and LiteX
  • 17. PUTTING THE BLOCKS TOGETHER Building your world out of blocks with Renode and LiteX
  • 18. DYNAMIC LITEX SYSTEM Building your world out of blocks with Renode and LiteX
  • 19. uart: UART.MiV_CoreUART @ sysbus 0x70001000 clockFrequency: 66000000 cpu: CPU.RiscV @ sysbus cpuType: "rv32g" plic: Interrupts.PlatformLevelInterruptController @ sysbus 0x40000000 IRQ -> cpu@1 numberOfSources: 31 //based on release notes Platform description format
  • 20. LITEX-RENODE • LiteX generates a platform description in csr.csv output file • Automatic generation from LiteX configuration (CSV) ▫ platform (REPL) ▫ script (RESC) ▫ Zephyr DTS overlay • Perfect for CI setup Building your world out of blocks with Renode and LiteX
  • 21. Always stay in control
  • 23. DEBUG ALWAYS AVAILABLE (machine) cpu StartGdbServer 3333 (gdb) target remote :3333 (gdb) break whenever_i_want_to (gdb) continue Building your world out of blocks with Renode and LiteX
  • 24. CUSTOM INSTRUCTIONS AND CSR SUPPORT RegisterCSR((ulong)0x3e1, () => counterValue, value => UpdateCounter(value)); InstallCustomInstruction(pattern: "0000011-----sssss---ddddd0001011", handler: HandleMaskirqInstruction); private void HandleMaskirqInstruction(UInt64 opcode) { var rd = (int)BitHelper.GetValue(opcode, 7, 5); var rs = (int)BitHelper.GetValue(opcode, 15, 5); var newValue = (uint)X[rs].RawValue; var previousValue = disabledInterrupts; disabledInterrupts = newValue; if(rd != 0) { X[rd] = previousValue; } } Building your world out of blocks with Renode and LiteX
  • 25. WHY EVEN RECOMPILE? (machine) cpu InstallCustomInstructionHandlerFromString "00010100011100000000000010010011" "cpu.DebugLog('I’m running Python here!')" Building your world out of blocks with Renode and LiteX
  • 27. THANK YOU FOR YOUR ATTENTION!