Real-Time Clock with APB Interface

Overview

The RTC-APB core implements a real-time clock (RTC) and calendar facility together with an alarm function.

To keep track of time of day the core uses a series Binary-Coded Decimal (BCD) counters that count time and date with an accuracy of 1/10 of s second. Users can optionally bypass the tenths of second counter, and operate the RTC-APB with the accuracy of 1 second.

The alarm function can be programmed in a wide variety of ways with alarms from once every 10th of a second up to once every 10000 years! The alarm time and date are continuously compared to the current time and date. These comparisons have individual enables so that comparing, for example, the month count can be disabled. This way the user can select the precise time and date for an alarm or enable alarms to be trigged every 10th of a second, second, minute, hour, day, week, month or year. If a specific interval is needed between alarms it is easy for the user to calculate the next alarm and set the alarm registers accordingly.

In case of an alarm, two kinds of interrupts are issued by the RTC-APB core. The first is synchronous to the AMBA APB clock and will only be generated if the AMBA APB clock is present. The second is synchronous to the clock driving the internal counters and will always be issued if the RTC-APB is running and programmed for this interrupt. This second interrupt can be used in connection with a power-down mode, where the AMBA APB clock is gated off. The RTC-APB interrupt can then be used to exit the power-down mode and bring the AMBA APB clock back up.

The RTC-APB generates time ticks from an externally provided RTC-APB clock. The time ticks can be either 1 second ticks or 1/10th of a second ticks depending on the programming of the RTC-APB registers. To generate accurate time ticks the RTC-APB clock is first divided with a fraction value, and then fed to a post-scaler, which further divides the clock frequency by a multiple of 256. A special circuitry that evens-out the distance between time-ticks can be enabled when needed. The fractional division, and post-scaling allows generation of accurate time ticks from great variety of RTC-APB clock frequencies, ranging from a few KHz to hundreds of MHz.

The RTC-APB core is rigorously verified and mass production proven. It is available in RTL source or as a targeted FPGA netlist. Its deliverable includes a testbench, synthesis and simulation scripts and comprehensive user documentation.

Key Features

  • Real Time Clock with BCD Counters.
  • Tracks: Time of Day with 1/10 of second accuracy, Day of Week, Day of Month, Month, and Year
  • Calendar function with correction for leap year
  • AM/PM or 24-hour time modes
  • Programmable time/date alarm with interrupt generation
  • 32-bit APB interface
  • Works with clock input from a few kHz to hundreds of MHz.

Block Diagram

Real-Time Clock with APB Interface Block Diagram

Deliverables

  • Verilog source or FPGA netlist
  • User Documentation
  • Testbench and sample synthesis and simulation scripts

Technical Specifications

Maturity
Production
Availability
Now
×
Semiconductor IP