SlideShare a Scribd company logo
Enhancing Verification Coverage for
RISC-V Vector Extension Using RISCV-DV
DingKai Huang, Andes Technology
Tao Liu, Google
Agenda
Motivation
1
RISCV-DV Framework
2
Vector Extension in RISCV-DV
3
Case study: Andes NX27V
4
Taking RISC-V® Mainstream 3
Vector
Computation
Integer arithmetic
Atomic memory operation
Fixed-point arithmetic
Memory access
Floating-point arithmetic
Vector reduction
Vector mask
Permutation
Length agnostic
Register grouping
Masking
32 vector registers
Scalar operands
Vector operands
Control and status registers
RISC-V Vector Extension
Taking RISC-V® Mainstream 4
Enhance Verification Coverage
RISCV-DV
Open source
ISA Extensions
uArchitecture-aware
Randomness
Performance
Extendibility
Instruction variation Sequence Programmer’s model
Architecture uArchitecture
Arithmetic
Load Br Add SEW VL LMUL
RVV RV32 RV64
FSM
Issue
Scoreboard
FIFO
RF
Privileged Architecture
Memory Access
Permutation
Taking RISC-V® Mainstream 5
RISCV-DV Framework
RISCV-DV
source code
Compile
generator
Generate
assembly
Compiler
ISS sim
RTL sim
Compare
Binary
Assembly
Log
Log
Simulator
Simulator
ISS
ISS
Simulator
Taking RISC-V® Mainstream 6
RISCV-DV Program Generator
Generated Program
RISC-V
Program
Generator
Modular ISA classes
I M C F
D A V X
RISC-V processor
configuration
Page table
generator
Illegal instruction
generator
Trap handler
generator
Data/stack section
generator
Directed
instruction stream
Initialization routine
Main program
Sub program 0
… ...
Sub program n
Interrupt / trap handler
Data sections
Stack section
Instruction
Page table
Taking RISC-V® Mainstream 7
Vector Extension Implementation Status
Instruction class
refactoring
Basic V0.8
arithmetic
instruction support
Vector extension implementation from Andes
Support register grouping, unit load/store etc
Merged V0.8 basic
version
Added v0.8 strided/indexed
load/store, vector AMO etc
Vector extension v0.8 ->
v0.9 migration (WIP)
Vector extension v0.8 tag
release
Vector extension v0.9 ->
v1.0 migration
Vector extension coverage
model, co-simulation flow
Future
work
RISCV-DV Upstream
Taking RISC-V® Mainstream 8
Vector Extension in RISCV-DV
Vector V0.9 Vector Instructions
Programmer’s Model
Integer Arithmetic
Memory Access
Permutation
V/X/F GPR
Configuration Setting
Floating-Point/Fix-Point
Reduction
Mask
Initialization
Register Grouping
Random Selection
Random VTYPE/VL
Random LMUL
AMO
Taking RISC-V® Mainstream 9
Vector Extension Programmer’s Model
SEW SEW SEW SEW
VLEN
0
1
2
3
4
5
6
7 LMUL
Fractional LMUL
VSTART
VL
Mask
SEW
EEW=2*SEW
Widening
SEW
EEW=2*SEW
Narrowing
VMA/VTA
Taking RISC-V® Mainstream 10
Make a Vector Instruction Legal
Vector
Instruction
LMUL
SEW
Destination Reg
Source Reg
VL
VSTART
Mask
VLEN
XLEN
FLEN
ELEN
(2*SEW <= ELEN) and (2*LMUL <= 8)
Widening
Destination Reg != V0
Masked
Destination Reg != Source Reg
Others
SEW < ELEN
LMUL ≤ 8
VSTART<VL
FP ELEN>=64 for Quad widening
VL < VLEN*LMUL/SEW
SEW < 64
All
Reg Index % vlmul == 0
Reg Index % (2*vlmul) == 0
Others
Taking RISC-V® Mainstream 11
Additional Build-in Features
Address Mode Unitstrided
Strided
Indexed
Address Randomization Address Span
Data Page
Page Size
Register Reg Reservation
Base Address Setup
Vector Load/Store
Segment
V2 V4 V6
…
Reserved vector register
VV VX VI …
Allowed variants
VF
VEC ZVLSSEG FF
Instruction subgroups
Vector load store stream
Taking RISC-V® Mainstream 12
Case Study: Andes NX27V
• AndeStar™ V5 ISA
– RISC-V compliant
– Andes Extensions
• Andes Custom Extension™ (ACE)
• Advanced CoDense™ technology
• RISC-V Vector extension
– Out-of-Order
– Andes extended format for AI
Taking RISC-V® Mainstream 13
Andes RISCV-DV Framework
Randomized Processor
Configuration
RISCV-DV
Program Constraint
Program Andes RISC-V SoC
ISS Co-simulation
Coverage
Monitors
Assertions
Modular ISA classes
I M C F
D A V X Andes ISA Extensions
Taking RISC-V® Mainstream 14
Andes CoSimulation Flow
RISCV-DV
Compiler
Assembly
Link Script Binary
ISS
Memory
Andes
NX27V
Simulation Log
Compare
Andes SoC
Taking RISC-V® Mainstream 15
Customize an Instruction Stream
riscv_rand_instr_test
andes_rand_instr_test
• Override generation config
• Simulation control
• Directed instruction streams
instr_limit_test
RVV
Arithmetic
Functional Unit Stress Test
Issue Unit Stress Test
Scoreboard Stress Test
Others
Others
riscv_rand_instr_stream
andes_rand_instr_stream
• Customized
randomization
constraint
init_vector_gpr
randomize_gpr
randomize_instr
insert_instr
mix_instr_steram
insert_instr_stream
Taking RISC-V® Mainstream 16
Constrained Random Verification
Vector Extension
F/D Extension
XLEN/VLEN
ELEN
VTYPE/VL/LMUL
Mask
Instruction Sets
HW Configurations
Vector Configurations
Constraints
Instruction Sequence
Custom Extension
Additional Constraints
B2B Instructions
Register Dependences
Taking RISC-V® Mainstream 17
uArch-level Constrained Random
Scoreboard
Issue Logic
FIFOs
FUs
GPR Dependency
Instruction with Long Latency
B2B Issue
Interleaved FUs
Full/Empty
B2B Execution
Micro Operations
RF Maximum Read Port
VIQ
Issue Issue
Issue
FP INT L/S
Scoreboard
VRF
…
Taking RISC-V® Mainstream 18
Instruction Streams
• Back-to-Back Execution
Integer ADD
Integer SUB
Floating-Point ADD
Floating-Point SUB
• Register dependency
V1 = V2 + V3
V4 = V1 + V4
Integer ADD V0
Mask
Integer SUB • Structural Hazard
V1
Load
Integer ADD
Vpermute
V1
LS Unit
Integer Unit
• FIFO
VDIV
VADD
VSUB
Long latency
Taking RISC-V® Mainstream 19
Bugs Found
VIQ
Issue Issue
Issue
FP INT L/S
Scoreboard
Decode
VRF
…
Data Dependency
• Between functional Units
Structural Hazard
• Read port conflict
• Write port conflict
ISS Bugs
• Unexpected exception
• CSR update
• Unexpected value for
corner case
Floating-Point
• Scalar operand with mask
• Precision change
• NaN value
Unexpected illegal exception
• LMUL
• SEW
Taking RISC-V® Mainstream 20
Future Work
• Vector extension support for spec v1.0
• Illegal instruction testing for vector extension
• Functional coverage model for vector extension
Andes enhancing verification coverage for risc v vector extension using riscv-dv

