kaist-cp / cs492-uarch

35 stars 1 forks source link

About RTL verification and coverage-driven fuzzing targeting hazardflow design. #51

Closed JongyCysec closed 1 month ago

JongyCysec commented 1 month ago

Firstly, I'm worried that this question may be off-topic or irrelevant to the lesson and I'm worried that this question is quite open so it's hard to answer definitely and it may bother you.

RTL Verification

According to the lecture note(https://docs.google.com/document/d/1VddAsurGBaMQRDUtRzxSSitqBwzwy6uKHVh0ZlJUI60/edit?tab=t.0#heading=h.ezw0to49lua8), I've been taking a look at RTL design fuzzing.

And I become curious that a new hdl (hazardflow) can contribute to more effective way of RTL design fuzzing.

Existing works

RFUZZ (ICCAD '18)

DIFUZZRTL (S&P '21)

DIFUZZRTL coverage instrumentation

In DIFUZZRTL fuzzing framework, the paper implements RTL compiler pass for control register coverage instrumentation. (And the paper said that it modified two different HDL processing tools, Pyverilog and FIRRTL compiler)

And such control-register coverage instrumentation includes the process of identifying control registers in RTL through a static analysis. Process of identifying control-register is simplified as below. 1) Build a graph representing the connections between elements (regs, wires, muxes) in the module 2) Perform backward data-flow analysis for each mux's control signal 3) If backward data-flow tracing reaches a register, then conclude such a register is the control register since its value will be directly/indirectly used to control the mux's behavior. 4) If the backward tracing either goes beyond the module boundary or reaches the already traced point, the analysis stops.

In other words, it requires the static process of identifying targets to be monitored which are expected to contribute to state transition before monitoring the target control register dynamically.

Programming Language Support of Hazardflow for Monitoring and Coverage of Fuzzing & Verification

At this point, in my personal opinion, fuzzing targeting hazardflow hdl has relative benefits if appropriate compiler pass for fuzzing framework is implemented on above current hazardflow compiler.

So, it would be really thankful if I can get your any opinion or feedback.

JongyCysec commented 1 month ago

I realize my recent question may have been a bit , so never mind this question. I really appreciate the thoughtful responses you’ve been providing