RTL to vFactoryEDA, CAD y simulación de nueva generación

Desde el diseño RTL hasta circuitos, PCB, 3D (ALcad) y la simulación de procesos y fábricas (fábrica virtual), todo conectado en una sola aplicación de 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
Indexación AST rápida1

Análisis incremental de grandes bases de código RTL y módulos con millones de líneas en menos de 40 segundos

100%
Conformidad sintáctica2

Se superan todos los casos de una batería designada de pruebas de regresión de sintaxis IEEE 1800-2017 SystemVerilog

10x
Ciclos de verificación más cortos3

Reduce los ciclos de depuración con análisis DRC y CDC automáticos antes de la síntesis

Zero
Interfaces abiertas sin dependencia de proveedor4

Conecta los flujos existentes mediante MCP y CLI

Tu IA preferida. Tus herramientas de diseño habituales.

Integraciones de modelos de IA5
OpenAI
Anthropic Claude
xAI Grok
Z.ai
Tecnologías y herramientas compatibles5
IEEE SystemVerilog
UVM
SystemC
IP-XACT
Verilator
Google XLS
Python
Git
GitHub
GitLab

Hardware de código abierto diseñado con Altifigence6

Un proyecto de referencia de hardware de código abierto sintetizado y verificado con las herramientas de Altifigence.

Últimas noticias

Ver todas

Cargando noticias.

Notas de versión

Altifigence Docs