More Related Content

What's hot

Getting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testingGetting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testing
RISC-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 cores
RISC-V International
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
Gopi Krishnamurthy
 
Online test program generator for RISC-V processors
Online test program generator for RISC-V processorsOnline test program generator for RISC-V processors
Online test program generator for RISC-V processors
RISC-V International
 
Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53
Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53
Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53
KarthiSugumar
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
Hisaki Ohara
 
Closing the RISC-V compliance gap via fuzzing
Closing the RISC-V compliance gap via fuzzingClosing the RISC-V compliance gap via fuzzing
Closing the RISC-V compliance gap via fuzzing
RISC-V International
 
Introduction to RISC-V
Introduction to RISC-VIntroduction to RISC-V
Introduction to RISC-V
inside-BigData.com
 
“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core
“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core
“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core
AMD
 
Riscv 20160507-patterson
Riscv 20160507-pattersonRiscv 20160507-patterson
Riscv 20160507-patterson
Krste Asanovic
 
AMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor ArchitectureAMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor Architecture
AMD
 
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSXOVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud
 
Arm architecture
Arm architectureArm architecture
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
Denys Haryachyy
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
Denys Haryachyy
 
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Bruno Teixeira
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
RISC-V International
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux Kernel
Kernel TLV
 
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML AcceleratorsRISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V International
 

