mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-11-28 11:21:45 -05:00
PoC: PicoRV32 interrupts
A proof-of-concept of enabling PicoRV32 interrupts. Two interrupt
sources, which can be triggered by writes to memory addresses, are
added. The design has only been simulated, not run on hardware.
Synthesis:
Ice40 LC utilization is 93% (4934/5280) when built using tkey-builder:4
Simulation:
A `tb_application_fpga_irqpoc` target is added. Running `make
tb_application_fpga_irqpoc` creates `tb_application_fpga_sim.fst` which
can be inspected in GTKWave or Surfer.
Firmware:
A simple firmware is added in `fw/irqpoc`. It enables both interrupts
and triggers each interrupt once.
Custom PicoRV32 instructions are located in `custom_ops.S`. It is
imported from upstream PicoRV32 commit:
70f3c33ac8
This commit is contained in:
parent
d2c7fb0ba9
commit
5e15b40a86
10 changed files with 363 additions and 31 deletions
10
hw/application_fpga/fw/irqpoc/main.c
Normal file
10
hw/application_fpga/fw/irqpoc/main.c
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/*
|
||||
* Copyright (C) 2022, 2023 - Tillitis AB
|
||||
* SPDX-License-Identifier: GPL-2.0-only
|
||||
*/
|
||||
|
||||
int main(void)
|
||||
{
|
||||
while (1) {
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue