<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="/v2/static/oai2.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-10-06T07:14:03Z</responseDate>
  <request identifier="oai:figshare.com:article/34046277" metadataPrefix="oai_dc" verb="GetRecord">https://api.figshare.com/v2/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:figshare.com:article/34046277</identifier>
        <datestamp>2026-10-01T14:41:36Z</datestamp>
        <setSpec>category_26461</setSpec>
        <setSpec>category_28831</setSpec>
        <setSpec>item_type_9</setSpec>
        <setSpec>month_year_10_2026</setSpec>
      </header>
      <metadata>
        <oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
          <dc:title>PACT Post-route Agentic Checkpoint Tuning for FPGA Timing Closure</dc:title>
          <dc:creator>Huan Lin (25156982)</dc:creator>
          <dc:creator>Kulong Li (25156979)</dc:creator>
          <dc:creator>Zhiang Wang (25156991)</dc:creator>
          <dc:creator>Lingli Wang (26771)</dc:creator>
          <dc:subject>Electrical circuits and systems</dc:subject>
          <dc:subject>Autonomous agents and multiagent systems</dc:subject>
          <dc:subject>Field-Programmable Gate Arrays</dc:subject>
          <dc:subject>Timing Closure</dc:subject>
          <dc:subject>Engineering Change Order</dc:subject>
          <dc:subject>Large Language Model Agents</dc:subject>
          <dc:subject>Design Automation</dc:subject>
          <dc:description>PACT Artifact Workspace&lt;p dir="ltr"&gt;This repository contains the PACT post-route FPGA checkpoint optimization agent, the Vivado and RapidWright MCP servers it drives, and the optimization knowledge base.&lt;/p&gt;&lt;p dir="ltr"&gt;The 35 benchmark DCPs are included through Git LFS; proprietary FPGA tools are not included.&lt;/p&gt;&lt;h2 dir="ltr"&gt;Layout&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;FDAgents/&lt;/code&gt;: agent, typed skills, recipe planner, decision logic, and memory&lt;/li&gt;&lt;li&gt;&lt;code&gt;baselines/codex_agent/&lt;/code&gt;: free-form Codex Agent harness and reference results&lt;/li&gt;&lt;li&gt;&lt;code&gt;baselines/datuner/&lt;/code&gt;: DATuner checkpoint runner and reference results&lt;/li&gt;&lt;li&gt;&lt;code&gt;RapidWrightMCP/&lt;/code&gt;, &lt;code&gt;VivadoMCP/&lt;/code&gt;: backend MCP servers&lt;/li&gt;&lt;li&gt;&lt;code&gt;knowledge/&lt;/code&gt;, &lt;code&gt;knowledge.md&lt;/code&gt;: optimization knowledge and experimental notes&lt;/li&gt;&lt;li&gt;&lt;code&gt;benchmarks/&lt;/code&gt;: 35 evaluation DCPs, manifest, and checksums&lt;/li&gt;&lt;li&gt;&lt;code&gt;journals/&lt;/code&gt;: manuscript source retained for artifact preparation&lt;/li&gt;&lt;li&gt;&lt;code&gt;tests/&lt;/code&gt;: unit tests that do not require benchmark DCPs&lt;/li&gt;&lt;li&gt;&lt;code&gt;runs/&lt;/code&gt;: generated run outputs (ignored by Git)&lt;/li&gt;&lt;/ul&gt;&lt;h2 dir="ltr"&gt;Environment&lt;/h2&gt;&lt;p dir="ltr"&gt;The full artifact requires Python 3, Vivado 2025.1, Java, and a built RapidWright checkout.&lt;/p&gt;&lt;p dir="ltr"&gt;Copy &lt;code&gt;.env.example&lt;/code&gt; to &lt;code&gt;.env&lt;/code&gt; and set local paths and the LLM credential there.&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;code&gt;.env&lt;/code&gt; and generated DCPs are ignored by Git.&lt;/p&gt;&lt;h2 dir="ltr"&gt;Run&lt;/h2&gt;&lt;pre&gt;&lt;pre&gt;python -m pip install -r requirements.txt&lt;br&gt;python -m FDAgents.agent /path/to/design.dcp --model&lt;/pre&gt;&lt;/pre&gt;&lt;h2 dir="ltr"&gt;Deterministic functional smoke test&lt;/h2&gt;&lt;p dir="ltr"&gt;Two no-LLM flows exercise both backends and are suitable for an initial artifact check.&lt;/p&gt;&lt;p dir="ltr"&gt;Put the following contest checkpoints in one directory:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;vexriscv_re-place_2025.1.dcp&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;logicnets_jscl_2025.1.dcp&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir="ltr"&gt;Then run:&lt;/p&gt;&lt;pre&gt;&lt;pre&gt;DCP_DIR=/path/to/checkpoints \&lt;br&gt;OUT_ROOT="$PWD/reproduction-smoke" \&lt;br&gt;PYTHON=/path/to/python \&lt;br&gt;VIVADO_EXEC=/path/to/vivado \&lt;br&gt;scripts/run_functional_smoke.sh&lt;/pre&gt;&lt;/pre&gt;&lt;p dir="ltr"&gt;Pass &lt;code&gt;vexriscv&lt;/code&gt; or &lt;code&gt;logicnets&lt;/code&gt; to run only one design.&lt;/p&gt;&lt;p dir="ltr"&gt;The command fails if:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;an MCP backend returns an application-level error,&lt;/li&gt;&lt;li&gt;no cell is moved in the VexRiscv flow,&lt;/li&gt;&lt;li&gt;Vivado reports any routing error,&lt;/li&gt;&lt;li&gt;the output DCP is missing, or&lt;/li&gt;&lt;li&gt;the independently reopened checkpoint fails route signoff.&lt;/li&gt;&lt;/ul&gt;&lt;p dir="ltr"&gt;Logs, checksums, exit codes, signoff timing reports, and output DCPs are written below &lt;code&gt;OUT_ROOT&lt;/code&gt;.&lt;/p&gt;&lt;p dir="ltr"&gt;Run the lightweight gate regression without Vivado:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;python tests/test_smoke_checks.py&lt;/code&gt;&lt;/pre&gt;&lt;p dir="ltr"&gt;For structural and simulation-based comparison of an input and output DCP:&lt;/p&gt;&lt;pre&gt;&lt;pre&gt;python validate_dcps.py input.dcp output.dcp \&lt;br&gt;  --precheck-vectors 50 \&lt;br&gt;  --vectors 200&lt;/pre&gt;&lt;/pre&gt;&lt;p dir="ltr"&gt;The full 35-design experiment and benchmark acquisition procedure will be documented separately before artifact submission.&lt;/p&gt;&lt;h2 dir="ltr"&gt;Snapshot&lt;/h2&gt;&lt;p dir="ltr"&gt;This artifact branch starts from the implementation snapshot dated 2026-06-25.&lt;/p&gt;&lt;p dir="ltr"&gt;Its Git history is intentionally squashed&lt;/p&gt;</dc:description>
          <dc:date>2026-10-01T14:41:36Z</dc:date>
          <dc:type>Software</dc:type>
          <dc:type>Software</dc:type>
          <dc:identifier>10.6084/m9.figshare.34046277.v1</dc:identifier>
          <dc:relation>https://figshare.com/articles/software/PACT_Post-route_Agentic_Checkpoint_Tuning_for_FPGA_Timing_Closure/34046277</dc:relation>
          <dc:rights>MIT</dc:rights>
        </oai_dc:dc>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
