TENSIX TILE ATLASISA → MICROARCH → RTL
导论/学习导航
RTL 快照 · 7fce58a
RTL LEARNER'S HANDBOOK00

从指令到门级之前
读懂一个 Tensix Tile

这是 Tenstorrent Wormhole B0 计算瓦片的 SystemVerilog 实现的中文学习站。内容来自 tensix_rtl/docs_cn,按架构 → 指令集 → 顶层 → 核 → 前端 → 后端 → 存储 → 寄存器 → 外设的顺序组织,每个 RTL 模块都有一篇讲「为什么这么做、具体怎么做」的文档,并可一键跳到对应源码行。

5 + 3RISC-V 核 / 硬件线程9后端执行单元113条 Tensix 指令106个 RTL 文件 · 46k 行

一张图看懂整体结构

点击任意方块,直接进入对应模块的精读文档。

建议阅读路径

第一次接触这套设计,按下面 14 步读,能最快建立全局观;之后再按需深入每个子模块。

按问题查

Q1

一条 MVMUL 到底算什么?
看 矩阵指令手册 的 fidelity 与 RWC 字段,再读 matrix_pipe 的 5 级流水。

Q2

数据怎么从 L1 进到 SrcA/SrcB?
从 数据流全景 开始,然后读 unpacker 及其 6 个子模块。

Q3

三个线程怎么不打架?
读 同步与配置模型、wait_gate 与 sync_unit。

Q4

哪些地方不能信注释?
先扫一遍 已知问题:过时注释、桩模块、靠约定保证的行为都在这里。

本站怎么用

搜索

按 / 打开全文搜索,可搜指令名、信号名、模块名。

跳源码

文中的 matrix_ctrl.sv:272 这类引用都可点击,在源码浏览器里高亮对应行。

本页目录

右侧目录跟随滚动高亮;左侧分组可折叠,当前章节自动展开。

文档更新

Markdown 直接从 docs/ 加载,改完刷新即可,不需要重新构建。

SOURCE TREESV

RTL 源码文件

共 106 个文件。点击文件名进入源码浏览器(带行号与语法着色),点击「文档」进入该模块的精读文档。

按目录

文件行数文档
rtl/backend/
backend_dispatch.sv383文档
config_unit.sv656文档
rtl/backend/matrix/
matrix_accum.sv42文档
matrix_ctrl.sv671文档
matrix_fidelity_decode.sv98文档
matrix_fp_dot.sv305文档
matrix_fpu_elem.sv484文档
matrix_gmpool.sv11文档
matrix_int8_dot.sv122文档
matrix_mac_core.sv38文档
matrix_move.sv914文档
matrix_operand_fetch.sv19文档
matrix_pack_wb.sv12文档
matrix_pipe.sv501文档
matrix_types.sv23文档
matrix_unit.sv1,300文档
rtl/backend/
misc_unit.sv325文档
mover_unit.sv468文档
packer.sv772文档
packer_addrgen.sv538文档
packer_compress.sv751文档
packer_dataread.sv594文档
packer_decode.sv375文档
packer_format_early.sv660文档
packer_format_late.sv689文档
packer_output.sv1,422文档
packer_processing.sv957文档
scalar_unit.sv1,358文档
sync_unit.sv687文档
unp_l1_shared_mux.sv128文档
unpacker.sv1,116文档
unpacker_addrgen.sv1,408文档
unpacker_consume.sv1,769文档
unpacker_decode.sv941文档
unpacker_fetch.sv1,429文档
unpacker_format_conv.sv556文档
rtl/backend/vector_unit/
sfpu_fp_wh_pkg.sv519文档
sfpu_load_unit.sv399文档
sfpu_mad_unit.sv394文档
sfpu_round_unit.sv616文档
sfpu_simple_unit.sv947文档
sfpu_store_unit.sv459文档
vector_unit.sv1,332文档
rtl/common/
edge_detect.sv26文档
icg_cell.sv21文档
multi_wr_fifo.sv117文档
onehot_mux.sv24文档
pipe_reg.sv41文档
priority_arb.sv25文档
reset_sync.sv35文档
round_robin_arb.sv77文档
rst_clk_seq.sv148—
skid_buffer.sv68文档
sram_1r1w.sv38文档
sram_1rw.sv90文档
sram_2rw.sv56文档
sync_fifo.sv154文档
tensix_sva.svh60文档
rtl/core/
baby_lsu.sv746文档
baby_riscv_store_buffer.sv279文档
baby_riscv_top.sv367文档
ibex_wrapper.sv817文档
tensix_coprocessor.sv3,209文档
rtl/frontend/
frontend.sv559文档
mop_expander.sv647文档
replay_expander.sv230文档
wait_gate.sv383文档
rtl/memory/
core_l1_bridge.sv662文档
l1_bank.sv85文档
l1_bank_ctrl.sv366文档
l1_fp_adder.sv255文档
l1_memory.sv125文档
l1_mux.sv359文档
l1_port_premux.sv151文档
l1_port_rr_mux.sv111文档
rtl/mmio/
tensix_mmio.sv743文档
rtl/noc/
niu_atomic_engine.sv75文档
niu_cfg_regs.sv221文档
niu_completion.sv68文档
niu_multicast.sv71文档
niu_packet_router.sv73文档
niu_read_engine.sv75文档
niu_write_engine.sv95文档
noc_overlay_min.sv171文档
noc_stub.sv157文档
tensix_niu.sv299文档
rtl/periph/
local_ram.sv51文档
mailbox.sv224文档
nc_iram.sv105文档
null_device.sv21文档
pcbuf.sv248文档
pic.sv246文档
soft_reset.sv322文档
tdma.sv699文档
tile_debug_status.sv456文档
rtl/regfile/
adc_counters.sv467文档
backend_cfg_regs.sv220文档
dst_bank.sv35—
dst_regfile.sv590文档
scalar_gprs.sv173文档
semaphore_regs.sv90文档
sfpu_lregs.sv96文档
src_bank.sv303文档
thread_cfg_regs.sv67文档
rtl/
tensix_pkg.sv507文档
rtl/tile/
tensix_tile_top.sv2,253文档