[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-hsb-ip-packetizer":3,"mdc--kpm9e-key":31,"related-org-nvidia-hsb-ip-packetizer":1874,"related-repo-nvidia-hsb-ip-packetizer":2035},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"hsb-ip-packetizer","configure HSB sensor packetizer fields","Choose or explain HSB Sensor RX packetizer fields for HOLOLINK_def.svh. Do not use for full defs, validation, or runtime APB programming.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,17],{"name":13,"slug":14,"type":15},"Hardware","hardware","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Engineering","engineering",2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-08-05T05:58:15.638349","Apache-2.0",281,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fhsb-ip-packetizer","---\nname: hsb-ip-packetizer\nauthor: \"Holoscan Team \u003Choloscan-team@nvidia.com>\"\ndescription: Choose or explain HSB Sensor RX packetizer fields for HOLOLINK_def.svh. Do not use for full defs, validation, or runtime APB programming.\nversion: \"0.1.0\"\ntags:\n  - holoscan\n  - hsb\n  - packetizer\n  - systemverilog\n  - fpga\nlicense: Apache-2.0\ncompatibility: 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.\nmetadata:\n  author: \"Holoscan Team \u003Choloscan-team@nvidia.com>\"\n  team: holoscan\n  domain: fpga\n  vendor: nvidia\n  tags:\n    - holoscan\n    - hsb\n    - fpga\n    - packetizer\n    - systemverilog\n  languages:\n    - systemverilog\n  artifact: HOLOLINK_def.svh\n  hsb_ip_version: \"16'h2604\"\n---\n\n# HSB IP Packetizer Skill\n\n## Purpose\n\nChoose packetizer-related `HOLOLINK_def.svh` fields for the NVIDIA Holoscan Sensor Bridge Sensor RX path.\n\nThis skill owns only the packetizer slice of `HOLOLINK_def.svh`:\n\n- `SIF_RX_PACKETIZER_EN[]`\n- `SIF_RX_VP_COUNT[]`\n- `SIF_RX_SORT_RESOLUTION[]`\n- `SIF_RX_VP_SIZE[]`\n- `SIF_RX_NUM_CYCLES[]`\n\nUse `hsb-ip-def` for whole-file generation, validation, comparison, and non-packetizer macros.\n\n## Prerequisites\n\n- `SENSOR_RX_IF_INST` must be defined and nonzero before packetizer fields are relevant.\n- Per-RX-interface `SIF_RX_WIDTH[]` values and the user's data manipulation intent are required before deriving enabled packetizer values.\n- Live packetizer RTL is preferred for source-sensitive claims; bundled references cover known rev `16'h2604` and compatible rev `16'h2603`.\n- Whole-file generation and validation remain the responsibility of `hsb-ip-def`.\n\n## Instructions\n\n- Only configure packetizer fields when `SENSOR_RX_IF_INST` is defined. If Sensor RX is disabled, say no packetizer fields are needed.\n- First classify the request as Standalone SVH, Def-Skill Handoff, Explain, or runtime APB pattern-RAM. For Def-Skill Handoff, load `references\u002Fhandoff-contract.md` and make `packetizer_profile_overlay` the first non-empty output after any required clarification.\n- Ask one question per turn only while collecting the data-description facts needed to derive a grounded profile. Prefer deriving macro values from those facts instead of requesting per-macro confirmation.\n- Use sensor-agnostic language. Say \"sensor data\", \"data word\", \"stream\", \"bandwidth\", and \"packetization\"; use camera-specific language only after the user says the sensor data is image\u002Fcamera data.\n- Never silently default enabled packetizer fields. Derive them from the user's stated data layout and manipulation intent, print the complete field set in one block, and then explain what the selected settings enable and what assumptions they encode.\n- Avoid ungrounded \"typical\", \"common\", \"most designs\", or corpus-frequency claims. Anchor statements to HSB docs, RTL behavior, or the user's stated requirements.\n- Keep runtime APB pattern-RAM programming out of v1 generation. `HOLOLINK_def.svh` enables\u002Fsizes hardware; runtime software still controls pattern RAM, virtual-port selection, sort controls, bypass, padding, duplication, and latency.\n- In a handoff from `hsb-ip-def`, use facts already known by that def flow. If the prompt gives RX count, enabled\u002Fpass-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`.\n\n## Live HSB IP source policy\n\nPrefer 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.\n\nWhen source is available:\n\n1. Locate `HOLOLINK_top.sv` plus the packetizer RTL files:\n   - `\u003Chsb-ip-root>\u002Ftop\u002FHOLOLINK_top.sv`\n   - `\u003Chsb-ip-root>\u002Fpacketizer\u002Fpacketizer_top.sv`\n   - `\u003Chsb-ip-root>\u002Fpacketizer\u002Fpacketizer.sv`\n   - `\u003Chsb-ip-root>\u002Fpacketizer\u002Fvirtual_port.sv`\n   - `\u003Chsb-ip-root>\u002Fpacketizer\u002Fodd_even_gen.sv`\n2. Read `HOLOLINK_REV` and `HOLOLINK_BACKWARD_COMPAT_REV` from `HOLOLINK_top.sv` when present.\n3. Verify that `HOLOLINK_top` still maps the five def fields into `packetizer_top` as documented before making source-sensitive claims.\n4. If the rev is newer, unknown, or live RTL disagrees with this skill's references, state the mismatch. Trust the live RTL for explanation, avoid unsupported assumptions, and do not emit an enabled packetizer overlay unless the field mapping and RTL constraints can be verified from the live source.\n\nWhen 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.\n\n## Reference Loading\n\nLoad only the reference needed for the user's task:\n\n| File | When to load |\n|---|---|\n| `references\u002Fpacketizer-def-fields.md` | Choosing or explaining `HOLOLINK_def.svh` packetizer fields, array length rules, bypass placeholders, RTL-derived constraints, or standalone SVH output formatting |\n| `references\u002Fpacketizer-architecture.md` | Explaining packetizer blocks, data flow, clocks, APB registers, runtime-vs-def split, or why a field exists |\n| `references\u002Fhandoff-contract.md` | Producing `packetizer_profile_overlay` YAML for `hsb-ip-def` or enforcing output-mode separation |\n\n## Workflow Decision\n\n1. If the user is working inside a `HOLOLINK_def.svh` generation flow, use **Def-Skill Handoff**.\n2. If the user asks for lines to add to an existing\u002Fnew `HOLOLINK_def.svh`, use **Standalone SVH**.\n3. If the user asks what a field does, why a value matters, or whether a combination is safe, use **Explain**.\n4. If the user asks for APB pattern RAM programming, explain that it is runtime configuration and outside v1 generated output; load `references\u002Fpacketizer-architecture.md` for the register context.\n\n## Requirement Discovery\n\nCollect 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.\n\n1. `SENSOR_RX_IF_INST`: number of Sensor RX interfaces. If undefined or zero, stop.\n2. `SIF_RX_WIDTH[]`: per-RX-interface input width. This is `DIN_WIDTH` for each packetizer instance.\n3. Packetizer intent per RX interface: pass-through, data rearrangement\u002Fmanipulation, split into virtual ports, replicate\u002Fduplicate, or other manipulation.\n4. The data layout for enabled interfaces: lane\u002Fchunk width, number of output virtual streams, whether the manipulation stays within one input cycle or spans multiple cycles, and any exact ordering\u002Freplication requirement.\n\nSkip 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?\"\n\n## Deriving Fields\n\nAfter the required facts are known, derive all packetizer arrays together:\n\n- `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.\n- `SIF_RX_VP_COUNT[i]` equals the number of virtual output streams\u002Fports required by the user's manipulation for that RX interface.\n- `SIF_RX_VP_SIZE[i]` is the per-virtual-port data size\u002Fwidth in bits. For an equal contiguous split of one `SIF_RX_WIDTH[i]` input word into `N` virtual ports, use `SIF_RX_WIDTH[i] \u002F N` if it is a positive power-of-two divisor and matches the user's intent.\n- `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\u002Freplication, use `SIF_RX_WIDTH[i]` to disable the sort network internally when legal.\n- `SIF_RX_NUM_CYCLES[i]` is the number of input sensor-data cycles that participate in the manipulation. Use `1` for single-cycle rearrange\u002Fsplit\u002Freplication; use the stated cycle window when the manipulation spans multiple input cycles.\n\nIf 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.\n\nFor disabled entries in a mixed enabled\u002Fdisabled design, fill the peer arrays with ignored placeholder values matching the RTL bypass constants:\n\n- `SIF_RX_VP_COUNT[i] = 1`\n- `SIF_RX_SORT_RESOLUTION[i] = 2`\n- `SIF_RX_VP_SIZE[i] = 32`\n- `SIF_RX_NUM_CYCLES[i] = 1`\n\n## Emitted Field Format\n\n- The enable array must always have exactly `SENSOR_RX_IF_INST` entries.\n- If any enable entry is `1`, emit all four peer arrays at exactly `SENSOR_RX_IF_INST` length.\n- If every enable entry is `0`, emit only `SIF_RX_PACKETIZER_EN[]`; the four peer arrays are not required for the packetizer decision.\n- Use positional array syntax for mixed per-port values. Use `'{default:\u003Cvalue>}` only when every entry is identical and that form improves readability.\n- Do not emit or modify `SENSOR_RX_IF_INST`, `SIF_RX_WIDTH[]`, `DATAPATH_WIDTH`, host fields, clocks, or any non-packetizer macros from this skill.\n- After emitting the block or overlay, explain the selected settings in terms of the user's input data and manipulation needs. Keep the explanation after the fenced output so downstream tools can consume the block first.\n\n## Standalone SVH\n\nUse this when the user asks for packetizer lines to add to a `HOLOLINK_def.svh`.\n\nSteps:\n\n1. Gather the required facts.\n2. Load `references\u002Fpacketizer-def-fields.md` for choosing values, checking constraints, and using the canonical standalone output formatting.\n3. Emit a fenced `systemverilog` block containing only the packetizer localparams.\n4. Explain what the settings allow for the user's data manipulation: which RX interfaces use packetizer hardware, how many virtual streams they expose, the per-stream width, the data-rearrangement granularity, and whether the operation is single-cycle or multi-cycle.\n5. Add a short note that whole-file validation should be done with `hsb-ip-def` or its `validate_def.py`.\n\n\n## Def-Skill Handoff\n\nUse this when invoked by `hsb-ip-def` while that skill is generating a full `HOLOLINK_def.svh`.\n\nSteps:\n\n1. Gather only packetizer-specific requirements not already known from the def flow.\n2. Load `references\u002Fhandoff-contract.md`.\n3. Emit one labeled YAML overlay first. Do not write an introductory sentence before the `packetizer_profile_overlay` label once requirements are known. The def skill consumes the flat keys directly.\n4. After the overlay, add a concise explanation of what the settings allow for the user's data description and manipulation needs.\n\nRequired label:\n\n`packetizer_profile_overlay`\n\nYAML keys:\n\n- `sif_rx_packetizer_en`\n- `sif_rx_vp_count` only when any enable is `1`\n- `sif_rx_sort_resolution` only when any enable is `1`\n- `sif_rx_vp_size` only when any enable is `1`\n- `sif_rx_num_cycles` only when any enable is `1`\n\nExample shape:\n\npacketizer_profile_overlay\n```yaml\nsif_rx_packetizer_en: [1, 0]\nsif_rx_vp_count: [4, 1]\nsif_rx_sort_resolution: [16, 2]\nsif_rx_vp_size: [128, 32]\nsif_rx_num_cycles: [1, 1]\n```\n\nThe def skill remains responsible for merging this overlay into its profile, generating the final SVH, and running full validation.\n\n## Explain\n\nUse this when the user asks what a packetizer field does, why a value matters, or whether a packetizer combination is suitable.\n\nSteps:\n\n1. Load `references\u002Fpacketizer-def-fields.md` for field-level answers.\n2. Load `references\u002Fpacketizer-architecture.md` for architecture, data flow, clock domains, or runtime APB behavior.\n3. Cite source locations in the form `top\u002FHOLOLINK_top.sv:1356-1362` or `packetizer\u002Fpacketizer.sv:69-85` when explaining RTL behavior.\n4. For legality questions that affect the whole `HOLOLINK_def.svh`, state the packetizer-local concern and tell the user to validate the full file with `hsb-ip-def`.\n\n## Troubleshooting\n\n- Sensor RX disabled: emit no packetizer arrays and explain that packetizer hardware is only for Sensor RX interfaces.\n- Missing data-shape facts: ask one clarifying question about stream count, lane width, cycle window, or ordering before deriving fields.\n- Runtime APB pattern-RAM request: explain that runtime programming is outside v1 generated output and load `references\u002Fpacketizer-architecture.md` only for context.\n- Whole-file legality concern: state the packetizer-local issue and direct validation back to `hsb-ip-def`.\n\n## Examples\n\n- `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`.\n- `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:\n\npacketizer_profile_overlay\n```yaml\nsif_rx_packetizer_en: [1, 0]\nsif_rx_vp_count: [4, 1]\nsif_rx_sort_resolution: [16, 2]\nsif_rx_vp_size: [16, 32]\nsif_rx_num_cycles: [1, 1]\n```\n\n  Then state that `hsb-ip-def` remains responsible for merging this overlay, generating the full `HOLOLINK_def.svh`, and running full validation.\n- `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.\n\n## Limitations\n\n- Do not generate full `HOLOLINK_def.svh` files.\n- Do not validate full `HOLOLINK_def.svh` files.\n- Do not generate runtime APB writes or pattern-RAM contents in v1.\n- Do not choose packetizer values from corpus frequency or archetype popularity.\n",{"data":32,"body":47},{"name":4,"author":33,"description":6,"version":34,"tags":35,"license":23,"compatibility":41,"metadata":42},"Holoscan Team \u003Choloscan-team@nvidia.com>","0.1.0",[36,37,38,39,40],"holoscan","hsb","packetizer","systemverilog","fpga","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.",{"author":33,"team":36,"domain":40,"vendor":8,"tags":43,"languages":44,"artifact":45,"hsb_ip_version":46},[36,37,40,38,39],[39],"HOLOLINK_def.svh","16'h2604",{"type":48,"children":49},"root",[50,59,66,80,92,142,155,161,219,225,311,317,336,341,460,465,471,476,575,581,644,650,655,696,732,738,743,848,853,858,897,903,1000,1005,1016,1021,1077,1082,1100,1104,1139,1144,1152,1157,1230,1235,1239,1425,1430,1435,1440,1444,1508,1514,1550,1556,1627,1631,1793,1812,1826,1832,1868],{"type":51,"tag":52,"props":53,"children":55},"element","h1",{"id":54},"hsb-ip-packetizer-skill",[56],{"type":57,"value":58},"text","HSB IP Packetizer Skill",{"type":51,"tag":60,"props":61,"children":63},"h2",{"id":62},"purpose",[64],{"type":57,"value":65},"Purpose",{"type":51,"tag":67,"props":68,"children":69},"p",{},[70,72,78],{"type":57,"value":71},"Choose packetizer-related ",{"type":51,"tag":73,"props":74,"children":76},"code",{"className":75},[],[77],{"type":57,"value":45},{"type":57,"value":79}," fields for the NVIDIA Holoscan Sensor Bridge Sensor RX path.",{"type":51,"tag":67,"props":81,"children":82},{},[83,85,90],{"type":57,"value":84},"This skill owns only the packetizer slice of ",{"type":51,"tag":73,"props":86,"children":88},{"className":87},[],[89],{"type":57,"value":45},{"type":57,"value":91},":",{"type":51,"tag":93,"props":94,"children":95},"ul",{},[96,106,115,124,133],{"type":51,"tag":97,"props":98,"children":99},"li",{},[100],{"type":51,"tag":73,"props":101,"children":103},{"className":102},[],[104],{"type":57,"value":105},"SIF_RX_PACKETIZER_EN[]",{"type":51,"tag":97,"props":107,"children":108},{},[109],{"type":51,"tag":73,"props":110,"children":112},{"className":111},[],[113],{"type":57,"value":114},"SIF_RX_VP_COUNT[]",{"type":51,"tag":97,"props":116,"children":117},{},[118],{"type":51,"tag":73,"props":119,"children":121},{"className":120},[],[122],{"type":57,"value":123},"SIF_RX_SORT_RESOLUTION[]",{"type":51,"tag":97,"props":125,"children":126},{},[127],{"type":51,"tag":73,"props":128,"children":130},{"className":129},[],[131],{"type":57,"value":132},"SIF_RX_VP_SIZE[]",{"type":51,"tag":97,"props":134,"children":135},{},[136],{"type":51,"tag":73,"props":137,"children":139},{"className":138},[],[140],{"type":57,"value":141},"SIF_RX_NUM_CYCLES[]",{"type":51,"tag":67,"props":143,"children":144},{},[145,147,153],{"type":57,"value":146},"Use ",{"type":51,"tag":73,"props":148,"children":150},{"className":149},[],[151],{"type":57,"value":152},"hsb-ip-def",{"type":57,"value":154}," for whole-file generation, validation, comparison, and non-packetizer macros.",{"type":51,"tag":60,"props":156,"children":158},{"id":157},"prerequisites",[159],{"type":57,"value":160},"Prerequisites",{"type":51,"tag":93,"props":162,"children":163},{},[164,175,188,208],{"type":51,"tag":97,"props":165,"children":166},{},[167,173],{"type":51,"tag":73,"props":168,"children":170},{"className":169},[],[171],{"type":57,"value":172},"SENSOR_RX_IF_INST",{"type":57,"value":174}," must be defined and nonzero before packetizer fields are relevant.",{"type":51,"tag":97,"props":176,"children":177},{},[178,180,186],{"type":57,"value":179},"Per-RX-interface ",{"type":51,"tag":73,"props":181,"children":183},{"className":182},[],[184],{"type":57,"value":185},"SIF_RX_WIDTH[]",{"type":57,"value":187}," values and the user's data manipulation intent are required before deriving enabled packetizer values.",{"type":51,"tag":97,"props":189,"children":190},{},[191,193,198,200,206],{"type":57,"value":192},"Live packetizer RTL is preferred for source-sensitive claims; bundled references cover known rev ",{"type":51,"tag":73,"props":194,"children":196},{"className":195},[],[197],{"type":57,"value":46},{"type":57,"value":199}," and compatible rev ",{"type":51,"tag":73,"props":201,"children":203},{"className":202},[],[204],{"type":57,"value":205},"16'h2603",{"type":57,"value":207},".",{"type":51,"tag":97,"props":209,"children":210},{},[211,213,218],{"type":57,"value":212},"Whole-file generation and validation remain the responsibility of ",{"type":51,"tag":73,"props":214,"children":216},{"className":215},[],[217],{"type":57,"value":152},{"type":57,"value":207},{"type":51,"tag":60,"props":220,"children":222},{"id":221},"instructions",[223],{"type":57,"value":224},"Instructions",{"type":51,"tag":93,"props":226,"children":227},{},[228,240,261,266,271,276,281,293],{"type":51,"tag":97,"props":229,"children":230},{},[231,233,238],{"type":57,"value":232},"Only configure packetizer fields when ",{"type":51,"tag":73,"props":234,"children":236},{"className":235},[],[237],{"type":57,"value":172},{"type":57,"value":239}," is defined. If Sensor RX is disabled, say no packetizer fields are needed.",{"type":51,"tag":97,"props":241,"children":242},{},[243,245,251,253,259],{"type":57,"value":244},"First classify the request as Standalone SVH, Def-Skill Handoff, Explain, or runtime APB pattern-RAM. For Def-Skill Handoff, load ",{"type":51,"tag":73,"props":246,"children":248},{"className":247},[],[249],{"type":57,"value":250},"references\u002Fhandoff-contract.md",{"type":57,"value":252}," and make ",{"type":51,"tag":73,"props":254,"children":256},{"className":255},[],[257],{"type":57,"value":258},"packetizer_profile_overlay",{"type":57,"value":260}," the first non-empty output after any required clarification.",{"type":51,"tag":97,"props":262,"children":263},{},[264],{"type":57,"value":265},"Ask one question per turn only while collecting the data-description facts needed to derive a grounded profile. Prefer deriving macro values from those facts instead of requesting per-macro confirmation.",{"type":51,"tag":97,"props":267,"children":268},{},[269],{"type":57,"value":270},"Use sensor-agnostic language. Say \"sensor data\", \"data word\", \"stream\", \"bandwidth\", and \"packetization\"; use camera-specific language only after the user says the sensor data is image\u002Fcamera data.",{"type":51,"tag":97,"props":272,"children":273},{},[274],{"type":57,"value":275},"Never silently default enabled packetizer fields. Derive them from the user's stated data layout and manipulation intent, print the complete field set in one block, and then explain what the selected settings enable and what assumptions they encode.",{"type":51,"tag":97,"props":277,"children":278},{},[279],{"type":57,"value":280},"Avoid ungrounded \"typical\", \"common\", \"most designs\", or corpus-frequency claims. Anchor statements to HSB docs, RTL behavior, or the user's stated requirements.",{"type":51,"tag":97,"props":282,"children":283},{},[284,286,291],{"type":57,"value":285},"Keep runtime APB pattern-RAM programming out of v1 generation. ",{"type":51,"tag":73,"props":287,"children":289},{"className":288},[],[290],{"type":57,"value":45},{"type":57,"value":292}," enables\u002Fsizes hardware; runtime software still controls pattern RAM, virtual-port selection, sort controls, bypass, padding, duplication, and latency.",{"type":51,"tag":97,"props":294,"children":295},{},[296,298,303,305,310],{"type":57,"value":297},"In a handoff from ",{"type":51,"tag":73,"props":299,"children":301},{"className":300},[],[302],{"type":57,"value":152},{"type":57,"value":304},", use facts already known by that def flow. If the prompt gives RX count, enabled\u002Fpass-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 ",{"type":51,"tag":73,"props":306,"children":308},{"className":307},[],[309],{"type":57,"value":152},{"type":57,"value":207},{"type":51,"tag":60,"props":312,"children":314},{"id":313},"live-hsb-ip-source-policy",[315],{"type":57,"value":316},"Live HSB IP source policy",{"type":51,"tag":67,"props":318,"children":319},{},[320,322,327,329,334],{"type":57,"value":321},"Prefer live HSB IP source over bundled packetizer references whenever the user's workspace provides it. The bundled references describe known rev ",{"type":51,"tag":73,"props":323,"children":325},{"className":324},[],[326],{"type":57,"value":46},{"type":57,"value":328}," and backward-compatible rev ",{"type":51,"tag":73,"props":330,"children":332},{"className":331},[],[333],{"type":57,"value":205},{"type":57,"value":335},"; live source is the authority for the checked-out IP.",{"type":51,"tag":67,"props":337,"children":338},{},[339],{"type":57,"value":340},"When source is available:",{"type":51,"tag":342,"props":343,"children":344},"ol",{},[345,406,434,455],{"type":51,"tag":97,"props":346,"children":347},{},[348,350,356,358],{"type":57,"value":349},"Locate ",{"type":51,"tag":73,"props":351,"children":353},{"className":352},[],[354],{"type":57,"value":355},"HOLOLINK_top.sv",{"type":57,"value":357}," plus the packetizer RTL files:\n",{"type":51,"tag":93,"props":359,"children":360},{},[361,370,379,388,397],{"type":51,"tag":97,"props":362,"children":363},{},[364],{"type":51,"tag":73,"props":365,"children":367},{"className":366},[],[368],{"type":57,"value":369},"\u003Chsb-ip-root>\u002Ftop\u002FHOLOLINK_top.sv",{"type":51,"tag":97,"props":371,"children":372},{},[373],{"type":51,"tag":73,"props":374,"children":376},{"className":375},[],[377],{"type":57,"value":378},"\u003Chsb-ip-root>\u002Fpacketizer\u002Fpacketizer_top.sv",{"type":51,"tag":97,"props":380,"children":381},{},[382],{"type":51,"tag":73,"props":383,"children":385},{"className":384},[],[386],{"type":57,"value":387},"\u003Chsb-ip-root>\u002Fpacketizer\u002Fpacketizer.sv",{"type":51,"tag":97,"props":389,"children":390},{},[391],{"type":51,"tag":73,"props":392,"children":394},{"className":393},[],[395],{"type":57,"value":396},"\u003Chsb-ip-root>\u002Fpacketizer\u002Fvirtual_port.sv",{"type":51,"tag":97,"props":398,"children":399},{},[400],{"type":51,"tag":73,"props":401,"children":403},{"className":402},[],[404],{"type":57,"value":405},"\u003Chsb-ip-root>\u002Fpacketizer\u002Fodd_even_gen.sv",{"type":51,"tag":97,"props":407,"children":408},{},[409,411,417,419,425,427,432],{"type":57,"value":410},"Read ",{"type":51,"tag":73,"props":412,"children":414},{"className":413},[],[415],{"type":57,"value":416},"HOLOLINK_REV",{"type":57,"value":418}," and ",{"type":51,"tag":73,"props":420,"children":422},{"className":421},[],[423],{"type":57,"value":424},"HOLOLINK_BACKWARD_COMPAT_REV",{"type":57,"value":426}," from ",{"type":51,"tag":73,"props":428,"children":430},{"className":429},[],[431],{"type":57,"value":355},{"type":57,"value":433}," when present.",{"type":51,"tag":97,"props":435,"children":436},{},[437,439,445,447,453],{"type":57,"value":438},"Verify that ",{"type":51,"tag":73,"props":440,"children":442},{"className":441},[],[443],{"type":57,"value":444},"HOLOLINK_top",{"type":57,"value":446}," still maps the five def fields into ",{"type":51,"tag":73,"props":448,"children":450},{"className":449},[],[451],{"type":57,"value":452},"packetizer_top",{"type":57,"value":454}," as documented before making source-sensitive claims.",{"type":51,"tag":97,"props":456,"children":457},{},[458],{"type":57,"value":459},"If the rev is newer, unknown, or live RTL disagrees with this skill's references, state the mismatch. Trust the live RTL for explanation, avoid unsupported assumptions, and do not emit an enabled packetizer overlay unless the field mapping and RTL constraints can be verified from the live source.",{"type":51,"tag":67,"props":461,"children":462},{},[463],{"type":57,"value":464},"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.",{"type":51,"tag":60,"props":466,"children":468},{"id":467},"reference-loading",[469],{"type":57,"value":470},"Reference Loading",{"type":51,"tag":67,"props":472,"children":473},{},[474],{"type":57,"value":475},"Load only the reference needed for the user's task:",{"type":51,"tag":477,"props":478,"children":479},"table",{},[480,499],{"type":51,"tag":481,"props":482,"children":483},"thead",{},[484],{"type":51,"tag":485,"props":486,"children":487},"tr",{},[488,494],{"type":51,"tag":489,"props":490,"children":491},"th",{},[492],{"type":57,"value":493},"File",{"type":51,"tag":489,"props":495,"children":496},{},[497],{"type":57,"value":498},"When to load",{"type":51,"tag":500,"props":501,"children":502},"tbody",{},[503,528,545],{"type":51,"tag":485,"props":504,"children":505},{},[506,516],{"type":51,"tag":507,"props":508,"children":509},"td",{},[510],{"type":51,"tag":73,"props":511,"children":513},{"className":512},[],[514],{"type":57,"value":515},"references\u002Fpacketizer-def-fields.md",{"type":51,"tag":507,"props":517,"children":518},{},[519,521,526],{"type":57,"value":520},"Choosing or explaining ",{"type":51,"tag":73,"props":522,"children":524},{"className":523},[],[525],{"type":57,"value":45},{"type":57,"value":527}," packetizer fields, array length rules, bypass placeholders, RTL-derived constraints, or standalone SVH output formatting",{"type":51,"tag":485,"props":529,"children":530},{},[531,540],{"type":51,"tag":507,"props":532,"children":533},{},[534],{"type":51,"tag":73,"props":535,"children":537},{"className":536},[],[538],{"type":57,"value":539},"references\u002Fpacketizer-architecture.md",{"type":51,"tag":507,"props":541,"children":542},{},[543],{"type":57,"value":544},"Explaining packetizer blocks, data flow, clocks, APB registers, runtime-vs-def split, or why a field exists",{"type":51,"tag":485,"props":546,"children":547},{},[548,556],{"type":51,"tag":507,"props":549,"children":550},{},[551],{"type":51,"tag":73,"props":552,"children":554},{"className":553},[],[555],{"type":57,"value":250},{"type":51,"tag":507,"props":557,"children":558},{},[559,561,566,568,573],{"type":57,"value":560},"Producing ",{"type":51,"tag":73,"props":562,"children":564},{"className":563},[],[565],{"type":57,"value":258},{"type":57,"value":567}," YAML for ",{"type":51,"tag":73,"props":569,"children":571},{"className":570},[],[572],{"type":57,"value":152},{"type":57,"value":574}," or enforcing output-mode separation",{"type":51,"tag":60,"props":576,"children":578},{"id":577},"workflow-decision",[579],{"type":57,"value":580},"Workflow Decision",{"type":51,"tag":342,"props":582,"children":583},{},[584,603,621,632],{"type":51,"tag":97,"props":585,"children":586},{},[587,589,594,596,602],{"type":57,"value":588},"If the user is working inside a ",{"type":51,"tag":73,"props":590,"children":592},{"className":591},[],[593],{"type":57,"value":45},{"type":57,"value":595}," generation flow, use ",{"type":51,"tag":597,"props":598,"children":599},"strong",{},[600],{"type":57,"value":601},"Def-Skill Handoff",{"type":57,"value":207},{"type":51,"tag":97,"props":604,"children":605},{},[606,608,613,615,620],{"type":57,"value":607},"If the user asks for lines to add to an existing\u002Fnew ",{"type":51,"tag":73,"props":609,"children":611},{"className":610},[],[612],{"type":57,"value":45},{"type":57,"value":614},", use ",{"type":51,"tag":597,"props":616,"children":617},{},[618],{"type":57,"value":619},"Standalone SVH",{"type":57,"value":207},{"type":51,"tag":97,"props":622,"children":623},{},[624,626,631],{"type":57,"value":625},"If the user asks what a field does, why a value matters, or whether a combination is safe, use ",{"type":51,"tag":597,"props":627,"children":628},{},[629],{"type":57,"value":630},"Explain",{"type":57,"value":207},{"type":51,"tag":97,"props":633,"children":634},{},[635,637,642],{"type":57,"value":636},"If the user asks for APB pattern RAM programming, explain that it is runtime configuration and outside v1 generated output; load ",{"type":51,"tag":73,"props":638,"children":640},{"className":639},[],[641],{"type":57,"value":539},{"type":57,"value":643}," for the register context.",{"type":51,"tag":60,"props":645,"children":647},{"id":646},"requirement-discovery",[648],{"type":57,"value":649},"Requirement Discovery",{"type":51,"tag":67,"props":651,"children":652},{},[653],{"type":57,"value":654},"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.",{"type":51,"tag":342,"props":656,"children":657},{},[658,668,686,691],{"type":51,"tag":97,"props":659,"children":660},{},[661,666],{"type":51,"tag":73,"props":662,"children":664},{"className":663},[],[665],{"type":57,"value":172},{"type":57,"value":667},": number of Sensor RX interfaces. If undefined or zero, stop.",{"type":51,"tag":97,"props":669,"children":670},{},[671,676,678,684],{"type":51,"tag":73,"props":672,"children":674},{"className":673},[],[675],{"type":57,"value":185},{"type":57,"value":677},": per-RX-interface input width. This is ",{"type":51,"tag":73,"props":679,"children":681},{"className":680},[],[682],{"type":57,"value":683},"DIN_WIDTH",{"type":57,"value":685}," for each packetizer instance.",{"type":51,"tag":97,"props":687,"children":688},{},[689],{"type":57,"value":690},"Packetizer intent per RX interface: pass-through, data rearrangement\u002Fmanipulation, split into virtual ports, replicate\u002Fduplicate, or other manipulation.",{"type":51,"tag":97,"props":692,"children":693},{},[694],{"type":57,"value":695},"The data layout for enabled interfaces: lane\u002Fchunk width, number of output virtual streams, whether the manipulation stays within one input cycle or spans multiple cycles, and any exact ordering\u002Freplication requirement.",{"type":51,"tag":67,"props":697,"children":698},{},[699,701,707,709,715,716,722,724,730],{"type":57,"value":700},"Skip per-macro confirmation prompts such as \"Confirm ",{"type":51,"tag":73,"props":702,"children":704},{"className":703},[],[705],{"type":57,"value":706},"SIF_RX_VP_COUNT",{"type":57,"value":708},"?\", \"Confirm ",{"type":51,"tag":73,"props":710,"children":712},{"className":711},[],[713],{"type":57,"value":714},"SIF_RX_SORT_RESOLUTION",{"type":57,"value":708},{"type":51,"tag":73,"props":717,"children":719},{"className":718},[],[720],{"type":57,"value":721},"SIF_RX_VP_SIZE",{"type":57,"value":723},"?\", or \"Confirm ",{"type":51,"tag":73,"props":725,"children":727},{"className":726},[],[728],{"type":57,"value":729},"SIF_RX_NUM_CYCLES",{"type":57,"value":731},"?\" Ask for missing data-shape facts, such as \"How many virtual streams should RX0 split into?\" or \"What bit granularity is being rearranged?\"",{"type":51,"tag":60,"props":733,"children":735},{"id":734},"deriving-fields",[736],{"type":57,"value":737},"Deriving Fields",{"type":51,"tag":67,"props":739,"children":740},{},[741],{"type":57,"value":742},"After the required facts are known, derive all packetizer arrays together:",{"type":51,"tag":93,"props":744,"children":745},{},[746,765,776,811,829],{"type":51,"tag":97,"props":747,"children":748},{},[749,755,757,763],{"type":51,"tag":73,"props":750,"children":752},{"className":751},[],[753],{"type":57,"value":754},"SIF_RX_PACKETIZER_EN[i] = 1",{"type":57,"value":756}," for RX interfaces that need packetizer hardware for rearrangement, split, replication, or other runtime-controlled data manipulation; ",{"type":51,"tag":73,"props":758,"children":760},{"className":759},[],[761],{"type":57,"value":762},"0",{"type":57,"value":764}," for pass-through interfaces.",{"type":51,"tag":97,"props":766,"children":767},{},[768,774],{"type":51,"tag":73,"props":769,"children":771},{"className":770},[],[772],{"type":57,"value":773},"SIF_RX_VP_COUNT[i]",{"type":57,"value":775}," equals the number of virtual output streams\u002Fports required by the user's manipulation for that RX interface.",{"type":51,"tag":97,"props":777,"children":778},{},[779,785,787,793,795,801,803,809],{"type":51,"tag":73,"props":780,"children":782},{"className":781},[],[783],{"type":57,"value":784},"SIF_RX_VP_SIZE[i]",{"type":57,"value":786}," is the per-virtual-port data size\u002Fwidth in bits. For an equal contiguous split of one ",{"type":51,"tag":73,"props":788,"children":790},{"className":789},[],[791],{"type":57,"value":792},"SIF_RX_WIDTH[i]",{"type":57,"value":794}," input word into ",{"type":51,"tag":73,"props":796,"children":798},{"className":797},[],[799],{"type":57,"value":800},"N",{"type":57,"value":802}," virtual ports, use ",{"type":51,"tag":73,"props":804,"children":806},{"className":805},[],[807],{"type":57,"value":808},"SIF_RX_WIDTH[i] \u002F N",{"type":57,"value":810}," if it is a positive power-of-two divisor and matches the user's intent.",{"type":51,"tag":97,"props":812,"children":813},{},[814,820,822,827],{"type":51,"tag":73,"props":815,"children":817},{"className":816},[],[818],{"type":57,"value":819},"SIF_RX_SORT_RESOLUTION[i]",{"type":57,"value":821}," 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\u002Freplication, use ",{"type":51,"tag":73,"props":823,"children":825},{"className":824},[],[826],{"type":57,"value":792},{"type":57,"value":828}," to disable the sort network internally when legal.",{"type":51,"tag":97,"props":830,"children":831},{},[832,838,840,846],{"type":51,"tag":73,"props":833,"children":835},{"className":834},[],[836],{"type":57,"value":837},"SIF_RX_NUM_CYCLES[i]",{"type":57,"value":839}," is the number of input sensor-data cycles that participate in the manipulation. Use ",{"type":51,"tag":73,"props":841,"children":843},{"className":842},[],[844],{"type":57,"value":845},"1",{"type":57,"value":847}," for single-cycle rearrange\u002Fsplit\u002Freplication; use the stated cycle window when the manipulation spans multiple input cycles.",{"type":51,"tag":67,"props":849,"children":850},{},[851],{"type":57,"value":852},"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.",{"type":51,"tag":67,"props":854,"children":855},{},[856],{"type":57,"value":857},"For disabled entries in a mixed enabled\u002Fdisabled design, fill the peer arrays with ignored placeholder values matching the RTL bypass constants:",{"type":51,"tag":93,"props":859,"children":860},{},[861,870,879,888],{"type":51,"tag":97,"props":862,"children":863},{},[864],{"type":51,"tag":73,"props":865,"children":867},{"className":866},[],[868],{"type":57,"value":869},"SIF_RX_VP_COUNT[i] = 1",{"type":51,"tag":97,"props":871,"children":872},{},[873],{"type":51,"tag":73,"props":874,"children":876},{"className":875},[],[877],{"type":57,"value":878},"SIF_RX_SORT_RESOLUTION[i] = 2",{"type":51,"tag":97,"props":880,"children":881},{},[882],{"type":51,"tag":73,"props":883,"children":885},{"className":884},[],[886],{"type":57,"value":887},"SIF_RX_VP_SIZE[i] = 32",{"type":51,"tag":97,"props":889,"children":890},{},[891],{"type":51,"tag":73,"props":892,"children":894},{"className":893},[],[895],{"type":57,"value":896},"SIF_RX_NUM_CYCLES[i] = 1",{"type":51,"tag":60,"props":898,"children":900},{"id":899},"emitted-field-format",[901],{"type":57,"value":902},"Emitted Field Format",{"type":51,"tag":93,"props":904,"children":905},{},[906,918,937,956,969,995],{"type":51,"tag":97,"props":907,"children":908},{},[909,911,916],{"type":57,"value":910},"The enable array must always have exactly ",{"type":51,"tag":73,"props":912,"children":914},{"className":913},[],[915],{"type":57,"value":172},{"type":57,"value":917}," entries.",{"type":51,"tag":97,"props":919,"children":920},{},[921,923,928,930,935],{"type":57,"value":922},"If any enable entry is ",{"type":51,"tag":73,"props":924,"children":926},{"className":925},[],[927],{"type":57,"value":845},{"type":57,"value":929},", emit all four peer arrays at exactly ",{"type":51,"tag":73,"props":931,"children":933},{"className":932},[],[934],{"type":57,"value":172},{"type":57,"value":936}," length.",{"type":51,"tag":97,"props":938,"children":939},{},[940,942,947,949,954],{"type":57,"value":941},"If every enable entry is ",{"type":51,"tag":73,"props":943,"children":945},{"className":944},[],[946],{"type":57,"value":762},{"type":57,"value":948},", emit only ",{"type":51,"tag":73,"props":950,"children":952},{"className":951},[],[953],{"type":57,"value":105},{"type":57,"value":955},"; the four peer arrays are not required for the packetizer decision.",{"type":51,"tag":97,"props":957,"children":958},{},[959,961,967],{"type":57,"value":960},"Use positional array syntax for mixed per-port values. Use ",{"type":51,"tag":73,"props":962,"children":964},{"className":963},[],[965],{"type":57,"value":966},"'{default:\u003Cvalue>}",{"type":57,"value":968}," only when every entry is identical and that form improves readability.",{"type":51,"tag":97,"props":970,"children":971},{},[972,974,979,981,986,987,993],{"type":57,"value":973},"Do not emit or modify ",{"type":51,"tag":73,"props":975,"children":977},{"className":976},[],[978],{"type":57,"value":172},{"type":57,"value":980},", ",{"type":51,"tag":73,"props":982,"children":984},{"className":983},[],[985],{"type":57,"value":185},{"type":57,"value":980},{"type":51,"tag":73,"props":988,"children":990},{"className":989},[],[991],{"type":57,"value":992},"DATAPATH_WIDTH",{"type":57,"value":994},", host fields, clocks, or any non-packetizer macros from this skill.",{"type":51,"tag":97,"props":996,"children":997},{},[998],{"type":57,"value":999},"After emitting the block or overlay, explain the selected settings in terms of the user's input data and manipulation needs. Keep the explanation after the fenced output so downstream tools can consume the block first.",{"type":51,"tag":60,"props":1001,"children":1003},{"id":1002},"standalone-svh",[1004],{"type":57,"value":619},{"type":51,"tag":67,"props":1006,"children":1007},{},[1008,1010,1015],{"type":57,"value":1009},"Use this when the user asks for packetizer lines to add to a ",{"type":51,"tag":73,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":57,"value":45},{"type":57,"value":207},{"type":51,"tag":67,"props":1017,"children":1018},{},[1019],{"type":57,"value":1020},"Steps:",{"type":51,"tag":342,"props":1022,"children":1023},{},[1024,1029,1041,1053,1058],{"type":51,"tag":97,"props":1025,"children":1026},{},[1027],{"type":57,"value":1028},"Gather the required facts.",{"type":51,"tag":97,"props":1030,"children":1031},{},[1032,1034,1039],{"type":57,"value":1033},"Load ",{"type":51,"tag":73,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":57,"value":515},{"type":57,"value":1040}," for choosing values, checking constraints, and using the canonical standalone output formatting.",{"type":51,"tag":97,"props":1042,"children":1043},{},[1044,1046,1051],{"type":57,"value":1045},"Emit a fenced ",{"type":51,"tag":73,"props":1047,"children":1049},{"className":1048},[],[1050],{"type":57,"value":39},{"type":57,"value":1052}," block containing only the packetizer localparams.",{"type":51,"tag":97,"props":1054,"children":1055},{},[1056],{"type":57,"value":1057},"Explain what the settings allow for the user's data manipulation: which RX interfaces use packetizer hardware, how many virtual streams they expose, the per-stream width, the data-rearrangement granularity, and whether the operation is single-cycle or multi-cycle.",{"type":51,"tag":97,"props":1059,"children":1060},{},[1061,1063,1068,1070,1076],{"type":57,"value":1062},"Add a short note that whole-file validation should be done with ",{"type":51,"tag":73,"props":1064,"children":1066},{"className":1065},[],[1067],{"type":57,"value":152},{"type":57,"value":1069}," or its ",{"type":51,"tag":73,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":57,"value":1075},"validate_def.py",{"type":57,"value":207},{"type":51,"tag":60,"props":1078,"children":1080},{"id":1079},"def-skill-handoff",[1081],{"type":57,"value":601},{"type":51,"tag":67,"props":1083,"children":1084},{},[1085,1087,1092,1094,1099],{"type":57,"value":1086},"Use this when invoked by ",{"type":51,"tag":73,"props":1088,"children":1090},{"className":1089},[],[1091],{"type":57,"value":152},{"type":57,"value":1093}," while that skill is generating a full ",{"type":51,"tag":73,"props":1095,"children":1097},{"className":1096},[],[1098],{"type":57,"value":45},{"type":57,"value":207},{"type":51,"tag":67,"props":1101,"children":1102},{},[1103],{"type":57,"value":1020},{"type":51,"tag":342,"props":1105,"children":1106},{},[1107,1112,1122,1134],{"type":51,"tag":97,"props":1108,"children":1109},{},[1110],{"type":57,"value":1111},"Gather only packetizer-specific requirements not already known from the def flow.",{"type":51,"tag":97,"props":1113,"children":1114},{},[1115,1116,1121],{"type":57,"value":1033},{"type":51,"tag":73,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":57,"value":250},{"type":57,"value":207},{"type":51,"tag":97,"props":1123,"children":1124},{},[1125,1127,1132],{"type":57,"value":1126},"Emit one labeled YAML overlay first. Do not write an introductory sentence before the ",{"type":51,"tag":73,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":57,"value":258},{"type":57,"value":1133}," label once requirements are known. The def skill consumes the flat keys directly.",{"type":51,"tag":97,"props":1135,"children":1136},{},[1137],{"type":57,"value":1138},"After the overlay, add a concise explanation of what the settings allow for the user's data description and manipulation needs.",{"type":51,"tag":67,"props":1140,"children":1141},{},[1142],{"type":57,"value":1143},"Required label:",{"type":51,"tag":67,"props":1145,"children":1146},{},[1147],{"type":51,"tag":73,"props":1148,"children":1150},{"className":1149},[],[1151],{"type":57,"value":258},{"type":51,"tag":67,"props":1153,"children":1154},{},[1155],{"type":57,"value":1156},"YAML keys:",{"type":51,"tag":93,"props":1158,"children":1159},{},[1160,1169,1185,1200,1215],{"type":51,"tag":97,"props":1161,"children":1162},{},[1163],{"type":51,"tag":73,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":57,"value":1168},"sif_rx_packetizer_en",{"type":51,"tag":97,"props":1170,"children":1171},{},[1172,1178,1180],{"type":51,"tag":73,"props":1173,"children":1175},{"className":1174},[],[1176],{"type":57,"value":1177},"sif_rx_vp_count",{"type":57,"value":1179}," only when any enable is ",{"type":51,"tag":73,"props":1181,"children":1183},{"className":1182},[],[1184],{"type":57,"value":845},{"type":51,"tag":97,"props":1186,"children":1187},{},[1188,1194,1195],{"type":51,"tag":73,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":57,"value":1193},"sif_rx_sort_resolution",{"type":57,"value":1179},{"type":51,"tag":73,"props":1196,"children":1198},{"className":1197},[],[1199],{"type":57,"value":845},{"type":51,"tag":97,"props":1201,"children":1202},{},[1203,1209,1210],{"type":51,"tag":73,"props":1204,"children":1206},{"className":1205},[],[1207],{"type":57,"value":1208},"sif_rx_vp_size",{"type":57,"value":1179},{"type":51,"tag":73,"props":1211,"children":1213},{"className":1212},[],[1214],{"type":57,"value":845},{"type":51,"tag":97,"props":1216,"children":1217},{},[1218,1224,1225],{"type":51,"tag":73,"props":1219,"children":1221},{"className":1220},[],[1222],{"type":57,"value":1223},"sif_rx_num_cycles",{"type":57,"value":1179},{"type":51,"tag":73,"props":1226,"children":1228},{"className":1227},[],[1229],{"type":57,"value":845},{"type":51,"tag":67,"props":1231,"children":1232},{},[1233],{"type":57,"value":1234},"Example shape:",{"type":51,"tag":67,"props":1236,"children":1237},{},[1238],{"type":57,"value":258},{"type":51,"tag":1240,"props":1241,"children":1246},"pre",{"className":1242,"code":1243,"language":1244,"meta":1245,"style":1245},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sif_rx_packetizer_en: [1, 0]\nsif_rx_vp_count: [4, 1]\nsif_rx_sort_resolution: [16, 2]\nsif_rx_vp_size: [128, 32]\nsif_rx_num_cycles: [1, 1]\n","yaml","",[1247],{"type":51,"tag":73,"props":1248,"children":1249},{"__ignoreMap":1245},[1250,1291,1325,1359,1393],{"type":51,"tag":1251,"props":1252,"children":1255},"span",{"class":1253,"line":1254},"line",1,[1256,1261,1266,1271,1276,1281,1286],{"type":51,"tag":1251,"props":1257,"children":1259},{"style":1258},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1260],{"type":57,"value":1168},{"type":51,"tag":1251,"props":1262,"children":1264},{"style":1263},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1265],{"type":57,"value":91},{"type":51,"tag":1251,"props":1267,"children":1268},{"style":1263},[1269],{"type":57,"value":1270}," [",{"type":51,"tag":1251,"props":1272,"children":1274},{"style":1273},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1275],{"type":57,"value":845},{"type":51,"tag":1251,"props":1277,"children":1278},{"style":1263},[1279],{"type":57,"value":1280},",",{"type":51,"tag":1251,"props":1282,"children":1283},{"style":1273},[1284],{"type":57,"value":1285}," 0",{"type":51,"tag":1251,"props":1287,"children":1288},{"style":1263},[1289],{"type":57,"value":1290},"]\n",{"type":51,"tag":1251,"props":1292,"children":1294},{"class":1253,"line":1293},2,[1295,1299,1303,1307,1312,1316,1321],{"type":51,"tag":1251,"props":1296,"children":1297},{"style":1258},[1298],{"type":57,"value":1177},{"type":51,"tag":1251,"props":1300,"children":1301},{"style":1263},[1302],{"type":57,"value":91},{"type":51,"tag":1251,"props":1304,"children":1305},{"style":1263},[1306],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1308,"children":1309},{"style":1273},[1310],{"type":57,"value":1311},"4",{"type":51,"tag":1251,"props":1313,"children":1314},{"style":1263},[1315],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1317,"children":1318},{"style":1273},[1319],{"type":57,"value":1320}," 1",{"type":51,"tag":1251,"props":1322,"children":1323},{"style":1263},[1324],{"type":57,"value":1290},{"type":51,"tag":1251,"props":1326,"children":1328},{"class":1253,"line":1327},3,[1329,1333,1337,1341,1346,1350,1355],{"type":51,"tag":1251,"props":1330,"children":1331},{"style":1258},[1332],{"type":57,"value":1193},{"type":51,"tag":1251,"props":1334,"children":1335},{"style":1263},[1336],{"type":57,"value":91},{"type":51,"tag":1251,"props":1338,"children":1339},{"style":1263},[1340],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1342,"children":1343},{"style":1273},[1344],{"type":57,"value":1345},"16",{"type":51,"tag":1251,"props":1347,"children":1348},{"style":1263},[1349],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1351,"children":1352},{"style":1273},[1353],{"type":57,"value":1354}," 2",{"type":51,"tag":1251,"props":1356,"children":1357},{"style":1263},[1358],{"type":57,"value":1290},{"type":51,"tag":1251,"props":1360,"children":1362},{"class":1253,"line":1361},4,[1363,1367,1371,1375,1380,1384,1389],{"type":51,"tag":1251,"props":1364,"children":1365},{"style":1258},[1366],{"type":57,"value":1208},{"type":51,"tag":1251,"props":1368,"children":1369},{"style":1263},[1370],{"type":57,"value":91},{"type":51,"tag":1251,"props":1372,"children":1373},{"style":1263},[1374],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1376,"children":1377},{"style":1273},[1378],{"type":57,"value":1379},"128",{"type":51,"tag":1251,"props":1381,"children":1382},{"style":1263},[1383],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1385,"children":1386},{"style":1273},[1387],{"type":57,"value":1388}," 32",{"type":51,"tag":1251,"props":1390,"children":1391},{"style":1263},[1392],{"type":57,"value":1290},{"type":51,"tag":1251,"props":1394,"children":1396},{"class":1253,"line":1395},5,[1397,1401,1405,1409,1413,1417,1421],{"type":51,"tag":1251,"props":1398,"children":1399},{"style":1258},[1400],{"type":57,"value":1223},{"type":51,"tag":1251,"props":1402,"children":1403},{"style":1263},[1404],{"type":57,"value":91},{"type":51,"tag":1251,"props":1406,"children":1407},{"style":1263},[1408],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1410,"children":1411},{"style":1273},[1412],{"type":57,"value":845},{"type":51,"tag":1251,"props":1414,"children":1415},{"style":1263},[1416],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1418,"children":1419},{"style":1273},[1420],{"type":57,"value":1320},{"type":51,"tag":1251,"props":1422,"children":1423},{"style":1263},[1424],{"type":57,"value":1290},{"type":51,"tag":67,"props":1426,"children":1427},{},[1428],{"type":57,"value":1429},"The def skill remains responsible for merging this overlay into its profile, generating the final SVH, and running full validation.",{"type":51,"tag":60,"props":1431,"children":1433},{"id":1432},"explain",[1434],{"type":57,"value":630},{"type":51,"tag":67,"props":1436,"children":1437},{},[1438],{"type":57,"value":1439},"Use this when the user asks what a packetizer field does, why a value matters, or whether a packetizer combination is suitable.",{"type":51,"tag":67,"props":1441,"children":1442},{},[1443],{"type":57,"value":1020},{"type":51,"tag":342,"props":1445,"children":1446},{},[1447,1458,1469,1490],{"type":51,"tag":97,"props":1448,"children":1449},{},[1450,1451,1456],{"type":57,"value":1033},{"type":51,"tag":73,"props":1452,"children":1454},{"className":1453},[],[1455],{"type":57,"value":515},{"type":57,"value":1457}," for field-level answers.",{"type":51,"tag":97,"props":1459,"children":1460},{},[1461,1462,1467],{"type":57,"value":1033},{"type":51,"tag":73,"props":1463,"children":1465},{"className":1464},[],[1466],{"type":57,"value":539},{"type":57,"value":1468}," for architecture, data flow, clock domains, or runtime APB behavior.",{"type":51,"tag":97,"props":1470,"children":1471},{},[1472,1474,1480,1482,1488],{"type":57,"value":1473},"Cite source locations in the form ",{"type":51,"tag":73,"props":1475,"children":1477},{"className":1476},[],[1478],{"type":57,"value":1479},"top\u002FHOLOLINK_top.sv:1356-1362",{"type":57,"value":1481}," or ",{"type":51,"tag":73,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":57,"value":1487},"packetizer\u002Fpacketizer.sv:69-85",{"type":57,"value":1489}," when explaining RTL behavior.",{"type":51,"tag":97,"props":1491,"children":1492},{},[1493,1495,1500,1502,1507],{"type":57,"value":1494},"For legality questions that affect the whole ",{"type":51,"tag":73,"props":1496,"children":1498},{"className":1497},[],[1499],{"type":57,"value":45},{"type":57,"value":1501},", state the packetizer-local concern and tell the user to validate the full file with ",{"type":51,"tag":73,"props":1503,"children":1505},{"className":1504},[],[1506],{"type":57,"value":152},{"type":57,"value":207},{"type":51,"tag":60,"props":1509,"children":1511},{"id":1510},"troubleshooting",[1512],{"type":57,"value":1513},"Troubleshooting",{"type":51,"tag":93,"props":1515,"children":1516},{},[1517,1522,1527,1539],{"type":51,"tag":97,"props":1518,"children":1519},{},[1520],{"type":57,"value":1521},"Sensor RX disabled: emit no packetizer arrays and explain that packetizer hardware is only for Sensor RX interfaces.",{"type":51,"tag":97,"props":1523,"children":1524},{},[1525],{"type":57,"value":1526},"Missing data-shape facts: ask one clarifying question about stream count, lane width, cycle window, or ordering before deriving fields.",{"type":51,"tag":97,"props":1528,"children":1529},{},[1530,1532,1537],{"type":57,"value":1531},"Runtime APB pattern-RAM request: explain that runtime programming is outside v1 generated output and load ",{"type":51,"tag":73,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":57,"value":539},{"type":57,"value":1538}," only for context.",{"type":51,"tag":97,"props":1540,"children":1541},{},[1542,1544,1549],{"type":57,"value":1543},"Whole-file legality concern: state the packetizer-local issue and direct validation back to ",{"type":51,"tag":73,"props":1545,"children":1547},{"className":1546},[],[1548],{"type":57,"value":152},{"type":57,"value":207},{"type":51,"tag":60,"props":1551,"children":1553},{"id":1552},"examples",[1554],{"type":57,"value":1555},"Examples",{"type":51,"tag":93,"props":1557,"children":1558},{},[1559,1616],{"type":51,"tag":97,"props":1560,"children":1561},{},[1562,1568,1570,1576,1578,1584,1586,1592,1594,1600,1602,1608,1610,1615],{"type":51,"tag":73,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":57,"value":1567},"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.",{"type":57,"value":1569}," Treat as Standalone SVH and emit only packetizer localparams: enable ",{"type":51,"tag":73,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":57,"value":1575},"[1, 0]",{"type":57,"value":1577},", virtual-port count ",{"type":51,"tag":73,"props":1579,"children":1581},{"className":1580},[],[1582],{"type":57,"value":1583},"[4, 1]",{"type":57,"value":1585},", sort resolution ",{"type":51,"tag":73,"props":1587,"children":1589},{"className":1588},[],[1590],{"type":57,"value":1591},"[512, 2]",{"type":57,"value":1593}," for a contiguous split without lane reordering, virtual-port size ",{"type":51,"tag":73,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":57,"value":1599},"[128, 32]",{"type":57,"value":1601},", and cycles ",{"type":51,"tag":73,"props":1603,"children":1605},{"className":1604},[],[1606],{"type":57,"value":1607},"[1, 1]",{"type":57,"value":1609},". Tell the user to run full-file validation with ",{"type":51,"tag":73,"props":1611,"children":1613},{"className":1612},[],[1614],{"type":57,"value":152},{"type":57,"value":207},{"type":51,"tag":97,"props":1617,"children":1618},{},[1619,1625],{"type":51,"tag":73,"props":1620,"children":1622},{"className":1621},[],[1623],{"type":57,"value":1624},"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.",{"type":57,"value":1626}," Treat as Def-Skill Handoff and put the YAML overlay first:",{"type":51,"tag":67,"props":1628,"children":1629},{},[1630],{"type":57,"value":258},{"type":51,"tag":1240,"props":1632,"children":1634},{"className":1242,"code":1633,"language":1244,"meta":1245,"style":1245},"sif_rx_packetizer_en: [1, 0]\nsif_rx_vp_count: [4, 1]\nsif_rx_sort_resolution: [16, 2]\nsif_rx_vp_size: [16, 32]\nsif_rx_num_cycles: [1, 1]\n",[1635],{"type":51,"tag":73,"props":1636,"children":1637},{"__ignoreMap":1245},[1638,1669,1700,1731,1762],{"type":51,"tag":1251,"props":1639,"children":1640},{"class":1253,"line":1254},[1641,1645,1649,1653,1657,1661,1665],{"type":51,"tag":1251,"props":1642,"children":1643},{"style":1258},[1644],{"type":57,"value":1168},{"type":51,"tag":1251,"props":1646,"children":1647},{"style":1263},[1648],{"type":57,"value":91},{"type":51,"tag":1251,"props":1650,"children":1651},{"style":1263},[1652],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1654,"children":1655},{"style":1273},[1656],{"type":57,"value":845},{"type":51,"tag":1251,"props":1658,"children":1659},{"style":1263},[1660],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1662,"children":1663},{"style":1273},[1664],{"type":57,"value":1285},{"type":51,"tag":1251,"props":1666,"children":1667},{"style":1263},[1668],{"type":57,"value":1290},{"type":51,"tag":1251,"props":1670,"children":1671},{"class":1253,"line":1293},[1672,1676,1680,1684,1688,1692,1696],{"type":51,"tag":1251,"props":1673,"children":1674},{"style":1258},[1675],{"type":57,"value":1177},{"type":51,"tag":1251,"props":1677,"children":1678},{"style":1263},[1679],{"type":57,"value":91},{"type":51,"tag":1251,"props":1681,"children":1682},{"style":1263},[1683],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1685,"children":1686},{"style":1273},[1687],{"type":57,"value":1311},{"type":51,"tag":1251,"props":1689,"children":1690},{"style":1263},[1691],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1693,"children":1694},{"style":1273},[1695],{"type":57,"value":1320},{"type":51,"tag":1251,"props":1697,"children":1698},{"style":1263},[1699],{"type":57,"value":1290},{"type":51,"tag":1251,"props":1701,"children":1702},{"class":1253,"line":1327},[1703,1707,1711,1715,1719,1723,1727],{"type":51,"tag":1251,"props":1704,"children":1705},{"style":1258},[1706],{"type":57,"value":1193},{"type":51,"tag":1251,"props":1708,"children":1709},{"style":1263},[1710],{"type":57,"value":91},{"type":51,"tag":1251,"props":1712,"children":1713},{"style":1263},[1714],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1716,"children":1717},{"style":1273},[1718],{"type":57,"value":1345},{"type":51,"tag":1251,"props":1720,"children":1721},{"style":1263},[1722],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1724,"children":1725},{"style":1273},[1726],{"type":57,"value":1354},{"type":51,"tag":1251,"props":1728,"children":1729},{"style":1263},[1730],{"type":57,"value":1290},{"type":51,"tag":1251,"props":1732,"children":1733},{"class":1253,"line":1361},[1734,1738,1742,1746,1750,1754,1758],{"type":51,"tag":1251,"props":1735,"children":1736},{"style":1258},[1737],{"type":57,"value":1208},{"type":51,"tag":1251,"props":1739,"children":1740},{"style":1263},[1741],{"type":57,"value":91},{"type":51,"tag":1251,"props":1743,"children":1744},{"style":1263},[1745],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1747,"children":1748},{"style":1273},[1749],{"type":57,"value":1345},{"type":51,"tag":1251,"props":1751,"children":1752},{"style":1263},[1753],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1755,"children":1756},{"style":1273},[1757],{"type":57,"value":1388},{"type":51,"tag":1251,"props":1759,"children":1760},{"style":1263},[1761],{"type":57,"value":1290},{"type":51,"tag":1251,"props":1763,"children":1764},{"class":1253,"line":1395},[1765,1769,1773,1777,1781,1785,1789],{"type":51,"tag":1251,"props":1766,"children":1767},{"style":1258},[1768],{"type":57,"value":1223},{"type":51,"tag":1251,"props":1770,"children":1771},{"style":1263},[1772],{"type":57,"value":91},{"type":51,"tag":1251,"props":1774,"children":1775},{"style":1263},[1776],{"type":57,"value":1270},{"type":51,"tag":1251,"props":1778,"children":1779},{"style":1273},[1780],{"type":57,"value":845},{"type":51,"tag":1251,"props":1782,"children":1783},{"style":1263},[1784],{"type":57,"value":1280},{"type":51,"tag":1251,"props":1786,"children":1787},{"style":1273},[1788],{"type":57,"value":1320},{"type":51,"tag":1251,"props":1790,"children":1791},{"style":1263},[1792],{"type":57,"value":1290},{"type":51,"tag":67,"props":1794,"children":1795},{},[1796,1798,1803,1805,1810],{"type":57,"value":1797},"Then state that ",{"type":51,"tag":73,"props":1799,"children":1801},{"className":1800},[],[1802],{"type":57,"value":152},{"type":57,"value":1804}," remains responsible for merging this overlay, generating the full ",{"type":51,"tag":73,"props":1806,"children":1808},{"className":1807},[],[1809],{"type":57,"value":45},{"type":57,"value":1811},", and running full validation.",{"type":51,"tag":93,"props":1813,"children":1814},{},[1815],{"type":51,"tag":97,"props":1816,"children":1817},{},[1818,1824],{"type":51,"tag":73,"props":1819,"children":1821},{"className":1820},[],[1822],{"type":57,"value":1823},"Do I need hsb-ip-packetizer if SENSOR_RX_IF_INST is disabled in my HOLOLINK_def.svh?",{"type":57,"value":1825}," Explain that packetizer fields apply only to Sensor RX interfaces, emit no packetizer arrays, and avoid runtime APB pattern-RAM configuration.",{"type":51,"tag":60,"props":1827,"children":1829},{"id":1828},"limitations",[1830],{"type":57,"value":1831},"Limitations",{"type":51,"tag":93,"props":1833,"children":1834},{},[1835,1847,1858,1863],{"type":51,"tag":97,"props":1836,"children":1837},{},[1838,1840,1845],{"type":57,"value":1839},"Do not generate full ",{"type":51,"tag":73,"props":1841,"children":1843},{"className":1842},[],[1844],{"type":57,"value":45},{"type":57,"value":1846}," files.",{"type":51,"tag":97,"props":1848,"children":1849},{},[1850,1852,1857],{"type":57,"value":1851},"Do not validate full ",{"type":51,"tag":73,"props":1853,"children":1855},{"className":1854},[],[1856],{"type":57,"value":45},{"type":57,"value":1846},{"type":51,"tag":97,"props":1859,"children":1860},{},[1861],{"type":57,"value":1862},"Do not generate runtime APB writes or pattern-RAM contents in v1.",{"type":51,"tag":97,"props":1864,"children":1865},{},[1866],{"type":57,"value":1867},"Do not choose packetizer values from corpus frequency or archetype popularity.",{"type":51,"tag":1869,"props":1870,"children":1871},"style",{},[1872],{"type":57,"value":1873},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1875,"total":2034},[1876,1894,1912,1923,1935,1949,1962,1976,1989,2000,2014,2023],{"slug":1877,"name":1877,"fn":1878,"description":1879,"org":1880,"tags":1881,"stars":1891,"repoUrl":1892,"updatedAt":1893},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1882,1885,1888],{"name":1883,"slug":1884,"type":15},"Documentation","documentation",{"name":1886,"slug":1887,"type":15},"MCP","mcp",{"name":1889,"slug":1890,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1895,"name":1895,"fn":1896,"description":1897,"org":1898,"tags":1899,"stars":1909,"repoUrl":1910,"updatedAt":1911},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1900,1903,1906],{"name":1901,"slug":1902,"type":15},"Containers","containers",{"name":1904,"slug":1905,"type":15},"Deployment","deployment",{"name":1907,"slug":1908,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1913,"name":1913,"fn":1914,"description":1915,"org":1916,"tags":1917,"stars":1909,"repoUrl":1910,"updatedAt":1922},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1918,1921],{"name":1919,"slug":1920,"type":15},"CI\u002FCD","ci-cd",{"name":1904,"slug":1905,"type":15},"2026-07-14T05:25:59.97109",{"slug":1924,"name":1924,"fn":1925,"description":1926,"org":1927,"tags":1928,"stars":1909,"repoUrl":1910,"updatedAt":1934},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1929,1930,1931],{"name":1919,"slug":1920,"type":15},{"name":1904,"slug":1905,"type":15},{"name":1932,"slug":1933,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1936,"name":1936,"fn":1937,"description":1938,"org":1939,"tags":1940,"stars":1909,"repoUrl":1910,"updatedAt":1948},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1941,1944,1945],{"name":1942,"slug":1943,"type":15},"Debugging","debugging",{"name":1932,"slug":1933,"type":15},{"name":1946,"slug":1947,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1950,"name":1950,"fn":1951,"description":1952,"org":1953,"tags":1954,"stars":1909,"repoUrl":1910,"updatedAt":1961},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1955,1958],{"name":1956,"slug":1957,"type":15},"Best Practices","best-practices",{"name":1959,"slug":1960,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1963,"name":1963,"fn":1964,"description":1965,"org":1966,"tags":1967,"stars":1909,"repoUrl":1910,"updatedAt":1975},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1968,1971,1974],{"name":1969,"slug":1970,"type":15},"Machine Learning","machine-learning",{"name":1972,"slug":1973,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1977,"name":1977,"fn":1978,"description":1979,"org":1980,"tags":1981,"stars":1909,"repoUrl":1910,"updatedAt":1988},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1982,1985],{"name":1983,"slug":1984,"type":15},"QA","qa",{"name":1986,"slug":1987,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1990,"name":1990,"fn":1991,"description":1992,"org":1993,"tags":1994,"stars":1909,"repoUrl":1910,"updatedAt":1999},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1995,1996],{"name":1904,"slug":1905,"type":15},{"name":1997,"slug":1998,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":2001,"name":2001,"fn":2002,"description":2003,"org":2004,"tags":2005,"stars":1909,"repoUrl":1910,"updatedAt":2013},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2006,2009,2010],{"name":2007,"slug":2008,"type":15},"Code Review","code-review",{"name":1932,"slug":1933,"type":15},{"name":2011,"slug":2012,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":2015,"name":2015,"fn":2016,"description":2017,"org":2018,"tags":2019,"stars":1909,"repoUrl":1910,"updatedAt":2022},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2020,2021],{"name":1983,"slug":1984,"type":15},{"name":1986,"slug":1987,"type":15},"2026-07-14T05:25:54.928983",{"slug":2024,"name":2024,"fn":2025,"description":2026,"org":2027,"tags":2028,"stars":1909,"repoUrl":1910,"updatedAt":2033},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2029,2032],{"name":2030,"slug":2031,"type":15},"Automation","automation",{"name":1919,"slug":1920,"type":15},"2026-07-30T05:29:03.275638",525,{"items":2036,"total":2132},[2037,2054,2064,2078,2088,2103,2118],{"slug":2038,"name":2038,"fn":2039,"description":2040,"org":2041,"tags":2042,"stars":20,"repoUrl":21,"updatedAt":2053},"accelerated-computing-cudf","accelerate data processing with cuDF","Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV\u002FParquet I\u002FO, nullable semantics, and multi-GPU DataFrame workloads.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2043,2046,2049,2050],{"name":2044,"slug":2045,"type":15},"Data Analysis","data-analysis",{"name":2047,"slug":2048,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":2051,"slug":2052,"type":15},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":2055,"name":2055,"fn":2056,"description":2057,"org":2058,"tags":2059,"stars":20,"repoUrl":21,"updatedAt":2063},"aiq-deploy","deploy and manage NVIDIA AI-Q infrastructure","Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2060,2061,2062],{"name":1904,"slug":1905,"type":15},{"name":1997,"slug":1998,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":2065,"name":2065,"fn":2066,"description":2067,"org":2068,"tags":2069,"stars":20,"repoUrl":21,"updatedAt":2077},"aiq-research","conduct deep research with AI-Q","Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2070,2073,2074],{"name":2071,"slug":2072,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":2075,"slug":2076,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":2079,"name":2079,"fn":2080,"description":2081,"org":2082,"tags":2083,"stars":20,"repoUrl":21,"updatedAt":2087},"amc-run-sample-calibration","run AMC sample dataset calibration","Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2084,2085,2086],{"name":2044,"slug":2045,"type":15},{"name":9,"slug":8,"type":15},{"name":1986,"slug":1987,"type":15},"2026-07-17T05:29:03.913266",{"slug":2089,"name":2089,"fn":2090,"description":2091,"org":2092,"tags":2093,"stars":20,"repoUrl":21,"updatedAt":2102},"amc-run-video-calibration","calibrate video datasets with AutoMagicCalib","Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP\u002Flive streams, use amc-run-rtsp-calibration instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2094,2095,2098,2099],{"name":2030,"slug":2031,"type":15},{"name":2096,"slug":2097,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":2100,"slug":2101,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":2104,"name":2104,"fn":2105,"description":2106,"org":2107,"tags":2108,"stars":20,"repoUrl":21,"updatedAt":2117},"amc-setup-calibration-stack","deploy AutoMagicCalib microservice with Docker","Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2109,2110,2113,2114],{"name":1904,"slug":1905,"type":15},{"name":2111,"slug":2112,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":2115,"slug":2116,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":2119,"name":2119,"fn":2120,"description":2121,"org":2122,"tags":2123,"stars":20,"repoUrl":21,"updatedAt":2131},"cudaq-guide","develop quantum applications with CUDA-Q","CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2124,2125,2128],{"name":9,"slug":8,"type":15},{"name":2126,"slug":2127,"type":15},"Quantum Computing","quantum-computing",{"name":2129,"slug":2130,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",310]