RTL to vFactory新一代 EDA、CAD 与仿真

从 RTL 设计到电路、PCB、3D(ALcad),以及工艺与晶圆厂仿真(虚拟工厂),全都在 Digital Design Studio 单一应用中紧密相连。

FileEditViewGo
rtl altifigence-v002 LLM rtl core cvo CVO_top.sv
41module CVO_top (
// The sub_emax bf16_add (align + 25-bit add + normalize) is the integrated worst
// path; even after the 1a/1b split the align+add together were too long, so the
// barrel-shift align and the 25-bit add are now separated by their own register
// (sa0 holds the sign-extended aligned operands). Latency +1, bit-identical.
bf16_t sa_av_wire, sa_bv_wire;
logic [ 7:0] sa_emax_wire;
logic [23:0] sa_aa_wire, sa_ba_wire;
always_comb begin : comb_sub_emax_align
sa_av_wire = to_bf16(in_data_s0);
sa_bv_wire = to_bf16({~in_emax_s0[15], in_emax_s0[14:0]}); // -e_max
sa_emax_wire = (sa_av_wire.exp > sa_bv_wire.exp) ? sa_av_wire.exp : sa_bv_wire.exp;
sa_aa_wire = align_to_emax(sa_av_wire, sa_emax_wire);
sa_ba_wire = align_to_emax(sa_bv_wire, sa_emax_wire);
end
// Stage sa0 — register the sign-extended aligned operands (align off the adder).
logic signed [24:0] sa0_aa, sa0_ba;
logic [ 7:0] sa0_emax;
logic [15:0] sa0_pass;
logic sa0_subemax;
logic sa0_valid;
always_ff @(posedge clk) begin
if (!rst_n || i_clear) begin
sa0_valid <= 1'b0;
end else begin
sa0_aa <= $signed({sa_aa_wire[23], sa_aa_wire});
sa0_ba <= $signed({sa_ba_wire[23], sa_ba_wire});
sa0_emax <= sa_emax_wire;
sa0_pass <= in_data_s0;
sa0_subemax <= uop_flags.sub_emax;
sa0_valid <= in_valid_s0;
end
end
// Stage 1a-back — the 25-bit signed add, now isolated on its own register stage.
logic signed [24:0] sa_sum;
logic [ 7:0] sa_emax;
logic [15:0] sa_pass; // in_data_s0 carried for the non-sub_emax case
logic sa_subemax;
logic sa_valid;
always_ff @(posedge clk) begin
if (!rst_n || i_clear) begin
sa_valid <= 1'b0;
end else begin
sa_sum <= sa0_aa + sa0_ba;
sa_emax <= sa0_emax;
sa_pass <= sa0_pass;
sa_subemax <= sa0_subemax;
sa_valid <= sa0_valid;
end
end
altifigence_npu_top · 3f9c2a1eShow90%
clk_corerst_n_core6460256256256m_axisu_npu_frontendctrl_npu_frontendclkrst_ninst_data[63:0]instruction[63:0]kicku_decoderctrl_npu_decoderinstruction[63:0]kickgemm_validgemv_validcvo_validop_x64[59:0]u_Global_SchedulerGlobal_Schedulerclkrst_nissue_validgemm_readygemv_readycvo_readyu_systolic_engineGEMM_systolic_topvalidop[59:0]weight[255:0]data[255:0]result[255:0]doneu_GEMV_topGEMV_topvalidop[59:0]data[255:0]result[255:0]doneu_CVO_topCVO_topvalidop[59:0]data[255:0]result[255:0]doneu_mem_dispatchermem_dispatcherclkrst_ns_axi[511:0]weight[255:0]data[255:0]read_validwrite_readyu_norm_lowergemm_result_normalizerdata[255:0]validout[255:0]readyu_packerFROM_gemm_result_packergemm[255:0]gemv[255:0]cvo[255:0]m_axis[255:0]m_valid
Search messages, codes and tagsAll levels
editor · DDS-A100Output panel ready.
editor · DDS-A100Split view enabled (horizontal).
Save · DDS-W100File saved.
editor · DDS-A100Split view closed.
editor · DDS-A100Split view enabled (horizontal).
Save · DDS-W100File saved.
Sample workspaceCVO_top.sv · Ln 123, Col 1 · SplitSystemVerilog
<40s
快速 AST 索引1

在 40 秒内增量解析包含数百万行的大型 RTL 代码库和模块

100%
语法符合性2

通过指定的 IEEE 1800-2017 SystemVerilog 语法回归测试全部用例

10x
缩短验证周期3

在综合前通过自动 DRC 和 CDC 分析减少调试迭代

Zero
开放接口,无供应商锁定4

通过 MCP 和 CLI 连接现有流水线

您偏好的 AI,您熟悉的设计工具。

AI 模型集成5
OpenAI
Anthropic Claude
xAI Grok
Z.ai
支持的技术与工具5
IEEE SystemVerilog
UVM
SystemC
IP-XACT
Verilator
Google XLS
Python
Git
GitHub
GitLab

使用 Altifigence 设计的开源硬件6

使用 Altifigence 工具链综合并验证的开源硬件参考项目。

最新消息

查看全部

正在加载新闻。

版本更新

Altifigence Docs