feat: init mlkem project with Verilator test framework

- sync_rtl/common/: skid_buffer, pipeline_reg, defines (valid/ready)
- sync_rtl/mod_add/: modular adder example with Verilator C++ TB
- test_framework/: Python-driven Verilator compile/sim/compare pipeline
- test_framework/modules/mod_add/: 50-vector test plan, full鏈路 PASS
- .trellis/spec/: RTL and test_framework conventions documented
This commit is contained in:
2026-06-24 19:43:29 +08:00
commit 8fdf944555
216 changed files with 24140 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design internal header
// See Vmod_add_sync.h for the primary calling header
#ifndef VERILATED_VMOD_ADD_SYNC___024ROOT_H_
#define VERILATED_VMOD_ADD_SYNC___024ROOT_H_ // guard
#include "verilated.h"
class Vmod_add_sync__Syms;
class alignas(VL_CACHE_LINE_BYTES) Vmod_add_sync___024root final {
public:
// DESIGN SPECIFIC STATE
VL_IN8(clk,0,0);
VL_IN8(rst_n,0,0);
VL_IN8(valid_i,0,0);
VL_OUT8(ready_o,0,0);
VL_OUT8(valid_o,0,0);
VL_IN8(ready_i,0,0);
CData/*0:0*/ mod_add_sync__DOT__u_pipe__DOT__valid_r;
CData/*0:0*/ __VstlFirstIteration;
CData/*0:0*/ __VstlPhaseResult;
CData/*0:0*/ __VicoFirstIteration;
CData/*0:0*/ __VicoPhaseResult;
CData/*0:0*/ __Vtrigprevexpr___TOP__clk__0;
CData/*0:0*/ __Vtrigprevexpr___TOP__rst_n__0;
CData/*0:0*/ __VactPhaseResult;
CData/*0:0*/ __VnbaPhaseResult;
VL_IN16(a,11,0);
VL_IN16(b,11,0);
VL_OUT16(sum,11,0);
SData/*12:0*/ mod_add_sync__DOT__add_raw;
SData/*11:0*/ mod_add_sync__DOT__u_pipe__DOT__data_r;
IData/*31:0*/ __VactIterCount;
VlUnpacked<QData/*63:0*/, 1> __VstlTriggered;
VlUnpacked<QData/*63:0*/, 1> __VicoTriggered;
VlUnpacked<QData/*63:0*/, 1> __VactTriggered;
VlUnpacked<QData/*63:0*/, 1> __VnbaTriggered;
// INTERNAL VARIABLES
Vmod_add_sync__Syms* vlSymsp;
const char* vlNamep;
// CONSTRUCTORS
Vmod_add_sync___024root(Vmod_add_sync__Syms* symsp, const char* namep);
~Vmod_add_sync___024root();
VL_UNCOPYABLE(Vmod_add_sync___024root);
// INTERNAL METHODS
void __Vconfigure(bool first);
};
#endif // guard