The goal of this project is the design, verification, and physical implementation of a parameterizable synchronous digital counter realized as an ASIC. The work covers the complete digital integrated circuit design flow, starting from an RTL description and ending with a manufacturable GDSII layout generated using the OpenLane ASIC flow.
The project scope includes specification definition, synthesizable RTL development in Verilog, functional verification at the register-transfer level, logic synthesis, static timing analysis, and full physical design. The design is implemented using a standard-cell–based CMOS methodology and verified using industry-standard digital design and physical verification techniques (DRC/LVS).
The project serves as a compact but complete example of an RTL-to-GDS flow for a basic sequential digital block suitable for integration into larger digital or mixed-signal ASIC systems.
| Parameter | Value |
|---|---|
| Architecture | Synchronous binary counter |
| Design style | Standard-cell–based CMOS ASIC |
| RTL language | Verilog HDL |
| Counter width | Parameterizable (default: 8 bits) |
| Counting range | 0 to 2^WIDTH − 1 |
| Clocking scheme | Rising-edge triggered |
| Reset type | Active-high synchronous reset |
| Physical design flow | OpenLane RTL-to-GDS |
| Final output | GDSII layout |
A digital counter is a sequential logic circuit that generates a discrete numerical sequence synchronized to a clock signal. In synchronous designs, state transitions occur exclusively on clock edges, ensuring deterministic behavior and simplifying timing analysis. Counters are commonly used for event counting, frequency division, timing control, and state sequencing in digital systems.
From a timing perspective, the maximum operating frequency of a synchronous counter is limited by the longest register-to-register path, which includes the clock-to-Q delay of the source flip-flop, the propagation delay of the combinational increment logic, and the setup time of the destination flip-flop. As the counter width increases, the complexity of the increment logic grows, potentially increasing the critical path delay and affecting achievable clock frequency.
In ASIC implementations, the RTL description is mapped onto a predefined standard-cell library characterized for a specific CMOS technology. Logic synthesis optimizes the design under given timing constraints, while the physical implementation introduces parasitic effects such as interconnect resistance, capacitance, and clock skew. These effects must be accounted for during timing analysis and physical verification to ensure correct operation after fabrication.
The counter is implemented as a fully synchronous sequential circuit composed of a register bank and combinational next-state logic. All state elements are edge-triggered flip-flops driven by a single global clock, eliminating asynchronous behavior and simplifying timing closure.
The register bank stores the current counter value, while the combinational logic computes the next value by incrementing the current state by one. The counter width is defined as a parameter, allowing the same architecture to be synthesized for different bit widths without modifying the RTL structure. A synchronous active-high reset forces the counter into a known initial state, ensuring deterministic behavior after reset deassertion.
The architecture is intentionally kept regular and shallow in logic depth to ensure predictable timing behavior and efficient mapping onto standard cells during synthesis and place-and-route.
The design is described in synthesizable Verilog as a parameterizable module with a configurable bit width (WIDTH). The module interface consists of a clock input (clk), a synchronous active-high reset (rst), and an output vector (count[WIDTH-1:0]) representing the current counter state.
The sequential behavior is implemented using a single clocked always block sensitive to the rising edge of the clock. When the reset signal is asserted, the counter is synchronously cleared to zero. When reset is deasserted, the counter increments by one on each clock edge. Due to the fixed output width, arithmetic overflow results in a natural wrap-around from 2^WIDTH − 1 back to zero, implementing modulo-2^WIDTH behavior without additional control logic.
The RTL is written to be fully synthesis-compatible and free of constructs that could lead to unintended latch inference or ambiguous hardware mapping.
Functional verification is performed using a self-contained Verilog testbench that instantiates the counter and applies deterministic stimulus. The testbench generates a periodic clock signal and controls the reset input to validate correct initialization and state progression.
The verification checks include confirmation of synchronous reset behavior, monotonic incrementing on each rising clock edge, and correct wrap-around behavior after reaching the maximum representable count value. Simulations are executed for a sufficient number of cycles to observe multiple rollover events.
Waveform analysis using VCD output is employed to verify correct temporal relationships between clock, reset, and output signals, ensuring that state transitions occur exclusively on clock edges and that no spurious glitches are present.
Logic synthesis is carried out using Yosys, which converts the RTL description into a gate-level netlist mapped to the target standard-cell library. The synthesis process respects the defined clock and reset constraints and produces a structurally optimized netlist composed of combinational logic gates and edge-triggered flip-flops.
Due to the parameterizable counter width, synthesis automatically scales the number of sequential elements and the complexity of the increment logic. The resulting netlist provides a deterministic and physically realizable representation suitable for downstream physical design.
Static timing analysis is performed to verify that all register-to-register paths meet setup and hold time requirements under the specified clock constraints. The critical path is identified through the combinational increment logic between successive counter bits.
The shallow and regular structure of the logic ensures that timing closure is achieved without manual optimization. The design exhibits predictable timing scalability with respect to counter width, making it suitable for reuse in systems with varying performance requirements.
Physical implementation is performed using the OpenLane ASIC flow, encompassing floorplanning, standard-cell placement, clock tree synthesis, power distribution network generation, and global and detailed routing.
The design is implemented as a standard-cell–based layout compliant with the selected CMOS technology design rules. Clock tree synthesis is applied to control clock skew and insertion delay, while routing ensures correct connectivity and signal integrity across all logic and sequential elements.
The final result of the physical design flow is a GDSII layout representing the complete physical realization of the counter. The layout includes placed standard cells, routed signal interconnects, clock distribution networks, and power rails distributed across multiple metal layers.
The regularity of the counter architecture results in a compact layout with low routing congestion and predictable parasitic characteristics. The generated GDS file constitutes the final manufacturable representation of the design.
- General View
- Top-Level
- Power Distribution Network
- Standard-cell logic
- Signal Routing
- Transistor-level
Physical verification is performed to ensure layout correctness and manufacturability. Design Rule Checks (DRC) validate compliance with all geometry and spacing constraints imposed by the CMOS process technology.
Layout Versus Schematic (LVS) verification confirms logical equivalence between the extracted layout netlist and the synthesized gate-level netlist. Successful completion of both checks ensures that the physical implementation accurately reflects the intended RTL behavior.
This project demonstrates a complete and disciplined ASIC design flow for a synchronous digital counter, spanning RTL design, functional verification, synthesis, timing analysis, and physical implementation through to final GDS generation. Despite its functional simplicity, the design illustrates the essential steps and constraints involved in modern digital IC development.
The resulting implementation provides a robust and reusable digital building block and serves as a concise portfolio example of practical experience with RTL-to-GDS ASIC methodologies.










