mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-11-23 01:01:44 -05:00
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:
|
||
|---|---|---|
| .. | ||
| clk_reset_gen | ||
| fw_ram | ||
| picorv32 | ||
| ram | ||
| rom | ||
| timer | ||
| tk1 | ||
| touch_sense | ||
| trng | ||
| uart | ||
| uds | ||