1/ написал прошивку для CPLD XC9500XL -10 т.е. сигнал от ноги до ноги доходит за время >=10ns
2/ нажал Generate post-fit simulation model
3/ полученный файл добавил в проект и написал модель сигналов на входе:
-- Wait 100 ns for global reset to finish wait for 100 ns ; ----------------------------------------------------------------------------- CLK <= '0' ; TOP <= '1' ; LLD <= '1' ; BUSY <= '0' ; D <= "000000000000" ; wait for 100 ns ; ----------------------------------------------------------------------------- CLK <= '1' ; LLD <= transport '0' after 40 ns ; wait for 100 ns ; ----------------------------------------------------------------------------- CLK <= '0' ; TOP <= transport '0' after 40 ns ; wait for 100 ns ; ----------------------------------------------------------------------------- CLK <= '1' ; wait for 100 ns ; ----------------------------------------------------------------------------- CLK <= '0' ; wait for 100 ns ; .... и т.п.
4/ Запусил симуляцию
вижу на временной диаграмме что входной сигнал TOP оказался на выходе CONV через 0.1 ns..... Хотя минимальная задержка - 10 ns!!!!!!!!!
Вот код, который я моделировал:
process ( TOP, LLD, BUSY ) begin if LLD = '1' or BUSY = '1' then CONV <= '1' ; elsif TOP'event and TOP = '0' then CONV <= '0' ; end if ; end process ;
Почему так получилось?
|