# timescale

Моделирование зависит от того, как определено время, потому что симулятор должен знать, что означает `#1` с точки зрения реального времени. Директива компилятора \`\`timescale\` определяет единицу времени и точность для следующих за ней модулей.

*Примеры*

{% code overflow="wrap" lineNumbers="true" %}

```verilog
// `timescale <time_unit>/<time_precision>
`timescale 1ns/1ps
`timescale 10us/100ns
`timescale 10ns/1ns
```

{% endcode %}

Значение time\_unit задаёт измерение задержек и времени моделирования, в то время как time\_precision определяет, как значения задержки округляются перед использованием в моделировании.

Спецификации задержки в проекте не поддаются синтезу, не могут быть преобразованы в аппаратную логику и используются только при моделировании.

Суффиксы единиц времени:

<table><thead><tr><th width="68"></th><th></th><th width="67.199951171875"></th><th></th><th width="68.2000732421875"></th><th></th></tr></thead><tbody><tr><td><code>s</code></td><td>секунды</td><td><code>us</code></td><td>микросекунды</td><td><code>ps</code></td><td>пикосекунды</td></tr><tr><td><code>ms</code></td><td>миллисекунды</td><td><code>ns</code></td><td>наносекунды</td><td><code>fs</code></td><td>фемтосекунды</td></tr></tbody></table>

Целые числа в этих спецификациях могут быть только 1, 10 или 100, за которым следует суффикс из таблицы выше.
