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

 
 
 
Reply to this topicStart new topic
> моделирование глобального сброса на верилоге для Xilinx, glbl.v подкомпилен, но не вижу сброса
yes
сообщение Sep 15 2006, 06:53
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



то есть, возможно, к этим glbl.GSR надо чего-то еще делать?

то есть предполагаю, что ISE расставит INIT-ы в соответствии с
reg a=0;
reg b=1'b1; и т.д.

внутри always-ов отработку сброса не вставляю (не хочется тратить ресурсы на трассировку цепи сброса, как рекомендует ксайлинкс) - мне хватит сброса после загрузки

понятно, что при поведенческом моделировании этот glbl.v ни на что не влияет

но при моделированиии post-P&R почему-то нифига в резете триггеры не удерживаются - этот glbl.GSR в 1 (weak) (100ns) - а триггера работают

это фича или бага?
Go to the top of the page
 
+Quote Post
lotorev
сообщение Sep 19 2006, 19:50
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 25-11-05
Пользователь №: 11 388



После place&route вы какой файл симулируете, time_sim.v+time_sim.sdf ?? В нём описание идет через элементы библиотеки ovi_simprim: x_ff, x_ram16 ...
Можно сделать поиск ctrl+f по файлу time_sim.v "glbl".
1) Если нашли (что-то типа GSR = glbl.GSR) значит всё должно работать. Только при условии что glbl должен находится рядом (на одном уровне) с вашим тестируемым модулём (e.g my_module). Т.е тестбенч my_module_tb должен выглядеть что-то типа:
Код
module my_module_tb;
reg..;
glbl   glbl();
my_module uut (.*);

endmodule


2) Если не нашли, то можно сделать так. В файле time_sim.v всё равно должен быть wire GSR который подходит к всем регистрам. Можно в лоб им рулить, т.е.

Код
module my_module_tb;
reg..;
reg MY_GSR;

my_module uut (.*);
assign uut.GSR = MY_GSR;

initial begin
MY_GSR = 1;
#100 MY_GSR = 0;
end

endmodule


ps. 1) еще есть сигнал GTS, если он неизвестен х или равен 1, то все пины будут в третьем состоянии. Его лучше тоже выполнить assign uut.GTS = 1'b0;
2)
Цитата
то есть предполагаю, что ISE расставит INIT-ы в соответствии с
reg a=0;
reg b=1'b1; и т.д.

сомневаюсь, лучше проверить в fpga editor, найти конкретный регистр a, b и посмотреть их значения по умолчанию.
Go to the top of the page
 
+Quote Post
yes
сообщение Sep 25 2006, 14:22
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



сам модуль glbl - создает week фронт по glbl.GSR и GTS через 100ns

не пойму, почему это не работает,
при том, что в UNISIM и SIMPRIM триггерах описан сигнал

module X_FDD (O, CE, CLK, I, RST, SET);
-------
tri0 GSR = glbl.GSR;

always @(GSR )
--------

===================

module FDR (Q, C, D, R);

------
tri0 GSR = glbl.GSR;

always @(GSR)

================

то есть достаточно [было бы] иметь этот glbl.v в проекте (ну а в xxx_timsim.v он добавляется автоматом)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 04:09
Рейтинг@Mail.ru


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