реклама на сайте
подробности

 
 
> Опять вопросы с синтезабельностью
arcer
сообщение Aug 31 2010, 16:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 2-05-10
Пользователь №: 57 029



Здравствуйте, товарищи!
Хочу сделать генератор хелловорлдный. Оказалось, нужно проинициализировать некоторые переменные без сигнала сброса. Делал таким образом:
input clc;
output reg outclc;
reg is_init;

always @(clc)
begin
if(is_init!=1)
begin
is_init =1;
//разная всякая инициализация
end
else
begin
//ну например,
outclc<=clc;
end
end

Синтезатор не кричал, в моделсиме красные полоски (не работает, как нужно)
Рассуждаю так: вначале is_init инеет несинтезируемое значение Х, чему в жизни отвечает "не знаю". Нельзя сказать, что (is_init!=1) истина или ложь.
Но я переписал так:

input clc;
output reg outclc;
reg is_init;

always @(clc)
begin
if(is_init==1)
begin
//ну например,
outclc<=clc;
end
else
begin
is_init =1;
//разная всякая инициализация
end
end

и на всех 4-х временных моделированиях моделсим выдавал то, чего мне было надо. Но ведь предидущие рассуждения отрицают возможность того, что можно сказать is_init==1 истина или ложь.
Подскажите , пожалуйста, это вообще синтезируемо (2-й вариант)? А если нет, то как можно провести инициализацию без сигнала сброса?

Заранее благодарен за помощь!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bogaev_roman
сообщение Aug 31 2010, 16:24
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(arcer @ Aug 31 2010, 20:11) *
Хочу сделать генератор хелловорлдный. Оказалось, нужно проинициализировать некоторые переменные без сигнала сброса.

Начальная инициализация для моделирования (синтезируемая, но реально в "железе" не учитывается):
Код
input clc;
output reg outclc=0;
reg is_init=0;

Если Вы хотели получить триггер сигналом outclc, то не получите, ибо нет триггера, работающего одновременно по фронту и срезу тактовой частоты, а записью
Цитата
always @(clc)
получите комбинационную логику.
Go to the top of the page
 
+Quote Post
arcer
сообщение Aug 31 2010, 16:31
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 2-05-10
Пользователь №: 57 029



Цитата(bogaev_roman @ Aug 31 2010, 19:24) *
Начальная инициализация для моделирования (синтезируемая, но реально в "железе" не учитывается):
Код
input clc;
output reg outclc=0;
reg is_init=0;

Если Вы хотели получить триггер сигналом outclc, то не получите, ибо нет триггера, работающего одновременно по фронту и срезу тактовой частоты, а записью получите комбинационную логику.

Т.е. для физической инициализации все равно нужен отдельный сигнал?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Aug 31 2010, 16:42
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(arcer @ Aug 31 2010, 20:31) *
Т.е. для физической инициализации все равно нужен отдельный сигнал?

Насколько мне известно, каждый триггер при включении платы будет иметь конкретное значение (0 или 1 - зависит от производителя). Если Вы хотите получить обычный делитель частоты, то какая разница в каком состоянии изначально будет триггер.
Обычно всегда используют сигнал сброса для инициализации - там где она нужна.
Цитата
Но в реальной жизни, при прошивке, будет сигнал этот вырабатываться?

Будет, только лучше
Код
always(posedge clc)
outclc<=~clc;


Сообщение отредактировал bogaev_roman - Aug 31 2010, 16:45
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- arcer   Опять вопросы с синтезабельностью   Aug 31 2010, 16:11
|- - arcer   Цитата(bogaev_roman @ Aug 31 2010, 19:42)...   Aug 31 2010, 16:47
||- - bogaev_roman   Цитата(arcer @ Aug 31 2010, 20:44) Платы ...   Aug 31 2010, 16:48
|- - Shtirlits   QUOTE (bogaev_roman @ Aug 31 2010, 20:42)...   Aug 31 2010, 16:53
|- - arcer   Цитата(Shtirlits @ Aug 31 2010, 19:53) Ту...   Aug 31 2010, 16:56
- - Shtirlits   В общем случае - да. В некоторых архитектурах нача...   Aug 31 2010, 16:34
|- - arcer   Цитата(Shtirlits @ Aug 31 2010, 19:34) В ...   Aug 31 2010, 16:42
- - arcer   слово "в некоторых" смущает. Значит в не...   Aug 31 2010, 16:50
|- - bogaev_roman   Цитата(arcer @ Aug 31 2010, 20:50) слово ...   Aug 31 2010, 16:56
|- - arcer   Цитата(bogaev_roman @ Aug 31 2010, 19:56)...   Aug 31 2010, 17:07
|- - bogaev_roman   Цитата(arcer @ Aug 31 2010, 21:07) А поче...   Aug 31 2010, 17:18
|- - arcer   Цитата(bogaev_roman @ Aug 31 2010, 20:18)...   Aug 31 2010, 17:20
|- - Shtirlits   QUOTE (bogaev_roman @ Aug 31 2010, 21:18)...   Aug 31 2010, 17:29
|- - bogaev_roman   Цитата(Shtirlits @ Aug 31 2010, 21:29) Не...   Aug 31 2010, 17:53
- - Shtirlits   Если короче, то на сколько короче? А что будет, ес...   Aug 31 2010, 18:34
|- - bogaev_roman   Цитата(Shtirlits @ Aug 31 2010, 22:34) Ес...   Sep 1 2010, 09:19
- - Shtirlits   Какая проблема с потерять 1nS на линии данных в от...   Sep 1 2010, 16:22
|- - bogaev_roman   Цитата(Shtirlits @ Sep 1 2010, 20:22) Как...   Sep 1 2010, 17:03
- - Shtirlits   Ну, если принимать во внимание удачу, то её я вам ...   Sep 1 2010, 17:40


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016