Search papers, labs, and topics across Lattice.
This paper investigates the security shortcomings of LLM-generated register-transfer-level (RTL) code, revealing a significant disparity between functional correctness and security compliance. The authors construct SECRTL-GEN, a benchmark that evaluates LLMs on 392 tasks across various hardware description languages, finding that while LLMs achieve a 73-79% success rate in functional tests, their performance drops to only 14-35% in security tests. By introducing RTL-Obliger, a neuro-symbolic framework that infers implicit security obligations, the authors demonstrate an improvement in mean all-pass rates from 49.6-51.4% to 61.6%, highlighting the importance of incorporating security considerations in RTL generation.
LLMs excel at generating functional RTL code but fail to meet security standards, with a mere 14-35% passing rate in security tests.
Large Language Models (LLMs) generate register-transfer-level (RTL) code with rapidly improving functional correctness. Security of LLM-generated code, however, has been studied mainly for software, where flaws can still be patched after deployment. Insecure RTL offers no such remedy once taped out into silicon. We construct SECRTL-GEN, a multi-language resource-access security benchmark grounded in real SoC IP: 392 tasks over five CWE families and four HDLs (Verilog, SystemVerilog, VHDL, and Python), each with black-box functional and security testbenches. Functional specifications intentionally omit security obligations, matching how obligations are often kept out of functional docs in practice. An empirical study of five frontier LLMs shows a sharp gap: under vanilla prompts they pass functional tests in about 73-79% of cases but security tests in only 14-35%, and stronger functional models are not safer. Adding CWE knowledge raises security, while unaided self-thinking helps less and both security-oriented prompts cut functional pass rates, showing that the bottleneck is missing weakness awareness in the specification, not an inability to write defensive RTL. We present RTL-Obliger, a neuro-symbolic framework that infers these implicit obligations. An LLM extracts a functional-semantic graph from the specification; a symbolic engine then matches it against a CWE pattern ontology to surface mitigation-evidence gaps and signal-level obligations; the LLM finally revises RTL under those obligations in a functionality-preserving two-stage generation. Across five models and four languages, RTL-Obliger raises mean all-pass from 49.6-51.4% (SecV/RESCUE) to 61.6%, with higher security and functional rates than these secure-generation baselines.