Summary of What’s the precision of timescale 1ns?
- What is 1ps equal to?
- What does timescale 1ns 1ps mean?
- What is the timescale in SV?
- What is $time in SystemVerilog?
Search Results
AI Overview
AI Overview
1ps most commonly refers to
1 picosecond, which is one trillionth (
10
-12
1
0
−
1
2
) of a second. In technical contexts, particularly hardware description languages like Verilog/SystemVerilog, 1ps represents a precise unit of time used for simulation delays and time precision.
Key meanings of 1ps:
Time Unit:
1
ps
=
0.000
000
000
001
1
p
s
=
0
.
0
0
0
0
0
0
0
0
0
0
0
1
seconds.
Simulation Precision (Verilog): Used in `timescale 1ns/1ps to define that simulation times are measured in nanoseconds but rounded to the nearest picosecond.
Measurement: It is commonly used to measure extremely fast, high-frequency events.
Other Usage: 1PS Limited is also a UK company specializing in, payroll, invoice, and employment services.
What is 1ps? Picoseconds and More in Verilog Timescale
Sep 5, 2025 — 1ps stands for 1 picosecond. The abbreviation “ps” means picosecond, or 1/1012 (1 trillionth) of a second. In the programming lang…
wikiHow
Picosecond – Wikipedia
A picosecond (abbreviated as ps) is a unit of time in the International System of Units (SI) equal to 10−12 or 1⁄1 000 000 000 000…
Wikipedia
Timeslot – SystemVerilog – Siemens Verification Academy
Nov 26, 2014 — You can think of each queue for a single time as a timeslot. A `timescale 1ns/1ps directive means that all the delays that follow …
Siemens Verification Academy
Show all
Show more
`timescale 1ns/1ps means that all the delays that follow (like #5) are interpreted to be in nanoseconds and any fractions will be rounded to the nearest picosecond. However, all delays are represented as integers. The simulator knows nothing about seconds or nanoseconds, only unit-less integers.
It might help to understand that Verilog is defined with discrete event-driven simulation semantics. That means simulation time is defined as an integer, and all signal changes (events) scheduled for a later time are put into queues. A queue for a discrete time in the future is created as soon as an event needs to be scheduled for that time. As soon as all the events for the current time are finished, the simulator looks for the next time queue where an event is scheduled, advances the current time to that next time, and the process repeats until there is nothing left to do, or it executes a $finish. Time is discrete because the simulator only executes the times where events are scheduled, and skips over everything else.
In order to synchronize the scheduling of events across different modules with different timescales and precisions, the simulator picks the smallest time precision across the entire design and assigns that the value of 1 time unit. If the smallest precision was 10ps, that becomes the global value of 1 time unit. So if there were a module with a timescale of 1ns/1ns and there was a delay of #12.3, that would be rounded to 12ns and then scaled to an integer of 1200. (1200x10ps= 12ns)