@genrtl/grtl 0.4.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -7
- package/dist/index.js +30 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,13 +57,14 @@ https://genrtl.com/api/mcp
|
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
grtl knowledge-search "AXI stream backpressure design"
|
|
60
|
-
grtl spec2rtl-search "Design an APB register block"
|
|
61
|
-
grtl spec2plan-search "Plan an APB register block implementation"
|
|
62
|
-
grtl verification-search "Verify an async FIFO"
|
|
63
|
-
grtl
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
grtl spec2rtl-search "Design an APB register block"
|
|
61
|
+
grtl spec2plan-search "Plan an APB register block implementation"
|
|
62
|
+
grtl verification-search "Verify an async FIFO"
|
|
63
|
+
grtl compile-search "Explain this Vivado CDC warning"
|
|
64
|
+
grtl debug-search "Fix this RTL bug from bad code and error message"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Use `--json` for structured output. `--type` accepts `spec2rtl`, `spec2plan`, `verification`, `compile`, `debug`, or `coding_style`; other filters include
|
|
67
68
|
`--domain`, `--tool`, `--tool-version`, `--error-type`, `--severity`,
|
|
68
69
|
`--interface`, `--target`, `--tag`, `--top-k`, `--min-score`, and
|
|
69
70
|
`--workspace-id`.
|
package/dist/index.js
CHANGED
|
@@ -378,7 +378,8 @@ Choose one tool:
|
|
|
378
378
|
- \`genrtl_spec2rtl_search\` for requirements and RTL design
|
|
379
379
|
- \`genrtl_spec2plan_search\` for implementation planning from a specification
|
|
380
380
|
- \`genrtl_verification_search\` for testbenches and verification
|
|
381
|
-
- \`
|
|
381
|
+
- \`genrtl_compile_search\` for lint, CDC, compile, synthesis, implementation, and simulator diagnostics
|
|
382
|
+
- \`genrtl_debug_search\` for issue descriptions, erroneous code, solutions, and corrected RTL
|
|
382
383
|
|
|
383
384
|
Pass the complete engineering question in \`query\`. Add filters only when useful.`;
|
|
384
385
|
var FALLBACK_CLI = `Use the \`grtl\` CLI for grounded RTL engineering knowledge and reusable CBB installation.
|
|
@@ -388,6 +389,7 @@ For knowledge retrieval, choose one command:
|
|
|
388
389
|
- \`npx @genrtl/grtl@latest spec2rtl-search "<query>"\`
|
|
389
390
|
- \`npx @genrtl/grtl@latest spec2plan-search "<query>"\`
|
|
390
391
|
- \`npx @genrtl/grtl@latest verification-search "<query>"\`
|
|
392
|
+
- \`npx @genrtl/grtl@latest compile-search "<query>"\`
|
|
391
393
|
- \`npx @genrtl/grtl@latest debug-search "<query>"\`
|
|
392
394
|
|
|
393
395
|
To install a reusable RTL block into the current project:
|
|
@@ -406,7 +408,7 @@ alwaysApply: true
|
|
|
406
408
|
var CODEX_CLI_SANDBOX_GUIDANCE = `Run GenRTL CLI requests outside Codex's default sandbox. If a GenRTL CLI command fails with DNS or network errors such as ENOTFOUND, host resolution failures, or fetch failed, rerun it outside the sandbox instead of retrying inside the sandbox.`;
|
|
407
409
|
var MCP_SKILL = `---
|
|
408
410
|
name: genrtl-mcp
|
|
409
|
-
description: Use GenRTL MCP tools for grounded RTL design, verification,
|
|
411
|
+
description: Use GenRTL MCP tools for grounded RTL design, verification, compile/synthesis diagnostics, debugging, and coding style knowledge.
|
|
410
412
|
---
|
|
411
413
|
|
|
412
414
|
# GenRTL MCP
|
|
@@ -419,14 +421,15 @@ Choose exactly one MCP tool:
|
|
|
419
421
|
- \`genrtl_spec2rtl_search\` for requirements, protocols, control logic, or algorithm-to-RTL work.
|
|
420
422
|
- \`genrtl_spec2plan_search\` for turning a specification into an actionable implementation plan.
|
|
421
423
|
- \`genrtl_verification_search\` for testbenches and verification.
|
|
422
|
-
- \`
|
|
424
|
+
- \`genrtl_compile_search\` for lint, CDC, compile, synthesis, implementation, or simulator diagnostics.
|
|
425
|
+
- \`genrtl_debug_search\` for issue descriptions, erroneous code, solutions, and corrected RTL.
|
|
423
426
|
|
|
424
427
|
Pass the complete engineering question in \`query\`. Add \`filters\`, \`top_k\`,
|
|
425
428
|
\`min_score\`, or \`workspace_id\` only when useful.
|
|
426
429
|
`;
|
|
427
430
|
var CLI_SKILL = `---
|
|
428
431
|
name: genrtl-cli
|
|
429
|
-
description: Use the grtl CLI for grounded RTL design, verification, debugging knowledge, and secure installation of reusable RTL CBBs.
|
|
432
|
+
description: Use the grtl CLI for grounded RTL design, verification, compile/synthesis diagnostics, debugging knowledge, and secure installation of reusable RTL CBBs.
|
|
430
433
|
---
|
|
431
434
|
|
|
432
435
|
# GenRTL CLI
|
|
@@ -440,7 +443,8 @@ For knowledge retrieval, choose exactly one command:
|
|
|
440
443
|
- \`grtl spec2rtl-search "<query>" --json\` for requirements, protocols, control logic, or algorithm-to-RTL work.
|
|
441
444
|
- \`grtl spec2plan-search "<query>" --json\` for turning a specification into an actionable implementation plan.
|
|
442
445
|
- \`grtl verification-search "<query>" --json\` for testbenches and verification.
|
|
443
|
-
- \`grtl
|
|
446
|
+
- \`grtl compile-search "<query>" --json\` for lint, CDC, compile, synthesis, implementation, or simulator diagnostics.
|
|
447
|
+
- \`grtl debug-search "<query>" --json\` for issue descriptions, erroneous code, solutions, and corrected RTL.
|
|
444
448
|
|
|
445
449
|
For a CBB selected from GenRTL search results:
|
|
446
450
|
|
|
@@ -982,10 +986,15 @@ var TOOL_COMMANDS = [
|
|
|
982
986
|
alias: "verification-search",
|
|
983
987
|
description: "Search verification and testbench knowledge cards"
|
|
984
988
|
},
|
|
989
|
+
{
|
|
990
|
+
name: "genrtl_compile_search",
|
|
991
|
+
alias: "compile-search",
|
|
992
|
+
description: "Search compile, lint, CDC, synthesis, implementation, and simulator diagnostic knowledge cards"
|
|
993
|
+
},
|
|
985
994
|
{
|
|
986
995
|
name: "genrtl_debug_search",
|
|
987
996
|
alias: "debug-search",
|
|
988
|
-
description: "Search
|
|
997
|
+
description: "Search RTL debug cards with issue description, erroneous code, solution, and corrected code"
|
|
989
998
|
}
|
|
990
999
|
];
|
|
991
1000
|
function parseInteger(value) {
|
|
@@ -1014,7 +1023,14 @@ function buildKnowledgeSearchInput(query, options) {
|
|
|
1014
1023
|
}
|
|
1015
1024
|
const filters = {};
|
|
1016
1025
|
if (options.type?.length) {
|
|
1017
|
-
const allowed = /* @__PURE__ */ new Set([
|
|
1026
|
+
const allowed = /* @__PURE__ */ new Set([
|
|
1027
|
+
"spec2rtl",
|
|
1028
|
+
"spec2plan",
|
|
1029
|
+
"verification",
|
|
1030
|
+
"compile",
|
|
1031
|
+
"debug",
|
|
1032
|
+
"coding_style"
|
|
1033
|
+
]);
|
|
1018
1034
|
const invalid = options.type.find((type) => !allowed.has(type));
|
|
1019
1035
|
if (invalid) {
|
|
1020
1036
|
throw new InvalidArgumentError(`Invalid knowledge type: ${invalid}`);
|
|
@@ -1091,7 +1107,10 @@ function printKnowledgeResult(result) {
|
|
|
1091
1107
|
}
|
|
1092
1108
|
}
|
|
1093
1109
|
function addSearchOptions(command) {
|
|
1094
|
-
return command.argument("<query>", "Natural-language RTL engineering question or diagnostic").option(
|
|
1110
|
+
return command.argument("<query>", "Natural-language RTL engineering question or diagnostic").option(
|
|
1111
|
+
"--type <type...>",
|
|
1112
|
+
"Knowledge types: spec2rtl, spec2plan, verification, compile, debug, coding_style"
|
|
1113
|
+
).option("--domain <domain>", "Filter by engineering domain").option("--tool <tool>", "Filter by EDA tool").option("--tool-version <version>", "Filter by EDA tool version").option("--error-type <type>", "Filter by error type").option("--severity <severity>", "Filter by severity").option("--interface <interface>", "Filter by hardware interface").option("--target <target>", "Filter by target: fpga, asic, or both").option("--tag <tag...>", "Filter by one or more tags").option("--top-k <count>", "Maximum results (1-20)", parseInteger).option("--min-score <score>", "Minimum similarity score (0-1)", parseNumber).option("--workspace-id <id>", "GenRTL workspace ID").option("--json", "Output the structured MCP result as JSON");
|
|
1095
1114
|
}
|
|
1096
1115
|
function registerKnowledgeCommands(program2) {
|
|
1097
1116
|
for (const tool of TOOL_COMMANDS) {
|
|
@@ -1911,12 +1930,13 @@ Examples:
|
|
|
1911
1930
|
${brand.primary("npx @genrtl/grtl setup --cli --codex --project")}
|
|
1912
1931
|
${brand.primary("GRTL_API_KEY=your_key npx @genrtl/grtl setup --mcp --codex --project")}
|
|
1913
1932
|
|
|
1914
|
-
${brand.dim("# Search the same
|
|
1933
|
+
${brand.dim("# Search the same six knowledge tools exposed by the GenRTL MCP server")}
|
|
1915
1934
|
${brand.primary('npx @genrtl/grtl knowledge-search "AXI stream backpressure design"')}
|
|
1916
1935
|
${brand.primary('npx @genrtl/grtl spec2rtl-search "Generate an APB register block"')}
|
|
1917
1936
|
${brand.primary('npx @genrtl/grtl spec2plan-search "Plan an APB register block implementation"')}
|
|
1918
1937
|
${brand.primary('npx @genrtl/grtl verification-search "Verify an async FIFO"')}
|
|
1919
|
-
${brand.primary('npx @genrtl/grtl
|
|
1938
|
+
${brand.primary('npx @genrtl/grtl compile-search "Explain this Vivado CDC warning"')}
|
|
1939
|
+
${brand.primary('npx @genrtl/grtl debug-search "Fix this RTL bug from bad code and error message"')}
|
|
1920
1940
|
|
|
1921
1941
|
${brand.dim("# Acquire and install a reusable RTL CBB")}
|
|
1922
1942
|
${brand.primary("npx @genrtl/grtl cbb install cbb_uart@1.2.0")}
|