2012-04-28 3 views
0

У меня есть простой модуль VHDL, который выводит сигнал PWM. Модуль PWM имеет сигнал, который содержит текущий процент ШИМ. Когда я их синтезирую и реализую, этот сигнал сбрасывается по умолчанию на 0. Есть ли способ его настроить, что после выполнения PWM процент равен 20 или что-то еще?VDHL - начальное значение сигнала?

Спасибо!

ответ

5

Вы должны иметь возможность установить значение по умолчанию для включения питания. Он должен согласиться со значением сброса (если он есть), потому что синтезатор будет использовать NOT-gate-pushback для его реализации.

Попробуйте

SIGNAL dutycycle : INTEGER := 20; -- powerup value 

PROCESS (n_reset, clk) 
BEGIN 
    IF TO_X01(n_reset) = '0' THEN 
     dutycycle <= 20;    -- asynchronous reset value 
    ELSIF RISING_EDGE(clk) THEN 
     dutycycle <= load_dutycycle; -- synchronous load 
    END IF; 
END PROCESS; 
+1

+1 для примера кода. Детали будут зависеть от инструмента синтеза и целевой технологии (или семейства FPGA). Некоторые технологии не поддерживают ценность питания. RTM и/или попробуйте его для вашей конкретной настройки! – Philippe

+1

Для справок в будущем; можете ли вы указать указатель на руководство для синтезатора с требованием, чтобы значение сброса и значение мощности были одинаковыми? – Philippe

+0

@Philippe: Конечно, здесь он применяется к чипам Altera: http://www.altera.com/support/kdb/solutions/rd01072011_91.html –

2

Вы можете поместить ввод сброса в модуль, который загружает значение по умолчанию в ваш процентный регистр.

+0

И что вызвало бы, что вход сброса? – xx77aBs

+0

Ну, нормально, у вас есть ввод сброса для всей системы (например, ввод сброса в CPU), моя идея состояла в том, чтобы использовать этот же сброс, чтобы сбрасывать модуль PWM, загружая его значение по умолчанию. У вас нет внешнего сигнала сброса? –

+0

Nop ... Или я не знаю, что у меня есть. Если это помогает, я использую Spartan 3 Starter board. – xx77aBs