[{"data":1,"prerenderedAt":1265},["ShallowReactive",2],{"navigation_docs":3,"-tools-get-flow-graph":340,"-tools-get-flow-graph-surround":1260},[4,30,55,254,271,294,311],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","/getting-started","1.getting-started",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":14,"path":15,"stem":16},"Platform","/getting-started/platforms","1.getting-started/2.platforms",{"title":18,"path":19,"stem":20},"Installation","/getting-started/installation","1.getting-started/3.installation",{"title":22,"path":23,"stem":24},"Licensing","/getting-started/licensing","1.getting-started/4.licensing",{"title":26,"path":27,"stem":28},"Quick Start","/getting-started/quick-start","1.getting-started/5.quick-start",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Features","/features","2.features",[35,39,43,47,51],{"title":36,"path":37,"stem":38},"Features Overview","/features/overview","2.features/1.overview",{"title":40,"path":41,"stem":42},"Code Quality Metrics","/features/code-quality-metrics","2.features/2.code-quality-metrics",{"title":44,"path":45,"stem":46},"Technical Debt Analysis","/features/technical-debt-analysis","2.features/3.technical-debt-analysis",{"title":48,"path":49,"stem":50},"Code Search","/features/code-search","2.features/4.code-search",{"title":52,"path":53,"stem":54},"Reports","/features/reports","2.features/5.reports",{"title":56,"path":57,"stem":58,"children":59,"page":29},"Tools","/tools","3.tools",[60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,142,148,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250],{"title":61,"path":62,"stem":63},"Tools Overview","/tools/overview","3.tools/1.overview",{"title":65,"path":66,"stem":67},"stellarion_get_symbol_info","/tools/get-symbol-info","3.tools/10.get-symbol-info",{"title":69,"path":70,"stem":71},"stellarion_symbol_search","/tools/symbol-search","3.tools/11.symbol-search",{"title":73,"path":74,"stem":75},"stellarion_get_callers","/tools/get-callers","3.tools/12.get-callers",{"title":77,"path":78,"stem":79},"stellarion_get_callees","/tools/get-callees","3.tools/13.get-callees",{"title":81,"path":82,"stem":83},"stellarion_get_detailed_symbol","/tools/get-detailed-symbol","3.tools/14.get-detailed-symbol",{"title":85,"path":86,"stem":87},"stellarion_find_by_imports","/tools/find-by-imports","3.tools/15.find-by-imports",{"title":89,"path":90,"stem":91},"stellarion_find_by_signature","/tools/find-by-signature","3.tools/16.find-by-signature",{"title":93,"path":94,"stem":95},"stellarion_find_entry_points","/tools/find-entry-points","3.tools/17.find-entry-points",{"title":97,"path":98,"stem":99},"stellarion_find_implementors","/tools/find-implementors","3.tools/18.find-implementors",{"title":101,"path":102,"stem":103},"stellarion_traverse_graph","/tools/traverse-graph","3.tools/19.traverse-graph",{"title":105,"path":106,"stem":107},"stellarion_get_ai_context","/tools/get-ai-context","3.tools/2.get-ai-context",{"title":109,"path":110,"stem":111},"stellarion_memory_store","/tools/memory-store","3.tools/20.memory-store",{"title":113,"path":114,"stem":115},"stellarion_memory_search","/tools/memory-search","3.tools/21.memory-search",{"title":117,"path":118,"stem":119},"stellarion_memory_get","/tools/memory-get","3.tools/22.memory-get",{"title":121,"path":122,"stem":123},"stellarion_memory_context","/tools/memory-context","3.tools/23.memory-context",{"title":125,"path":126,"stem":127},"stellarion_memory_invalidate","/tools/memory-invalidate","3.tools/24.memory-invalidate",{"title":129,"path":130,"stem":131},"stellarion_memory_list","/tools/memory-list","3.tools/25.memory-list",{"title":133,"path":134,"stem":135},"stellarion_memory_stats","/tools/memory-stats","3.tools/26.memory-stats",{"title":137,"path":138,"stem":139,"children":140},"stellarion_reindex_workspace","/tools/reindex-workspace","3.tools/27.reindex-workspace",[141],{"title":137,"path":138,"stem":139},{"title":143,"path":144,"stem":145,"children":146},"stellarion_index_files","/tools/index-files","3.tools/28.index-files",[147],{"title":143,"path":144,"stem":145},{"title":149,"path":150,"stem":151,"children":152},"stellarion_index_directory","/tools/index-directory","3.tools/29.index-directory",[153],{"title":149,"path":150,"stem":151},{"title":155,"path":156,"stem":157},"stellarion_get_edit_context","/tools/get-edit-context","3.tools/3.get-edit-context",{"title":159,"path":160,"stem":161},"stellarion_scan_security [Pro]","/tools/scan-security","3.tools/30.scan-security",{"title":163,"path":164,"stem":165},"stellarion_analyze_coupling [Pro]","/tools/analyze-coupling","3.tools/31.analyze-coupling",{"title":167,"path":168,"stem":169},"stellarion_find_unused_code [Pro]","/tools/find-unused-code","3.tools/32.find-unused-code",{"title":171,"path":172,"stem":173},"stellarion_codebase_health [Pro]","/tools/codebase-health","3.tools/33.codebase-health",{"title":175,"path":176,"stem":177},"stellarion_tech_debt_report [Pro]","/tools/tech-debt-report","3.tools/34.tech-debt-report",{"title":179,"path":180,"stem":181},"stellarion_assess_change_risk [Pro]","/tools/assess-change-risk","3.tools/35.assess-change-risk",{"title":183,"path":184,"stem":185},"stellarion_dependency_drift [Pro]","/tools/dependency-drift","3.tools/36.dependency-drift",{"title":187,"path":188,"stem":189},"stellarion_api_surface [Pro]","/tools/api-surface","3.tools/37.api-surface",{"title":191,"path":192,"stem":193},"stellarion_find_duplicates [Pro]","/tools/find-duplicates","3.tools/38.find-duplicates",{"title":195,"path":196,"stem":197},"stellarion_find_similar [Pro]","/tools/find-similar","3.tools/39.find-similar",{"title":199,"path":200,"stem":201},"stellarion_get_curated_context","/tools/get-curated-context","3.tools/4.get-curated-context",{"title":203,"path":204,"stem":205},"stellarion_cluster_symbols [Pro]","/tools/cluster-symbols","3.tools/40.cluster-symbols",{"title":207,"path":208,"stem":209},"stellarion_compare_symbols [Pro]","/tools/compare-symbols","3.tools/41.compare-symbols",{"title":211,"path":212,"stem":213},"stellarion_mine_git_history [Pro]","/tools/mine-git-history","3.tools/42.mine-git-history",{"title":215,"path":216,"stem":217},"stellarion_mine_git_history_for_file [Pro]","/tools/mine-git-history-for-file","3.tools/43.mine-git-history-for-file",{"title":219,"path":220,"stem":221},"stellarion_search_git_history [Pro]","/tools/search-git-history","3.tools/44.search-git-history",{"title":223,"path":224,"stem":225},"stellarion_find_eda_calls [Pro · EDA]","/tools/find-eda-calls","3.tools/45.find-eda-calls",{"title":227,"path":228,"stem":229},"stellarion_get_flow_graph [Pro · EDA]","/tools/get-flow-graph","3.tools/46.get-flow-graph",{"title":231,"path":232,"stem":233},"stellarion_find_duplicate_constraints [Pro · EDA]","/tools/find-duplicate-constraints","3.tools/47.find-duplicate-constraints",{"title":235,"path":236,"stem":237},"stellarion_analyze_impact","/tools/analyze-impact","3.tools/5.analyze-impact",{"title":239,"path":240,"stem":241},"stellarion_analyze_complexity","/tools/analyze-complexity","3.tools/6.analyze-complexity",{"title":243,"path":244,"stem":245},"stellarion_get_call_graph","/tools/get-call-graph","3.tools/7.get-call-graph",{"title":247,"path":248,"stem":249},"stellarion_get_dependency_graph","/tools/get-dependency-graph","3.tools/8.get-dependency-graph",{"title":251,"path":252,"stem":253},"stellarion_find_related_tests","/tools/find-related-tests","3.tools/9.find-related-tests",{"title":255,"path":256,"stem":257,"children":258,"page":29},"Integrations","/integrations","4.integrations",[259,263,267],{"title":260,"path":261,"stem":262},"Claude Code","/integrations/claude-code","4.integrations/1.claude-code",{"title":264,"path":265,"stem":266},"Cursor","/integrations/cursor","4.integrations/2.cursor",{"title":268,"path":269,"stem":270},"Other MCP Clients","/integrations/other-mcp-clients","4.integrations/3.other-mcp-clients",{"title":272,"path":273,"stem":274,"children":275,"page":29},"Guides","/guides","5.guides",[276,282,286,290],{"title":277,"path":278,"stem":279,"children":280},"Indexing Your Project","/guides/indexing-your-project","5.guides/1.indexing-your-project",[281],{"title":277,"path":278,"stem":279},{"title":283,"path":284,"stem":285},"Improving Code Quality","/guides/improving-code-quality","5.guides/2.improving-code-quality",{"title":287,"path":288,"stem":289},"Reducing Technical Debt","/guides/reducing-technical-debt","5.guides/3.reducing-technical-debt",{"title":291,"path":292,"stem":293},"Slash Commands","/guides/slash-commands","5.guides/4.slash-commands",{"title":295,"path":296,"stem":297,"children":298,"page":29},"Reference","/reference","6.reference",[299,303,307],{"title":300,"path":301,"stem":302},"CLI Commands","/reference/cli-commands","6.reference/1.cli-commands",{"title":304,"path":305,"stem":306},"Environment Variables","/reference/environment-variables","6.reference/2.environment-variables",{"title":308,"path":309,"stem":310},"Troubleshooting","/reference/troubleshooting","6.reference/3.troubleshooting",{"title":312,"path":313,"stem":314,"children":315,"page":29},"Quality","/quality","7.quality",[316,320,324,328,332,336],{"title":317,"path":318,"stem":319},"Code Quality Metrics Overview","/quality/stellarion_quality_metrics","7.quality/1.Stellarion_Quality_Metrics",{"title":321,"path":322,"stem":323},"Cognitive Complexity","/quality/cognitive-complexity","7.quality/2.cognitive-complexity",{"title":325,"path":326,"stem":327},"Cyclomatic Complexity","/quality/cyclomatic-complexity","7.quality/3.cyclomatic-complexity",{"title":329,"path":330,"stem":331},"Maintainability Index","/quality/maintainability","7.quality/4.maintainability",{"title":333,"path":334,"stem":335},"Circular Dependencies","/quality/circular-dependencies","7.quality/5.circular-dependencies",{"title":337,"path":338,"stem":339},"Unused Code Detection","/quality/unused-code","7.quality/6.unused-code",{"id":341,"title":227,"body":342,"description":1253,"extension":1254,"links":1255,"meta":1256,"navigation":1257,"path":228,"seo":1258,"stem":229,"__hash__":1259},"docs/3.tools/46.get-flow-graph.md",{"type":343,"value":344,"toc":1240},"minimark",[345,364,373,378,405,409,508,512,515,709,713,718,728,731,735,741,748,752,758,764,768,774,779,783,1150,1164,1168,1236],[346,347,349,350,354,355,359,360,363],"callout",{"type":348},"info","This is a Pro tool that requires ",[351,352,353],"strong",{},"EDA mode"," (",[356,357,358],"code",{},"--mode eda","). It uses the ",[356,361,362],{},"Eda"," license feature; a 180-day free trial starts automatically.",[365,366,367,368,372],"p",{},"Groups the indexed EDA categories into 18 canonical ",[369,370,371],"em",{},"flow stages"," and emits a directed graph showing which procs/files own each stage and which transitions exist between stages. Captures the EDA-specific architecture in a way the generic call graph cannot, because the flow is staged (project_setup → synthesis → place → route → timing) rather than call-driven.",[374,375,377],"h2",{"id":376},"when-to-use","When to Use",[379,380,381,385,392,399,402],"ul",{},[382,383,384],"li",{},"To visualize the EDA flow architecture of an unfamiliar codebase",[382,386,387,388,391],{},"To find ",[369,389,390],{},"flow orchestrators"," — procs that span 3+ stages (often the right entry points to study)",[382,393,394,395,398],{},"To detect missing stages (no ",[356,396,397],{},"verification"," calls in a synthesis-stage codebase is suspicious)",[382,400,401],{},"Before a refactor — see which procs are doing too much across stages and need splitting",[382,403,404],{},"To generate an architecture diagram from the graph data",[374,406,408],{"id":407},"parameters","Parameters",[410,411,412,434],"table",{},[413,414,415],"thead",{},[416,417,418,422,425,428,431],"tr",{},[419,420,421],"th",{},"Parameter",[419,423,424],{},"Type",[419,426,427],{},"Required",[419,429,430],{},"Default",[419,432,433],{},"Description",[435,436,437,457,475,491],"tbody",{},[416,438,439,445,448,451,454],{},[440,441,442],"td",{},[356,443,444],{},"filePattern",[440,446,447],{},"string",[440,449,450],{},"No",[440,452,453],{},"—",[440,455,456],{},"Substring match on file path",[416,458,459,464,467,469,472],{},[440,460,461],{},[356,462,463],{},"minCalls",[440,465,466],{},"number",[440,468,450],{},[440,470,471],{},"1",[440,473,474],{},"Drop stages with fewer than this many calls",[416,476,477,482,484,486,488],{},[440,478,479],{},[356,480,481],{},"minTransition",[440,483,466],{},[440,485,450],{},[440,487,471],{},[440,489,490],{},"Drop transitions with fewer than this many spanning callers",[416,492,493,498,500,502,505],{},[440,494,495],{},[356,496,497],{},"membersLimit",[440,499,466],{},[440,501,450],{},[440,503,504],{},"20",[440,506,507],{},"Maximum members per stage in output",[374,509,511],{"id":510},"stage-map","Stage map",[365,513,514],{},"The 18 flow stages, in canonical order:",[410,516,517,527],{},[413,518,519],{},[416,520,521,524],{},[419,522,523],{},"Stage",[419,525,526],{},"Categories grouped",[435,528,529,539,549,563,573,583,592,601,610,619,629,638,647,655,669,679,689,699],{},[416,530,531,536],{},[440,532,533],{},[356,534,535],{},"project_setup",[440,537,538],{},"quartus_project, quartus_package",[416,540,541,546],{},[440,542,543],{},[356,544,545],{},"ip_composition",[440,547,548],{},"qsys_module, qsys_interface, qsys_parameter, qsys_fileset, qsys_instantiation, qsys_callback",[416,550,551,556],{},[440,552,553],{},[356,554,555],{},"design_io",[440,557,558,559,562],{},"read_",[369,560,561],{},", write_"," (HDL / SDC / DEF / etc.)",[416,564,565,570],{},[440,566,567],{},[356,568,569],{},"configuration",[440,571,572],{},"quartus_assignment",[416,574,575,580],{},[440,576,577],{},[356,578,579],{},"synthesis",[440,581,582],{},"synthesis (TOOL_FLOW commands)",[416,584,585,590],{},[440,586,587],{},[356,588,589],{},"floorplan",[440,591,589],{},[416,593,594,599],{},[440,595,596],{},[356,597,598],{},"placement",[440,600,598],{},[416,602,603,608],{},[440,604,605],{},[356,606,607],{},"cts",[440,609,607],{},[416,611,612,617],{},[440,613,614],{},[356,615,616],{},"routing",[440,618,616],{},[416,620,621,626],{},[440,622,623],{},[356,624,625],{},"timing",[440,627,628],{},"timing, quartus_timing, query_clock, query_pin, query_register, …",[416,630,631,636],{},[440,632,633],{},[356,634,635],{},"power",[440,637,635],{},[416,639,640,645],{},[440,641,642],{},[356,643,644],{},"physical",[440,646,644],{},[416,648,649,653],{},[440,650,651],{},[356,652,397],{},[440,654,397],{},[416,656,657,662],{},[440,658,659],{},[356,660,661],{},"openroad",[440,663,664,665,668],{},"sta::",[369,666,667],{},", gpl::",", drt::*, …",[416,670,671,676],{},[440,672,673],{},[356,674,675],{},"execution",[440,677,678],{},"quartus_execution",[416,680,681,686],{},[440,682,683],{},[356,684,685],{},"reporting",[440,687,688],{},"quartus_report",[416,690,691,696],{},[440,692,693],{},[356,694,695],{},"logging",[440,697,698],{},"quartus_messaging",[416,700,701,706],{},[440,702,703],{},[356,704,705],{},"other",[440,707,708],{},"unmapped categories (defensive — should be rare)",[374,710,712],{"id":711},"examples","Examples",[714,715,717],"h3",{"id":716},"whole-workspace-flow-graph","Whole-workspace flow graph",[719,720,725],"pre",{"className":721,"code":723,"language":724},[722],"language-text","Show me the EDA flow architecture of this codebase.\n","text",[356,726,723],{"__ignoreMap":727},"",[365,729,730],{},"Calls with no filters; surfaces all active stages, their top members, and the strongest cross-stage transitions.",[714,732,734],{"id":733},"scoped-to-one-fpga-family","Scoped to one FPGA family",[719,736,739],{"className":737,"code":738,"language":724},[722],"What does the Agilex flow look like?\n",[356,740,738],{"__ignoreMap":727},[365,742,743,744,747],{},"Sets ",[356,745,746],{},"filePattern: \"fpga_family/agilex\"",".",[714,749,751],{"id":750},"suppress-single-caller-transitions","Suppress single-caller transitions",[719,753,756],{"className":754,"code":755,"language":724},[722],"Show only flow couplings shared by 5+ procs.\n",[356,757,755],{"__ignoreMap":727},[365,759,743,760,763],{},[356,761,762],{},"minTransition: 5"," to filter out one-off transitions that aren't architectural patterns.",[714,765,767],{"id":766},"skip-noise-stages","Skip noise stages",[719,769,772],{"className":770,"code":771,"language":724},[722],"Hide tiny stages with fewer than 10 calls.\n",[356,773,771],{"__ignoreMap":727},[365,775,743,776,747],{},[356,777,778],{},"minCalls: 10",[374,780,782],{"id":781},"output-format","Output Format",[719,784,788],{"className":785,"code":786,"language":787,"meta":727,"style":727},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"total_calls\": 3327,\n  \"stages\": [\n    {\n      \"name\": \"ip_composition\",\n      \"call_count\": 2531,\n      \"member_count\": 28,\n      \"categories\": {\n        \"qsys_interface\": 962,\n        \"qsys_parameter\": 619,\n        \"...\": 0\n      },\n      \"members\": [\n        { \"file\": \"...\", \"caller\": \"...\", \"call_count\": 384 }\n      ]\n    }\n  ],\n  \"transitions\": [\n    {\n      \"from\": \"project_setup\",\n      \"to\": \"logging\",\n      \"spanning_callers\": 9\n    }\n  ]\n}\n","json",[356,789,790,799,822,837,843,867,884,901,916,934,951,966,972,986,1041,1047,1053,1059,1073,1078,1098,1118,1133,1138,1144],{"__ignoreMap":727},[791,792,795],"span",{"class":793,"line":794},"line",1,[791,796,798],{"class":797},"sMK4o","{\n",[791,800,802,805,809,812,815,819],{"class":793,"line":801},2,[791,803,804],{"class":797},"  \"",[791,806,808],{"class":807},"spNyl","total_calls",[791,810,811],{"class":797},"\"",[791,813,814],{"class":797},":",[791,816,818],{"class":817},"sbssI"," 3327",[791,820,821],{"class":797},",\n",[791,823,825,827,830,832,834],{"class":793,"line":824},3,[791,826,804],{"class":797},[791,828,829],{"class":807},"stages",[791,831,811],{"class":797},[791,833,814],{"class":797},[791,835,836],{"class":797}," [\n",[791,838,840],{"class":793,"line":839},4,[791,841,842],{"class":797},"    {\n",[791,844,846,849,853,855,857,860,863,865],{"class":793,"line":845},5,[791,847,848],{"class":797},"      \"",[791,850,852],{"class":851},"sBMFI","name",[791,854,811],{"class":797},[791,856,814],{"class":797},[791,858,859],{"class":797}," \"",[791,861,545],{"class":862},"sfazB",[791,864,811],{"class":797},[791,866,821],{"class":797},[791,868,870,872,875,877,879,882],{"class":793,"line":869},6,[791,871,848],{"class":797},[791,873,874],{"class":851},"call_count",[791,876,811],{"class":797},[791,878,814],{"class":797},[791,880,881],{"class":817}," 2531",[791,883,821],{"class":797},[791,885,887,889,892,894,896,899],{"class":793,"line":886},7,[791,888,848],{"class":797},[791,890,891],{"class":851},"member_count",[791,893,811],{"class":797},[791,895,814],{"class":797},[791,897,898],{"class":817}," 28",[791,900,821],{"class":797},[791,902,904,906,909,911,913],{"class":793,"line":903},8,[791,905,848],{"class":797},[791,907,908],{"class":851},"categories",[791,910,811],{"class":797},[791,912,814],{"class":797},[791,914,915],{"class":797}," {\n",[791,917,919,922,925,927,929,932],{"class":793,"line":918},9,[791,920,921],{"class":797},"        \"",[791,923,924],{"class":817},"qsys_interface",[791,926,811],{"class":797},[791,928,814],{"class":797},[791,930,931],{"class":817}," 962",[791,933,821],{"class":797},[791,935,937,939,942,944,946,949],{"class":793,"line":936},10,[791,938,921],{"class":797},[791,940,941],{"class":817},"qsys_parameter",[791,943,811],{"class":797},[791,945,814],{"class":797},[791,947,948],{"class":817}," 619",[791,950,821],{"class":797},[791,952,954,956,959,961,963],{"class":793,"line":953},11,[791,955,921],{"class":797},[791,957,958],{"class":817},"...",[791,960,811],{"class":797},[791,962,814],{"class":797},[791,964,965],{"class":817}," 0\n",[791,967,969],{"class":793,"line":968},12,[791,970,971],{"class":797},"      },\n",[791,973,975,977,980,982,984],{"class":793,"line":974},13,[791,976,848],{"class":797},[791,978,979],{"class":851},"members",[791,981,811],{"class":797},[791,983,814],{"class":797},[791,985,836],{"class":797},[791,987,989,992,994,997,999,1001,1003,1005,1007,1010,1012,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1038],{"class":793,"line":988},14,[791,990,991],{"class":797},"        {",[791,993,859],{"class":797},[791,995,996],{"class":817},"file",[791,998,811],{"class":797},[791,1000,814],{"class":797},[791,1002,859],{"class":797},[791,1004,958],{"class":862},[791,1006,811],{"class":797},[791,1008,1009],{"class":797},",",[791,1011,859],{"class":797},[791,1013,1014],{"class":817},"caller",[791,1016,811],{"class":797},[791,1018,814],{"class":797},[791,1020,859],{"class":797},[791,1022,958],{"class":862},[791,1024,811],{"class":797},[791,1026,1009],{"class":797},[791,1028,859],{"class":797},[791,1030,874],{"class":817},[791,1032,811],{"class":797},[791,1034,814],{"class":797},[791,1036,1037],{"class":817}," 384",[791,1039,1040],{"class":797}," }\n",[791,1042,1044],{"class":793,"line":1043},15,[791,1045,1046],{"class":797},"      ]\n",[791,1048,1050],{"class":793,"line":1049},16,[791,1051,1052],{"class":797},"    }\n",[791,1054,1056],{"class":793,"line":1055},17,[791,1057,1058],{"class":797},"  ],\n",[791,1060,1062,1064,1067,1069,1071],{"class":793,"line":1061},18,[791,1063,804],{"class":797},[791,1065,1066],{"class":807},"transitions",[791,1068,811],{"class":797},[791,1070,814],{"class":797},[791,1072,836],{"class":797},[791,1074,1076],{"class":793,"line":1075},19,[791,1077,842],{"class":797},[791,1079,1081,1083,1086,1088,1090,1092,1094,1096],{"class":793,"line":1080},20,[791,1082,848],{"class":797},[791,1084,1085],{"class":851},"from",[791,1087,811],{"class":797},[791,1089,814],{"class":797},[791,1091,859],{"class":797},[791,1093,535],{"class":862},[791,1095,811],{"class":797},[791,1097,821],{"class":797},[791,1099,1101,1103,1106,1108,1110,1112,1114,1116],{"class":793,"line":1100},21,[791,1102,848],{"class":797},[791,1104,1105],{"class":851},"to",[791,1107,811],{"class":797},[791,1109,814],{"class":797},[791,1111,859],{"class":797},[791,1113,695],{"class":862},[791,1115,811],{"class":797},[791,1117,821],{"class":797},[791,1119,1121,1123,1126,1128,1130],{"class":793,"line":1120},22,[791,1122,848],{"class":797},[791,1124,1125],{"class":851},"spanning_callers",[791,1127,811],{"class":797},[791,1129,814],{"class":797},[791,1131,1132],{"class":817}," 9\n",[791,1134,1136],{"class":793,"line":1135},23,[791,1137,1052],{"class":797},[791,1139,1141],{"class":793,"line":1140},24,[791,1142,1143],{"class":797},"  ]\n",[791,1145,1147],{"class":793,"line":1146},25,[791,1148,1149],{"class":797},"}\n",[365,1151,1152,1153,1156,1157,1160,1161,1163],{},"A ",[369,1154,1155],{},"transition"," ",[356,1158,1159],{},"from → to"," means at least ",[356,1162,1125],{}," distinct callers have calls in both stages. The transition list is sorted by spanning count (highest first).",[374,1165,1167],{"id":1166},"tips","Tips",[379,1169,1170,1190,1199,1210,1226],{},[382,1171,1172,1175,1176,1178,1179,1182,1183,1185,1186,1189],{},[351,1173,1174],{},"Top-3 stages by call count"," = where most of the EDA activity lives. If your top is ",[356,1177,545],{},", the codebase is IP-component-heavy (",[356,1180,1181],{},"_hw.tcl"," files); if ",[356,1184,569],{}," dominates, it's Quartus-script-heavy (",[356,1187,1188],{},"*_design_files.tcl",").",[382,1191,1192,1195,1196,1198],{},[351,1193,1194],{},"Procs spanning ≥3 stages"," are ",[369,1197,390],{},". They're typically the right entry points to study but can also be refactor candidates if they're doing too much.",[382,1200,1201,1202,1205,1206,1209],{},"A transition with ",[356,1203,1204],{},"spanning_callers ≥ 10"," is structural; one with ",[356,1207,1208],{},"spanning_callers = 1"," is incidental.",[382,1211,1212,1215,1216,1218,1219,1221,1222,1225],{},[351,1213,1214],{},"Empty stages"," matter as much as full ones. No ",[356,1217,397],{}," calls in a synthesis codebase suggests missing test-bench glue. No ",[356,1220,625],{}," calls suggests SDC isn't indexed (check that ",[356,1223,1224],{},".sdc"," files are in scope).",[382,1227,1228,1229,1235],{},"Combine with ",[1230,1231,1232],"a",{"href":224},[356,1233,1234],{},"stellarion_find_eda_calls"," to drill into a stage's specific call sites.",[1237,1238,1239],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}",{"title":727,"searchDepth":801,"depth":801,"links":1241},[1242,1243,1244,1245,1251,1252],{"id":376,"depth":801,"text":377},{"id":407,"depth":801,"text":408},{"id":510,"depth":801,"text":511},{"id":711,"depth":801,"text":712,"children":1246},[1247,1248,1249,1250],{"id":716,"depth":824,"text":717},{"id":733,"depth":824,"text":734},{"id":750,"depth":824,"text":751},{"id":766,"depth":824,"text":767},{"id":781,"depth":801,"text":782},{"id":1166,"depth":801,"text":1167},"Build the EDA flow graph — stages, members, and cross-stage transitions","md",null,{},true,{"title":227,"description":1253},"OuTU_piGJBSzR5lojApPfI_EtFiaSyxs8Vq7bC3W8Ow",[1261,1263],{"title":223,"path":224,"stem":225,"description":1262,"children":-1},"Find call sites of EDA-classified commands (Quartus / Qsys / SDC) across the workspace",{"title":231,"path":232,"stem":233,"description":1264,"children":-1},"Detect duplicate Quartus / Qsys constraint keys with conflicting values",1777612940698]