What's hot (20)

Getting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testingGetting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testing
 
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
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
 
Online test program generator for RISC-V processors
Online test program generator for RISC-V processorsOnline test program generator for RISC-V processors
Online test program generator for RISC-V processors
 
Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53
Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53
Architecture Exploration of RISC-V Processor and Comparison with ARM Cortex-A53
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Closing the RISC-V compliance gap via fuzzing
Closing the RISC-V compliance gap via fuzzingClosing the RISC-V compliance gap via fuzzing
Closing the RISC-V compliance gap via fuzzing
 
Introduction to RISC-V
Introduction to RISC-VIntroduction to RISC-V
Introduction to RISC-V
 
“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core
“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core
“Zen 3”: AMD 2nd Generation 7nm x86-64 Microprocessor Core
 
Riscv 20160507-patterson
Riscv 20160507-pattersonRiscv 20160507-patterson
Riscv 20160507-patterson
 
AMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor ArchitectureAMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor Architecture
 
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSXOVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
OVHcloud Hosted Private Cloud Platform Network use cases with VMware NSX
 
Arm architecture
Arm architectureArm architecture
Arm architecture
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux Kernel
 
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML AcceleratorsRISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
 

Similar to Andes enhancing verification coverage for risc v vector extension using riscv-dv

VMware Validated Design
VMware Validated DesignVMware Validated Design
VMware Validated Design
Gabe Akisanmi
 
VMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real projectVMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real project
David Pasek
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
RISC-V International
 
Lets vRealize level -100 Presentation
Lets vRealize level -100 PresentationLets vRealize level -100 Presentation
Lets vRealize level -100 Presentation
Anil Gupta (AJ) - vExpert
 
SemiDynamics new family of High Bandwidth Vector-capable Cores
SemiDynamics new family of High Bandwidth Vector-capable CoresSemiDynamics new family of High Bandwidth Vector-capable Cores
SemiDynamics new family of High Bandwidth Vector-capable Cores
RISC-V International
 
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld
 
VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...
VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...
VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...
VMworld
 
VMware EVO - Fremtidens datarom er hyperkonvergert
VMware EVO - Fremtidens datarom er hyperkonvergertVMware EVO - Fremtidens datarom er hyperkonvergert
VMware EVO - Fremtidens datarom er hyperkonvergert
Kenneth de Brucq
 
A2O Core implementation on FPGA
A2O Core implementation on FPGAA2O Core implementation on FPGA
A2O Core implementation on FPGA
Ganesan Narayanasamy
 
Dev/Test Environment Provisioning and Management on AWS
Dev/Test Environment Provisioning and Management on AWSDev/Test Environment Provisioning and Management on AWS
Dev/Test Environment Provisioning and Management on AWS
Shiva Narayanaswamy
 
Vsphere 4-partner-training180
Vsphere 4-partner-training180Vsphere 4-partner-training180
Vsphere 4-partner-training180
Juan Ulacia
 
Webinar on RISC-V
Webinar on RISC-VWebinar on RISC-V
Webinar on RISC-V
Deepak Shankar
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
QAware GmbH
 
Vm Ware Presentation Key Note
Vm Ware Presentation Key NoteVm Ware Presentation Key Note
Vm Ware Presentation Key Note
csharney
 
Vsphere 4-partner-training180
Vsphere 4-partner-training180Vsphere 4-partner-training180
Vsphere 4-partner-training180
Suresh Kumar
 
Literature Summary.pptx
Literature Summary.pptxLiterature Summary.pptx
Literature Summary.pptx
Hazoor Ahmad
 
