Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: моделирование глобального сброса на верилоге для Xilinx
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
yes
то есть, возможно, к этим glbl.GSR надо чего-то еще делать?

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

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

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

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

это фича или бага?
lotorev
После 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 и посмотреть их значения по умолчанию.
yes
сам модуль 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 он добавляется автоматом)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.