一键导入
hsb-ip-packetizer
Choose or explain HSB Sensor RX packetizer fields for HOLOLINK_def.svh. Do not use for full defs, validation, or runtime APB programming.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Choose or explain HSB Sensor RX packetizer fields for HOLOLINK_def.svh. Do not use for full defs, validation, or runtime APB programming.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create or explain fixed-format HSB FPGA_top.sv wrappers from validated HOLOLINK_def.svh files. Do not use for def generation or validation.
Generate, validate, compare, or explain HSB HOLOLINK_def.svh macros. Do not use for FPGA_top.sv wrappers or packetizer-only derivation. Generation runs bundled Python scripts locally through shell commands and writes validated .svh output files after user-confirmed paths.
| name | hsb-ip-packetizer |
| author | Holoscan Team <holoscan-team@nvidia.com> |
| description | Choose or explain HSB Sensor RX packetizer fields for HOLOLINK_def.svh. Do not use for full defs, validation, or runtime APB programming. |
| version | 0.1.0 |
| tags | ["holoscan","hsb","packetizer","systemverilog","fpga"] |
| license | Apache-2.0 |
| compatibility | Targets HSB IP rev 16'h2604; backward-compatible with 16'h2603. Prefer live HSB IP packetizer source when available; warn on unknown revisions. Designed to work standalone or as a companion to hsb-ip-def. |
| metadata | {"author":"Holoscan Team <holoscan-team@nvidia.com>","team":"holoscan","domain":"fpga","vendor":"nvidia","tags":["holoscan","hsb","fpga","packetizer","systemverilog"],"languages":["systemverilog"],"artifact":"HOLOLINK_def.svh","hsb_ip_version":"16'h2604"} |
Choose packetizer-related HOLOLINK_def.svh fields for the NVIDIA Holoscan Sensor Bridge Sensor RX path.
This skill owns only the packetizer slice of HOLOLINK_def.svh:
SIF_RX_PACKETIZER_EN[]SIF_RX_VP_COUNT[]SIF_RX_SORT_RESOLUTION[]SIF_RX_VP_SIZE[]SIF_RX_NUM_CYCLES[]Use hsb-ip-def for whole-file generation, validation, comparison, and non-packetizer macros.
SENSOR_RX_IF_INST must be defined and nonzero before packetizer fields are relevant.SIF_RX_WIDTH[] values and the user's data manipulation intent are required before deriving enabled packetizer values.16'h2604 and compatible rev 16'h2603.hsb-ip-def.SENSOR_RX_IF_INST is defined. If Sensor RX is disabled, say no packetizer fields are needed.references/handoff-contract.md and make packetizer_profile_overlay the first non-empty output after any required clarification.HOLOLINK_def.svh enables/sizes hardware; runtime software still controls pattern RAM, virtual-port selection, sort controls, bypass, padding, duplication, and latency.hsb-ip-def, use facts already known by that def flow. If the prompt gives RX count, enabled/pass-through intent, lane or stream width, virtual stream count, and cycle window, emit the overlay without re-asking for macro names or whole-file details. Leave final merge and full validation to hsb-ip-def.Prefer live HSB IP source over bundled packetizer references whenever the user's workspace provides it. The bundled references describe known rev 16'h2604 and backward-compatible rev 16'h2603; live source is the authority for the checked-out IP.
When source is available:
HOLOLINK_top.sv plus the packetizer RTL files:
<hsb-ip-root>/top/HOLOLINK_top.sv<hsb-ip-root>/packetizer/packetizer_top.sv<hsb-ip-root>/packetizer/packetizer.sv<hsb-ip-root>/packetizer/virtual_port.sv<hsb-ip-root>/packetizer/odd_even_gen.svHOLOLINK_REV and HOLOLINK_BACKWARD_COMPAT_REV from HOLOLINK_top.sv when present.HOLOLINK_top still maps the five def fields into packetizer_top as documented before making source-sensitive claims.When no source is available, use the bundled references as known-revision guidance and say that the answer is based on the skill's supported HSB IP rev.
Load only the reference needed for the user's task:
| File | When to load |
|---|---|
references/packetizer-def-fields.md | Choosing or explaining HOLOLINK_def.svh packetizer fields, array length rules, bypass placeholders, RTL-derived constraints, or standalone SVH output formatting |
references/packetizer-architecture.md | Explaining packetizer blocks, data flow, clocks, APB registers, runtime-vs-def split, or why a field exists |
references/handoff-contract.md | Producing packetizer_profile_overlay YAML for hsb-ip-def or enforcing output-mode separation |
HOLOLINK_def.svh generation flow, use Def-Skill Handoff.HOLOLINK_def.svh, use Standalone SVH.references/packetizer-architecture.md for the register context.Collect these facts in order, skipping facts the user already supplied. Stop asking as soon as the data manipulation description is specific enough to derive the profile.
SENSOR_RX_IF_INST: number of Sensor RX interfaces. If undefined or zero, stop.SIF_RX_WIDTH[]: per-RX-interface input width. This is DIN_WIDTH for each packetizer instance.Skip per-macro confirmation prompts such as "Confirm SIF_RX_VP_COUNT?", "Confirm SIF_RX_SORT_RESOLUTION?", "Confirm SIF_RX_VP_SIZE?", or "Confirm SIF_RX_NUM_CYCLES?" Ask for missing data-shape facts, such as "How many virtual streams should RX0 split into?" or "What bit granularity is being rearranged?"
After the required facts are known, derive all packetizer arrays together:
SIF_RX_PACKETIZER_EN[i] = 1 for RX interfaces that need packetizer hardware for rearrangement, split, replication, or other runtime-controlled data manipulation; 0 for pass-through interfaces.SIF_RX_VP_COUNT[i] equals the number of virtual output streams/ports required by the user's manipulation for that RX interface.SIF_RX_VP_SIZE[i] is the per-virtual-port data size/width in bits. For an equal contiguous split of one SIF_RX_WIDTH[i] input word into N virtual ports, use SIF_RX_WIDTH[i] / N if it is a positive power-of-two divisor and matches the user's intent.SIF_RX_SORT_RESOLUTION[i] is the bit granularity of the data rearrangement operation. If the user describes fixed-size lanes, use that lane size when it passes the RTL-derived constraints. If no ordering manipulation is needed and the packetizer is used only for contiguous split/replication, use SIF_RX_WIDTH[i] to disable the sort network internally when legal.SIF_RX_NUM_CYCLES[i] is the number of input sensor-data cycles that participate in the manipulation. Use 1 for single-cycle rearrange/split/replication; use the stated cycle window when the manipulation spans multiple input cycles.If several profiles remain plausible after reading the data description, ask one clarifying question about the behavior or data shape that distinguishes them. Do not fall back to "typical" packetizer values.
For disabled entries in a mixed enabled/disabled design, fill the peer arrays with ignored placeholder values matching the RTL bypass constants:
SIF_RX_VP_COUNT[i] = 1SIF_RX_SORT_RESOLUTION[i] = 2SIF_RX_VP_SIZE[i] = 32SIF_RX_NUM_CYCLES[i] = 1SENSOR_RX_IF_INST entries.1, emit all four peer arrays at exactly SENSOR_RX_IF_INST length.0, emit only SIF_RX_PACKETIZER_EN[]; the four peer arrays are not required for the packetizer decision.'{default:<value>} only when every entry is identical and that form improves readability.SENSOR_RX_IF_INST, SIF_RX_WIDTH[], DATAPATH_WIDTH, host fields, clocks, or any non-packetizer macros from this skill.Use this when the user asks for packetizer lines to add to a HOLOLINK_def.svh.
Steps:
references/packetizer-def-fields.md for choosing values, checking constraints, and using the canonical standalone output formatting.systemverilog block containing only the packetizer localparams.hsb-ip-def or its validate_def.py.Use this when invoked by hsb-ip-def while that skill is generating a full HOLOLINK_def.svh.
Steps:
references/handoff-contract.md.packetizer_profile_overlay label once requirements are known. The def skill consumes the flat keys directly.Required label:
packetizer_profile_overlay
YAML keys:
sif_rx_packetizer_ensif_rx_vp_count only when any enable is 1sif_rx_sort_resolution only when any enable is 1sif_rx_vp_size only when any enable is 1sif_rx_num_cycles only when any enable is 1Example shape:
packetizer_profile_overlay
sif_rx_packetizer_en: [1, 0]
sif_rx_vp_count: [4, 1]
sif_rx_sort_resolution: [16, 2]
sif_rx_vp_size: [128, 32]
sif_rx_num_cycles: [1, 1]
The def skill remains responsible for merging this overlay into its profile, generating the final SVH, and running full validation.
Use this when the user asks what a packetizer field does, why a value matters, or whether a packetizer combination is suitable.
Steps:
references/packetizer-def-fields.md for field-level answers.references/packetizer-architecture.md for architecture, data flow, clock domains, or runtime APB behavior.top/HOLOLINK_top.sv:1356-1362 or packetizer/packetizer.sv:69-85 when explaining RTL behavior.HOLOLINK_def.svh, state the packetizer-local concern and tell the user to validate the full file with hsb-ip-def.references/packetizer-architecture.md only for context.hsb-ip-def.Use hsb-ip-packetizer to choose packetizer fields for two Sensor RX interfaces. RX0 is 512 bits and must split each input word into four 128-bit virtual streams; RX1 is pass-through. Treat as Standalone SVH and emit only packetizer localparams: enable [1, 0], virtual-port count [4, 1], sort resolution [512, 2] for a contiguous split without lane reordering, virtual-port size [128, 32], and cycles [1, 1]. Tell the user to run full-file validation with hsb-ip-def.hsb-ip-def is generating my HOLOLINK_def.svh and needs packetizer values. RX0 should rearrange 16-bit lanes into four virtual streams; RX1 should stay pass-through. Treat as Def-Skill Handoff and put the YAML overlay first:packetizer_profile_overlay
sif_rx_packetizer_en: [1, 0]
sif_rx_vp_count: [4, 1]
sif_rx_sort_resolution: [16, 2]
sif_rx_vp_size: [16, 32]
sif_rx_num_cycles: [1, 1]
Then state that hsb-ip-def remains responsible for merging this overlay, generating the full HOLOLINK_def.svh, and running full validation.
Do I need hsb-ip-packetizer if SENSOR_RX_IF_INST is disabled in my HOLOLINK_def.svh? Explain that packetizer fields apply only to Sensor RX interfaces, emit no packetizer arrays, and avoid runtime APB pattern-RAM configuration.HOLOLINK_def.svh files.HOLOLINK_def.svh files.