Datacenter 2014: IPnett - Martin Milnert
Datacenter 2014: IPnett - Martin MilnertDatacenter 2014: IPnett - Martin Milnert
Datacenter 2014: IPnett - Martin Milnert
Mediehuset Ingeniøren Live
 
StarlingX - Driving Compute to the Edge with OpenStack
StarlingX - Driving Compute to the Edge with OpenStackStarlingX - Driving Compute to the Edge with OpenStack
StarlingX - Driving Compute to the Edge with OpenStack
Stacy Véronneau
 
Everyday tools and tricks for scaling Node.js
Everyday tools and tricks for scaling Node.jsEveryday tools and tricks for scaling Node.js
Everyday tools and tricks for scaling Node.js
Nikolay Stoitsev
 
Virtual firewall framework
Virtual firewall frameworkVirtual firewall framework
Virtual firewall framework
Nithin Babu
 

Similar to Andes enhancing verification coverage for risc v vector extension using riscv-dv (20)

VMware Validated Design
VMware Validated DesignVMware Validated Design
VMware Validated Design
 
VMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real projectVMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real project
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
 
Lets vRealize level -100 Presentation
Lets vRealize level -100 PresentationLets vRealize level -100 Presentation
Lets vRealize level -100 Presentation
 
SemiDynamics new family of High Bandwidth Vector-capable Cores
SemiDynamics new family of High Bandwidth Vector-capable CoresSemiDynamics new family of High Bandwidth Vector-capable Cores
SemiDynamics new family of High Bandwidth Vector-capable Cores
 
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
 
VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...
VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...
VMworld 2013: Datacenter Transformation with Network Virtualization: Today an...
 
VMware EVO - Fremtidens datarom er hyperkonvergert
VMware EVO - Fremtidens datarom er hyperkonvergertVMware EVO - Fremtidens datarom er hyperkonvergert
VMware EVO - Fremtidens datarom er hyperkonvergert
 
A2O Core implementation on FPGA
A2O Core implementation on FPGAA2O Core implementation on FPGA
A2O Core implementation on FPGA
 
Dev/Test Environment Provisioning and Management on AWS
Dev/Test Environment Provisioning and Management on AWSDev/Test Environment Provisioning and Management on AWS
Dev/Test Environment Provisioning and Management on AWS
 
Vsphere 4-partner-training180
Vsphere 4-partner-training180Vsphere 4-partner-training180
Vsphere 4-partner-training180
 
Webinar on RISC-V
Webinar on RISC-VWebinar on RISC-V
Webinar on RISC-V
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
 
Vm Ware Presentation Key Note
Vm Ware Presentation Key NoteVm Ware Presentation Key Note
Vm Ware Presentation Key Note
 
Vsphere 4-partner-training180
Vsphere 4-partner-training180Vsphere 4-partner-training180
Vsphere 4-partner-training180
 
Literature Summary.pptx
Literature Summary.pptxLiterature Summary.pptx
Literature Summary.pptx
 
Datacenter 2014: IPnett - Martin Milnert
Datacenter 2014: IPnett - Martin MilnertDatacenter 2014: IPnett - Martin Milnert
Datacenter 2014: IPnett - Martin Milnert
 
StarlingX - Driving Compute to the Edge with OpenStack
StarlingX - Driving Compute to the Edge with OpenStackStarlingX - Driving Compute to the Edge with OpenStack
StarlingX - Driving Compute to the Edge with OpenStack
 
Everyday tools and tricks for scaling Node.js
Everyday tools and tricks for scaling Node.jsEveryday tools and tricks for scaling Node.js
Everyday tools and tricks for scaling Node.js
 
Virtual firewall framework
Virtual firewall frameworkVirtual firewall framework
Virtual firewall framework
 

More from RISC-V International

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 International
 
RISC-V Zce Extension
RISC-V Zce ExtensionRISC-V Zce Extension
RISC-V Zce Extension
RISC-V International
 
RISC-V Online Tutor
RISC-V Online TutorRISC-V Online Tutor
RISC-V Online Tutor
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-V
RISC-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
 
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
RISC-V International
 
