IBM / chiffre

A fault-injection framework using Chisel and FIRRTL
Apache License 2.0
33 stars 14 forks source link

Handling of Aggregate Types #14

Closed aroelke closed 6 years ago

aroelke commented 6 years ago

It might be useful and/or convenient for Chiffre to be able to handle aggregate types itself, without requiring them to be divided into their members, recursively if required, to get ground types. I think this would be useful in addition to handling individual members of aggregate types, so users can specify fault injection on entire registers that have fields or on just some of those fields, depending on what they need.

seldridge commented 6 years ago

I'm in agreement. Both aggregate injection and injection into a slice of an aggregate should be enabled. If the user has to modify the circuit to enable fault injection, then the whole promise of Chiffre is broken.

This will be on hold until I get full testing online (#4). I'll include pending tests for these known limitations in the companion PR (#15).

aroelke commented 6 years ago

Working on this with PR #18. It works when I test it with a custom FCSR I made that essentially just bundles up FRM and FFLAGS into one register, but not with some others like MSTATUS.

seldridge commented 6 years ago

Fixed via #18.