Во многих конструкциях DUT не является автономным. Например, рассмотрим DUT, который является частью более крупной системы, которая подает сигналы синхронизации на свои компоненты под управлением глобального тактового генератора. Глобальный тактовый сигнал обычно работает с более высокой скоростью, чем некоторые компоненты, находящиеся под его управлением. Задав такой глобальный таймер избыточной выборки, можно интегрировать DUT в большую систему без использования блоков Upsample или Downsample.
Для создания глобальной логики синхронизации задается коэффициент избыточной дискретизации. Коэффициент избыточной дискретизации выражает требуемую скорость глобального тактового сигнала избыточной дискретизации как кратную базовой скорости модели.
При указании коэффициента избыточной дискретизации HDL Coder™ генерирует глобальный синхросигнал избыточной дискретизации и извлекает требуемые синхросигналы из синхросигнала. Генерация глобального синхросигнала избыточной дискретизации влияет только на сгенерированный код HDL. Часы не влияют на поведение модели при моделировании.
При определении коэффициента избыточной дискретизации для глобального тактового сигнала избыточной дискретизации обратите внимание на следующие требования:
Коэффициент избыточной выборки должен быть целым числом, большим или равным 1.
Значение по умолчанию - 1. В случае по умолчанию кодер HDL не генерирует глобальный синхросигнал избыточной дискретизации.
Некоторые DUT требуют многократной выборки для своих внутренних операций. В таких случаях другие скорости в DUT должны равномерно делиться на глобальную скорость избыточной выборки. Дополнительные сведения см. в разделе Разрешение конфликтов скорости избыточной выборки.
Коэффициент избыточной дискретизации для глобального тактового сигнала из графического интерфейса пользователя можно задать следующим образом:
Выберите панель Создание кода HDL (HDL Code Generation) > Глобальные настройки (Global Settings) в диалоговом окне Параметры конфигурации (Configuration Parameters).
В поле Коэффициент избыточной дискретизации в разделе Параметры синхронизации введите требуемый коэффициент избыточной дискретизации. На следующем рисунке коэффициент избыточной дискретизации указывает глобальный тактовый сигнал избыточной дискретизации, который работает с десятикратной базовой скоростью модели.
Щелкните Создать (Generate) на панели Создание кода HDL (HDL Code Generation), чтобы инициировать создание кода.
Кодер HDL сообщает тактовую частоту избыточной дискретизации:
### Begin VHDL Code Generation ### MESSAGE: The design requires 10 times faster clock with respect to the base rate = 1. ### Working on symmetric_fir_tc as hdlsrc\symmetric_fir_tc.vhd ### Working on sfir_fixed/symmetric_fir as hdlsrc\symmetric_fir.vhd ### HDL Code Generation Complete.
Можно указать коэффициент избыточной дискретизации для глобального тактового сигнала из командной строки, задав значение Oversampling свойство с hdlset_param или makehdl. В следующем примере указан коэффициент избыточной выборки, равный 7:
makehdl(gcb,'Oversampling', 7)### Generating HDL for 'sfir_fixed/symmetric_fir' ### Starting HDL Check. ### HDL Check Complete with 0 errors, 0 warnings and 0 messages. ### Begin VHDL Code Generation ### MESSAGE: The design requires 7 times faster clock with respect to the base rate = 1. ### Working on symmetric_fir_tc as hdlsrc\symmetric_fir_tc.vhd ### Working on sfir_fixed/symmetric_fir as hdlsrc\symmetric_fir.vhd ### HDL Code Generation Complete.
Реализация ЛПВП некоторых конструкций по своей сути является многоскоростной, даже если исходная модель Simulink ® является односкоростной. В качестве примера рассмотрим simplevectorsum_cascade модель.
Эта модель состоит из подсистемы, vsum, управляемый векторным входом шириной 10, со скалярным выходом. На следующем рисунке показан корневой уровень модели.

Тестируемое устройство: vsum подсистема, показанная на следующем рисунке. Подсистема содержит блок Sum, сконфигурированный для суммирования векторов.

simplevectorsum_cascade модель определяет каскадную реализацию (SumCascadeHDLEmission) для блока Sum. Сгенерированный код HDL для реализации каскадного векторного блока Sum работает с двумя эффективными скоростями: более быстрая (избыточная выборка) скорость для внутренних вычислений и более медленная скорость для ввода/вывода. Кодер HDL сообщает, что собственная скорость избыточной выборки для DUT в пять раз превышает базовую скорость:
dut = 'simplevectorsum_cascade/vsum';
makehdl(dut);
### Generating HDL for 'simplevectorsum_cascade/vsum'
### Starting HDL Check.
### HDL Check Complete with 0 errors, 0 warnings and 0 messages.
### The code generation and optimization options you have chosen have introduced
additional pipeline delays.
### The delay balancing feature has automatically inserted matching delays for
compensation.
### The DUT requires an initial pipeline setup latency. Each output port
experiences these additional delays
### Output port 0: 1 cycles
### Begin VHDL Code Generation
### MESSAGE: The design requires 5 times faster clock with respect to the
base rate = 1.
...
В некоторых случаях требования к такту для такого DUT вступают в противоречие с глобальной частотой избыточной дискретизации. Чтобы избежать конфликтов скорости избыточной дискретизации, убедитесь, что субрейты в модели равномерно делятся на глобальную скорость избыточной дискретизации.
Например, если вы запрашиваете глобальную скорость избыточной выборки, равную 8 для simplevectorsum_cascade , кодер отображает предупреждение и игнорирует требуемый коэффициент избыточной дискретизации. Вместо этого кодер учитывает коэффициент избыточной выборки, запрашиваемый DUT:
dut = 'simplevectorsum_cascade/vsum'; makehdl(dut,'Oversampling',8);
### Generating HDL for 'simplevectorsum/vsum'
### Starting HDL Check.
### HDL Check Complete with 0 errors, 0 warnings and 0 messages.
### The code generation and optimization options you have chosen have introduced
additional pipeline delays.
### The delay balancing feature has automatically inserted matching delays for
compensation.
### The DUT requires an initial pipeline setup latency. Each output port
experiences these additional delays
### Output port 0: 1 cycles
### Begin VHDL Code Generation
### WARNING: The design requires 5 times faster clock with respect to
the base rate = 1, which is incompatible with the oversampling
value (8). Oversampling value is ignored.
...Коэффициент избыточной выборки 10 работает в этом случае:
dut = 'simplevectorsum_cascade/vsum'; makehdl(dut,'Oversampling',10);
### Generating HDL for 'simplevectorsum_cascade/vsum'
### Starting HDL Check.
### HDL Check Complete with 0 errors, 0 warnings and 0 messages.
### The code generation and optimization options you have chosen have introduced
additional pipeline delays.
### The delay balancing feature has automatically inserted matching delays for
compensation.
### The DUT requires an initial pipeline setup latency. Each output port
experiences these additional delays
### Output port 0: 1 cycles
### Begin VHDL Code Generation
### MESSAGE: The design requires 10 times faster clock with respect to
the base rate = 1.
...