Fix links to the HAWKEYE page
The page is called HAWKEYE, but several pages linked to "Hawkeye",
which only resolves on case-insensitive file systems.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Document SMT solving and symbolic execution as Boolean function sub-pages
Add two core-API pages under Boolean Function: SMT Solving covers the
hal_py.SMT interface — constraints, query configuration, results and
models — and Symbolic Execution covers the rewriting engine behind
simplify_local(), simplify() and evaluate().
Both were verified against a build rather than against the headers, which
turned up behavior worth documenting: the timeout is in seconds, solver
binaries are looked up at three fixed paths rather than on PATH, symbolic
state bindings are write-once, and SymbolicExecution.evaluate() currently
raises from Python. Correct the timeout units and the solver lookup on the
Simple ALU page accordingly.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Remove dangling parser pointer pages and the stub Plugins page
- Delete Netlist-Parsers and Gate-Library-Parsers, repointing the six
inbound references to the combined '& Writers' pages
- Delete Plugins, a two-sentence stub ending in 'TODO' that nothing
linked to and whose content is covered by Provided Plugins
- Link the (still unfinished) Contributing page from the home tree
Reference example projects and missing plugin pages from the home tree
- Nest the five example projects under their parent entry
- Add the Sequential Symbolic Execution, Xilinx Toolbox, and Dot Viewer
plugin pages, which existed but were unreachable from the tree
- Drop the stale (WIP) marker from Decorators
Overhaul wiki: introduction, core, and plugin documentation
Rewrite the introduction and core sections and add dedicated pages for
every shipped plugin.
Introduction:
- Add motivation: what problem HAL solves and nine concrete applications
- Write "Using HAL" from scratch (was an empty stub)
- Document that dataflow, simulator, and HAWKEYE are opt-in, so a default
build cannot run the example projects
- Restructure the WSL section into ordered steps for WSL 2 and WSL 1
- Flesh out the FSM, Toy Cipher, and UART example project pages
Core:
- Fix incorrect API documentation: Data Container documented functions
that do not exist, GateTypeProperty values were missing their c_ prefix,
Endpoint.get_pin() returns an object rather than a name
- Complete Netlist Utilities (documented 1 of 13 functions) and Decorators
(1 of 5 decorators), and drop all deprecated functions in favor of their
decorator replacements
- Add missing API to Boolean Function, Gate, Net, Netlist, and Module
- Add background and motivation to every core page
Plugins:
- Add pages for module identification, Python shell, solve FSM, Boolean
influence, resynthesis, Z3 utilities, Xilinx toolbox, sequential
symbolic execution, and both parser/writer groups
- Fill the bitorder propagation stub
- Make Provided Plugins the single index of all plugins with their CMake
flags and default state, and remove the duplicate list from the build
instructions
- Split the simulator into its four constituent plugins
Housekeeping:
- Add a work-in-progress disclaimer to the wiki home page
- Delete the orphaned Getting Started and waveform viewer widget stubs,
moving the simulation wizard documentation into the simulator page
- Fix broken links and typos throughout