Security and functional safety
Security and functional safetySecurity and functional safety
Security and functional safety
RISC-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 Family
RISC-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_gen
RISC-V International
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
RISC-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_mentor
RISC-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 firmware
RISC-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_notes
RISC-V International
 
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
RISC-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
 
Porting tock to open titan
Porting tock to open titanPorting tock to open titan
Porting tock to open titan
RISC-V International
 
Open j9 jdk on RISC-V
Open j9 jdk on RISC-VOpen j9 jdk on RISC-V
Open j9 jdk on RISC-V
RISC-V International
 
Open source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process nodeOpen source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process node
RISC-V International
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
RISC-V International
 
Gernot heiser unsw sydney and se l4 foundation
Gernot heiser unsw sydney and se l4 foundationGernot heiser unsw sydney and se l4 foundation
Gernot heiser unsw sydney and se l4 foundation
RISC-V International
 

More from 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
 
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...
 
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
 
Security and functional safety
Security and functional safetySecurity and functional safety
Security and functional safety
 
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
 
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
 
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
 
Open source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process nodeOpen source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process node
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
 
Gernot heiser unsw sydney and se l4 foundation
Gernot heiser unsw sydney and se l4 foundationGernot heiser unsw sydney and se l4 foundation
Gernot heiser unsw sydney and se l4 foundation
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 

