RTL to vFactoryNền tảng EDA, CAD và mô phỏng thế hệ mới

Từ thiết kế RTL đến mạch, PCB, 3D (ALcad) và mô phỏng quy trình đúc chip (nhà máy ảo), tất cả được kết nối liền mạch trong một ứng dụng 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
Lập chỉ mục AST nhanh1

Phân tích cú pháp gia tăng cho cơ sở mã RTL và mô-đun hàng triệu dòng trong dưới 40 giây

100%
Tuân thủ cú pháp2

Vượt qua mọi trường hợp của bộ kiểm thử hồi quy cú pháp IEEE 1800-2017 SystemVerilog được chỉ định

10x
Chu kỳ kiểm chứng ngắn hơn3

Giảm vòng lặp gỡ lỗi bằng phân tích DRC và CDC tự động trước tổng hợp

Zero
Giao diện mở, không phụ thuộc nhà cung cấp4

Kết nối quy trình hiện có qua MCP và CLI

AI bạn thích. Công cụ thiết kế bạn quen dùng.

Tích hợp mô hình AI5
OpenAI
Anthropic Claude
xAI Grok
Z.ai
Công nghệ và công cụ được hỗ trợ5
IEEE SystemVerilog
UVM
SystemC
IP-XACT
Verilator
Google XLS
Python
Git
GitHub
GitLab

Phần cứng mã nguồn mở thiết kế bằng Altifigence6

Dự án phần cứng mã nguồn mở tham chiếu được tổng hợp và kiểm chứng bằng bộ công cụ Altifigence.

Tin mới nhất

Xem tất cả

Đang tải tin tức.

Ghi chú phát hành

Altifigence Docs