lowRISC / lowRISC/synfi

Gate type not found

Open
#69 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
18
Forks
8
PR merge metrics
No merged PRs in 30d

Description

Greetings,

I'm trying to run the example provided in the README to familiarize with this tool. It all seems to work, up until I run the actual analysis:
```
venv) osboxes@osboxes:~/synfi$ ./fi_injector.py -p output/circuit.pickle -f examples/fault_model.json -n 16 -c cell_lib_nangate45_autogen.py
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2024-09-12 16:46:55.961064: Starting FI Injector for fault model rnd_ctr with 2 simultaneous faults.
Injecting 6 faults...
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_QN not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_QN not found.
(pid=6097) Err: Gate type DFFR_X1_QN not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFS_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_QN not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_QN not found.
(pid=6097) Err: Gate type DFFR_X1_QN not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFS_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6097) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_QN not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_QN not found.
(pid=6096) Err: Gate type DFFR_X1_QN not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFS_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_QN not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_QN not found.
(pid=6096) Err: Gate type DFFR_X1_QN not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFS_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6096) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_QN not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_QN not found.
(pid=6151) Err: Gate type DFFR_X1_QN not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFS_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_QN not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_QN not found.
(pid=6151) Err: Gate type DFFR_X1_QN not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFS_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
(pid=6151) Err: Gate type DFFR_X1_Q not found.
2024-09-12 16:47:01,285 WARNING worker.py:1228 -- WARNING: 9 PYTHON worker processes have been started on node: 2f5f4aa088ba5a1f2c1fb8cf810026377b1b9911c9801ebe849092b0 with address: 10.0.2.15. This could be a result of using a large number of actors, or due to tasks blocked in ray.get() calls (see https://github.com/ray-project/ray/issues/3644 for some discussion of workarounds).
Found 4 (66.67%) effective combinational faults, 0 (0.0%) effective sequential faults, and 2 ineffective faults.
Circuit size of the whole circuit: 489.33 GE and of the analyzed target graph: 183.67 GE.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
fi_injector.py successful (8.62s)
```
Are all those gate type errors impacting the analysis? What's causing them? I downloaded the `NangateOpenCellLibrary_typical.lib` file from [here](https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/tree/master/flow/platforms/nangate45/lib), as it seems to be indicated in the README. Should I have downloaded other files as well?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the README example and the fi_injector.py command using output/circuit.pickle, examples/fault_model.json, and cell_lib_nangate45_autogen.py. Compare the generated cell definitions with NangateOpenCellLibrary_typical.lib and trace where DFFR_X1_Q, DFFR_X1_QN, and DFFS_X1_Q are looked up. Done means the example's gate-type errors are explained and the documented setup or example behaves consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.