CodiodeCodiode
Home
Problem Solving
Skill Tracks
My Assignments
Contests
Leaderboard
Community
Settings
Codiode/Problems/Sequential Logic

Up/Down Counter: Timing Analysis for DOWN Mode

HardLogic CircuitAnalyze

Bidirectional counters in hardware rely on mode-select logic that often introduces asymmetric timing paths between counting up and counting down.

The schematic shows a 4-bit synchronous Up/Down counter built with T flip-flops T0 through T3. The flip-flops only output the non-inverted signal Q. To count down, the borrow chain requires the inverted state Q_bar. The critical path to T3 in UP mode consists of the clock-to-Q delay t_pcq, three cascaded AND gates, and the setup time t_setup. In DOWN mode, the mode-select logic places three cascaded NOT gates into the borrow chain path before the three AND gates.

The timing characteristics are: t_pcq is 2.0ns, t_setup is 2.0ns, AND gate delay t_AND2 is 1.0ns, and NOT gate delay t_NOT is 0.5ns.

Calculate the critical path delay for both UP and DOWN modes and determine the maximum safe clock frequency for the complete bidirectional design.

Constraints

  • t_pcq = 2.0ns
  • t_setup = 2.0ns
  • t_AND2 = 1.0ns
  • t_NOT = 0.5ns
  • Interconnect routing delay is assumed to be 0ns.

Topics

critical-pathtiming-analysissequential-logiccounters

Solve this problem

Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.

This problem is part of Codiode Pro. The statement above is free to read.

Sign in to solveSee what Pro unlocks

The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.

Related problems

  • 3-bit Ripple Counter from Toggle Flip-FlopsEasy
  • D Latch from a 2:1 MUXEasy
  • 2-bit Ring CounterEasy
  • T Flip-Flop from a D Flip-FlopEasy
  • Handshake Deadlock Due to Early ResetHard
  • Reconvergence of Individually Synchronized BitsHard
  • Debug: Asynchronous Clear GlitchHard
  • Clock Gate Enable Crossing DomainsHard

Browse all problems · Learning tracks