Andes enhancing verification coverage for risc v vector extension using riscv-dv

  • 1. Enhancing Verification Coverage for RISC-V Vector Extension Using RISCV-DV DingKai Huang, Andes Technology Tao Liu, Google
  • 2. Agenda Motivation 1 RISCV-DV Framework 2 Vector Extension in RISCV-DV 3 Case study: Andes NX27V 4
  • 3. Taking RISC-V® Mainstream 3 Vector Computation Integer arithmetic Atomic memory operation Fixed-point arithmetic Memory access Floating-point arithmetic Vector reduction Vector mask Permutation Length agnostic Register grouping Masking 32 vector registers Scalar operands Vector operands Control and status registers RISC-V Vector Extension
  • 4. Taking RISC-V® Mainstream 4 Enhance Verification Coverage RISCV-DV Open source ISA Extensions uArchitecture-aware Randomness Performance Extendibility Instruction variation Sequence Programmer’s model Architecture uArchitecture Arithmetic Load Br Add SEW VL LMUL RVV RV32 RV64 FSM Issue Scoreboard FIFO RF Privileged Architecture Memory Access Permutation
  • 5. Taking RISC-V® Mainstream 5 RISCV-DV Framework RISCV-DV source code Compile generator Generate assembly Compiler ISS sim RTL sim Compare Binary Assembly Log Log Simulator Simulator ISS ISS Simulator
  • 6. Taking RISC-V® Mainstream 6 RISCV-DV Program Generator Generated Program RISC-V Program Generator Modular ISA classes I M C F D A V X RISC-V processor configuration Page table generator Illegal instruction generator Trap handler generator Data/stack section generator Directed instruction stream Initialization routine Main program Sub program 0 … ... Sub program n Interrupt / trap handler Data sections Stack section Instruction Page table
  • 7. Taking RISC-V® Mainstream 7 Vector Extension Implementation Status Instruction class refactoring Basic V0.8 arithmetic instruction support Vector extension implementation from Andes Support register grouping, unit load/store etc Merged V0.8 basic version Added v0.8 strided/indexed load/store, vector AMO etc Vector extension v0.8 -> v0.9 migration (WIP) Vector extension v0.8 tag release Vector extension v0.9 -> v1.0 migration Vector extension coverage model, co-simulation flow Future work RISCV-DV Upstream
  • 8. Taking RISC-V® Mainstream 8 Vector Extension in RISCV-DV Vector V0.9 Vector Instructions Programmer’s Model Integer Arithmetic Memory Access Permutation V/X/F GPR Configuration Setting Floating-Point/Fix-Point Reduction Mask Initialization Register Grouping Random Selection Random VTYPE/VL Random LMUL AMO
  • 9. Taking RISC-V® Mainstream 9 Vector Extension Programmer’s Model SEW SEW SEW SEW VLEN 0 1 2 3 4 5 6 7 LMUL Fractional LMUL VSTART VL Mask SEW EEW=2*SEW Widening SEW EEW=2*SEW Narrowing VMA/VTA
  • 10. Taking RISC-V® Mainstream 10 Make a Vector Instruction Legal Vector Instruction LMUL SEW Destination Reg Source Reg VL VSTART Mask VLEN XLEN FLEN ELEN (2*SEW <= ELEN) and (2*LMUL <= 8) Widening Destination Reg != V0 Masked Destination Reg != Source Reg Others SEW < ELEN LMUL ≤ 8 VSTART<VL FP ELEN>=64 for Quad widening VL < VLEN*LMUL/SEW SEW < 64 All Reg Index % vlmul == 0 Reg Index % (2*vlmul) == 0 Others
  • 11. Taking RISC-V® Mainstream 11 Additional Build-in Features Address Mode Unitstrided Strided Indexed Address Randomization Address Span Data Page Page Size Register Reg Reservation Base Address Setup Vector Load/Store Segment V2 V4 V6 … Reserved vector register VV VX VI … Allowed variants VF VEC ZVLSSEG FF Instruction subgroups Vector load store stream
  • 12. Taking RISC-V® Mainstream 12 Case Study: Andes NX27V • AndeStar™ V5 ISA – RISC-V compliant – Andes Extensions • Andes Custom Extension™ (ACE) • Advanced CoDense™ technology • RISC-V Vector extension – Out-of-Order – Andes extended format for AI
  • 13. Taking RISC-V® Mainstream 13 Andes RISCV-DV Framework Randomized Processor Configuration RISCV-DV Program Constraint Program Andes RISC-V SoC ISS Co-simulation Coverage Monitors Assertions Modular ISA classes I M C F D A V X Andes ISA Extensions
  • 14. Taking RISC-V® Mainstream 14 Andes CoSimulation Flow RISCV-DV Compiler Assembly Link Script Binary ISS Memory Andes NX27V Simulation Log Compare Andes SoC
  • 15. Taking RISC-V® Mainstream 15 Customize an Instruction Stream riscv_rand_instr_test andes_rand_instr_test • Override generation config • Simulation control • Directed instruction streams instr_limit_test RVV Arithmetic Functional Unit Stress Test Issue Unit Stress Test Scoreboard Stress Test Others Others riscv_rand_instr_stream andes_rand_instr_stream • Customized randomization constraint init_vector_gpr randomize_gpr randomize_instr insert_instr mix_instr_steram insert_instr_stream
  • 16. Taking RISC-V® Mainstream 16 Constrained Random Verification Vector Extension F/D Extension XLEN/VLEN ELEN VTYPE/VL/LMUL Mask Instruction Sets HW Configurations Vector Configurations Constraints Instruction Sequence Custom Extension Additional Constraints B2B Instructions Register Dependences
  • 17. Taking RISC-V® Mainstream 17 uArch-level Constrained Random Scoreboard Issue Logic FIFOs FUs GPR Dependency Instruction with Long Latency B2B Issue Interleaved FUs Full/Empty B2B Execution Micro Operations RF Maximum Read Port VIQ Issue Issue Issue FP INT L/S Scoreboard VRF …
  • 18. Taking RISC-V® Mainstream 18 Instruction Streams • Back-to-Back Execution Integer ADD Integer SUB Floating-Point ADD Floating-Point SUB • Register dependency V1 = V2 + V3 V4 = V1 + V4 Integer ADD V0 Mask Integer SUB • Structural Hazard V1 Load Integer ADD Vpermute V1 LS Unit Integer Unit • FIFO VDIV VADD VSUB Long latency
  • 19. Taking RISC-V® Mainstream 19 Bugs Found VIQ Issue Issue Issue FP INT L/S Scoreboard Decode VRF … Data Dependency • Between functional Units Structural Hazard • Read port conflict • Write port conflict ISS Bugs • Unexpected exception • CSR update • Unexpected value for corner case Floating-Point • Scalar operand with mask • Precision change • NaN value Unexpected illegal exception • LMUL • SEW
  • 20. Taking RISC-V® Mainstream 20 Future Work • Vector extension support for spec v1.0 • Illegal instruction testing for vector extension • Functional coverage model for vector extension