Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Superlog was a proposed hardware-design and verification language that tried to bring system specification, software development, hardware design, and verification into one environment. It combined Verilog-like event-driven modeling with C-like data and control features, interfaces, state-machine constructs, and assertions. Superlog did not simply replace Verilog: its concepts were carried into the standards-backed SystemVerilog effort, and its separate identity faded as that language family gained support.

What was Superlog?

Superlog was a language proposal from Co-Design Automation, presented by Peter L. Flake and Simon J. Davidmann in their 2000 ASP-DAC paper, “Superlog, a Unified Design Language for System-on-chip.” The authors described it as a way to blend features from software-development and hardware-design languages with facilities for system specification and hardware verification.

The motivation was a fragmented design flow. Teams might describe a system in one language, implement hardware in another, write embedded software in C, and use separate testbench or verification mechanisms. Translating the same design intent across those representations could introduce bugs and add maintenance work. Superlog aimed to reduce that friction by giving those activities a common language.

It retained Verilog-like syntax and event-driven semantics while adding richer data types and higher-level constructs. The 2000 paper describes C and Verilog built-in types, user-defined structures, pointers, unions, enumerations, and multiple array forms. It also describes interfaces, foreign-language calls, specialized process forms, and constructs for state machines and sequence checking.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What was Superlog trying to improve?

A shared representation across design stages

Superlog’s central ambition was broader than making Verilog more convenient. It sought to cover system specification, software development, hardware design, and hardware verification in one coherent language. A shared representation could make it easier to carry design intent between those stages rather than repeatedly recoding it.

Higher-level hardware modeling

Superlog added constructs for common design patterns. Its transition construct was intended for synchronous state machines, with transitions written using ->>. Interfaces could group wires, variables, functions, and tasks behind a higher-level abstraction. The proposal also allowed dynamic process creation and destruction, beyond Verilog’s structured fork...join approach.

Integrated verification

Assertions and sequence-checking constructs let designers state that expressions or sequences should satisfy specified behavior. The 2000 paper describes using such mechanisms to detect illegal protocol sequences and to constrain stimulus generation. This brought verification ideas closer to the design language instead of leaving them entirely to separate tools or testbench conventions.

Interoperability with other languages

Import and export statements provided a way to call functions and tasks in foreign languages such as C. That mattered for designs whose software and hardware work already depended on code or models written outside the HDL.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Was Superlog a replacement for Verilog?

No—not as a strict, drop-in superset. The Superlog proposal explicitly says it removed some little-used Verilog features, including switch-level features. It retained a Verilog-like foundation, but the intention was to create a broader language, not to preserve every feature of Verilog unchanged.

That distinction matters: describing Superlog as “Verilog plus extras” misses the proposal’s changes to the language as well as its wider scope. The 2000 paper presents it as a unified design-language approach, not simply a compatibility upgrade.

How did Superlog become part of the SystemVerilog story?

2000: a unified-language proposal

Flake and Davidmann presented the Superlog concept at ASP-DAC in 2000. The proposal brought together hardware modeling, software-oriented types and constructs, system-level description, and verification features.

March 19, 2002: an assertion submission to Accellera

Co-Design Automation’s SUPERLOG Design Assertion Subset, revision 1.6, is dated March 19, 2002 and was submitted to Accellera. It documents immediate, strobed, clocked-immediate, and clocked-strobed assertions, along with sequence expressions and antecedent/consequent behavior. It distinguishes procedural assertions embedded in procedural code from concurrent assertions expressing properties intended to hold throughout simulation. The document defines an assertion as “a statement that a property must be true.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The standards effort carried the ideas forward

Superlog’s lasting influence was indirect: its higher-level design and verification ideas were incorporated into the SystemVerilog effort, which became the standardized successor family. It is more accurate to describe Superlog as a prototype and contribution to that evolution than as a language that won a direct contest against Verilog. The historical record attributes the transition to the newer standard’s broader backing, while Superlog’s independent identity diminished.

What Superlog features survived in SystemVerilog?

The historical record links Superlog’s influence to SystemVerilog’s expanded design and verification capabilities. The strongest continuity is at the level of ideas: richer modeling and data features, interfaces, and integrated assertion and sequence-checking concepts. Superlog should not be treated as identical to SystemVerilog, however; the record describes concepts being absorbed into a subsequent standardized language family, not a simple renaming of the proposal.

  • Higher-level design modeling: Superlog’s interfaces and specialized process and state-machine constructs reflected a move beyond low-level signal description.
  • Richer data representation: Its C- and Verilog-derived types, user-defined types, and more flexible arrays addressed modeling needs that basic hardware descriptions can make cumbersome.
  • Assertions and sequences: The 2002 Accellera submission shows that assertion mechanisms were a substantial part of the work, not an incidental feature.
  • Language interoperability: Import and export support was part of the proposal’s effort to connect hardware descriptions with software-oriented work.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why did Superlog disappear?

Superlog’s separate name and identity faded as its concepts moved into SystemVerilog. The historical account describes SystemVerilog as the subsequent standards-backed language family and reports that direct Superlog use diminished as the newer standard gained EDA-vendor backing. That is a standards and ecosystem transition, not evidence that Superlog’s underlying ideas were discarded.

Co-Design Automation was acquired by Synopsys in 2002; the historical reference reports the acquisition price as $36 million. That is relevant context for the company behind the proposal, but it does not by itself explain the standards transition. The more direct explanation is that Superlog’s ideas continued through a broader standards effort under a different language identity.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

No adoption percentage or installed-base figure is established in the cited historical record, so claims about how widely Superlog was used should be treated cautiously.

Where to learn more

For the proposal’s original goals and language mechanisms, consult Flake and Davidmann’s 2000 ASP-DAC paper, “Superlog, a Unified Design Language for System-on-chip.” For the assertion subset, Co-Design Automation’s revision 1.6 submission to Accellera, dated March 19, 2002, gives the technical detail. SystemVerilog for Design is also identified in the historical record as a resource on language details, examples, and the development process.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.