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

 
 
> Вопрос по Verilog., Описал сдвиговый регистр, тайминги не лезут ни в какие ворота.
Alexander V. Sto...
сообщение Nov 26 2007, 19:12
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 22-11-07
Пользователь №: 32 592



Сабж. Только-только начал изучать Verilog. Наваял следующий код:

Код
module counter (clk,count);

input clk;
output[9:0] count;
reg [9:0] count;


initial count = 1'b1;

always @(posedge clk) begin
if (count == 255) count = 0;
else count = count << 1;
end

endmodule


Результатом работы которого является нечто:



Как видно, 6-й переход явно какой-то не такой.

А вот если я пишу так:

Код
module counter (clk,count);

input clk;
output[9:0] count;
reg [9:0] count;


initial count = 1'b1;

always @(posedge clk) begin
if (count == 255) count = 0;
else count = count + 1;
end

endmodule


Естественно, графы другие. Но таких явных нарушений в работе нет.

Где грабли?

Сообщение отредактировал Alexander V. Stolyarov - Nov 26 2007, 19:13
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexander V. Sto...
сообщение Nov 27 2007, 09:22
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 22-11-07
Пользователь №: 32 592



Цитата(Tran @ Nov 27 2007, 00:44) *
Вы моделируете работу узла на частоте примерно 200 МГц. Если лействительно нужна такая частота, то нужно подбирать м/с и по типу и по быстродействию + накладывать констрейны таймквестом, если нет - то просто понизьте частоту клока и всё станет на место.


Понизил частоту, тайминги стали значително лучше, но некоторое смещение на 6-м переходе осталось. Не в таком объеме конечно...


Цитата(vetal @ Nov 27 2007, 00:57) *
Это нормальное явление. Смотрите значения сигналов на триггерах, а не на выводах микросхемы прошедших километровые пути.

Вас интересует значение сигнала на триггерах или на выходе? Если на выходе - поставьте буферный регистр на выходе сдвигателя и квартус вам их разместит в элементах ввода/вывода микросхемы.


Меня интересует наличие сигнала на выходе. Я не совсем понял, как это сделать. Разве выход уже не является регистром? Как описать еще дополнительный буферный регистр?
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Nov 27 2007, 10:22
Сообщение #3


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Alexander V. Stolyarov @ Nov 27 2007, 12:22) *
Меня интересует наличие сигнала на выходе. Я не совсем понял, как это сделать. Разве выход уже не является регистром?
Смотря что под этим понимать. Формально да, но в данном случае этот регистр стоит не в блоках ввода-вывода, поэтому времянка на выходах может плавать от разводки к разводке.

Цитата
Как описать еще дополнительный буферный регистр?
Поставить регистр между счётчиком и буфером. Прописать в assignments FAST_OUTPUT_REGISTER на эти выходы, тогда этот дополнительный регистр ляжет в блоки выода-вывода, и времянка на выходах будет хорошая, поскольку путь от триггера до пина минимально возможный.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 18:46
Рейтинг@Mail.ru


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