Skip to main content

gf-project

Manages .gateflow/project.yaml for project-specific configuration. Auto-detects project settings or prompts user for board, HDL, and target. Used internally by other skills — not typically invoked directly.

소스 정보

저장소
codejunkie99/Gateflow-Plugin
최근 소스 활동
2026년 4월 11일 12:56
감지된 SKILL.md 언어
영어
스타
117
포크
16

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
gf-project
description
Manages .gateflow/project.yaml for project-specific configuration. Auto-detects project settings or prompts user for board, HDL, and target. Used internally by other skills — not typically invoked directly.
user-invocable
false
# GF Project — Project Context Management ## Project File Location `.gateflow/project.yaml` in the project root. ## Schema ```yaml name: my-project top_module: top hdl: systemverilog # systemverilog | verilog | vhdl target: board: null # arty-a7-35t, icebreaker, etc. device: null # xc7a35ticsg324-1L, ice40hx8k, etc. clock_freq: null # 100MHz, 12MHz, etc. sources: [] # auto-populated by gf-scan constraints: null # path to constraint file ip_blocks: [] # installed IP block names ``` ## Auto-Detection When this skill is invoked, it: 1. Checks if `.gateflow/project.yaml` exists 2. If not, creates it with defaults by scanning: - HDL: check file extensions in project (`.sv` = systemverilog, `.v` = verilog, `.vhd` = vhdl) - Sources: glob for `**/*.sv`, `**/*.v`, `**/*.vhd` - Top module: find modules not instantiated by others 3. If board is not set and user mentions a board, update it ## Usage by Other Skills Any skill that needs project context should: ```bash cat .gateflow/project.yaml 2>/dev/null ``` If the file doesn't exist, invoke this skill to create it. ## Board Memory When a user mentions a board name in natural language (e.g., "I'm using an Arty A7"), persist it to `.gateflow/project.yaml` under `target.board`. Do not ask again unless the user switches boards or starts a new project. Board memory is per-project, not global. Different projects target different boards. ## GATEFLOW-RESULT Format ``` ---GATEFLOW-RESULT--- STATUS: CREATED | UPDATED | VALID | INVALID | ERROR PROJECT: <name> FILE: .gateflow/project.yaml BOARD: <board or null> HDL: systemverilog | verilog | vhdl TOP_MODULE: <module> SOURCES: <count> DETAILS: <summary> ---END-GATEFLOW-RESULT--- ``` ## Extended Schema ```yaml simulation: tool: verilator # verilator | iverilog | vcs timeout: 100000 # max cycles trace_format: fst # vcd | fst defines: [] # compile-time defines synthesis: tool: yosys # yosys | vivado | quartus target_family: null # ice40 | ecp5 | gowin | xilinx optimization: area # area | speed | balanced verification: formal_engine: sby formal_depth: 50 coverage_goal: 90 lint_tool: verilator ``` ## Project Templates ### iCE40 FPGA ```yaml name: my-project top_module: top hdl: systemverilog target: {board: icebreaker, device: ice40up5k-sg48, clock_freq: 12MHz} simulation: {tool: verilator, trace_format: fst} synthesis: {tool: yosys, target_family: ice40, optimization: area} ``` ### Simulation Only ```yaml name: sim-project top_module: top hdl: systemverilog target: {board: null} simulation: {tool: verilator, timeout: 500000, trace_format: fst, defines: [SIMULATION, DEBUG]} synthesis: {tool: null} ``` ## Health Check | Check | Pass Condition | |---|---| | Schema valid | name, top_module, hdl exist | | Sources exist | All listed files found | | Top module found | grep for `module <top>` in sources | | Constraints match target | .xdc for Xilinx, .pcf for iCE40, .lpf for ECP5, .cst for Gowin | | Tools installed | which <sim_tool>, which <synth_tool> |
GitHub에서 보기