-
Dr.Mike
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 4
-
-
-
-
|
Недавно начал изучать программирование и столкнулся с проблемами.
Не могу придумать как описать генератор тактовых сигналов на определенную частоту, в почти пустом проекте этим занимается мегофункция ALTUMF_NONE.
Подскажите как выйти из данной ситуации, очень не хочется делать из verilog символ и соединять в графическом редакторе с мегофункцией.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Если нужен только генератор, можно использовать функцию "altufm_osc" .
altufm_osc gen(.oscena(1'b1),.osc(clk));
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Dr.Mike
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 4
-
-
-
-
|
спс, а как тут задать нужную частоту?
в ALTUMF_NONE есть параметр ERASE_TIME = 500000000
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Частоту внутреннего генератора ( ALTUFM_) изменить нельзя. Она вырабатывается от внутренним RC-генератором и
ее значение может зависеть от многих параметров - экземпляра чипа , температуры и т.д. На нашей практике
разброс частот был от 4.8 до 5.1Мгц.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Dr.Mike
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 4
-
-
-
-
|
Помогите с вопросом про inout, как работать с input и output понятно, а с двунаправленным не очень.
Попытался снять с него сигнал и передать на выход, и пытался просто выдать через него сигнал (clk), результат один - ничего, он никак не отреагировал.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Сигнал нужно описывать как "inout", а для перевода в высокоомное состояние можно указывать значение "z".
Пример:
module max2(key,dp);
input wire [1:0] key;
inout wire dp;
assign dp=(key[0])?key[1]:1'bz;
endmodule
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
dundich
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 3
-
Спасибо получено: 1
-
-
|
на Verilog можно записывать:
reg [n:0] a; // где n будет входной переменной?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
nckm
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 112
-
Спасибо получено: 34
-
-
-
-
-
|
dundich пишет: на Verilog можно записывать:
reg [n:0] a; // где n будет входной переменной?
нет, так не получится, во время синтеза схемы уже нужно точно знать, сколько там бит у регистра.
Однако n может быть параметром (parameter), определяемым до компиляции.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Петр
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 13
-
Спасибо получено: 1
-
-
|
Подскажите, такая задача:
есть модуль, один из входов которого описан как input [7:0] data;
Есть reg [7:0] temp = 34;
По светодиодам вижу, что data принимают какое-то значение.
Пытаюсь записать data в temp, записываются всегда 0.
Что может быть, что я делаю неправильно?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Dr.Mike
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 5
-
Спасибо получено: 4
-
-
-
-
|
Пытаюсь отослать 96 раз "0", получить в ответ "1", и послать еще 12 раз "0" по inout, не получается.
Могу ли я использовать выражение для условия read_buffer == 1?
Пробовал реализовать все эти задачи через 3 task, но read_buffer после получения "1", уходил в неопределенное состояние.
что посоветуете? (пытаюсь разобраться с датчиком DS18B20/ инициализация - посылаем "0" 480 мкс, дожидаемся ответа "1", посылаем "0" 60 мкс)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Dr.Mike.
|
Время создания страницы: 0.163 секунд