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

 
 
> Мультиплексирование шины и клока, Альтера, ТаймКвест
novartis
сообщение Apr 17 2014, 09:57
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Здравствуйте.
В проекте под Альтеру в Квартусе имеется память. К этой памяти я хочу обращаться в разные моменты времени разными модулями на разных частотах.
На частоте clk = 50МГц - хочу читать эту память Ниосом, на частоте clk_30MHz = 30МГц хочу работать с памятью модулем 1, на частоте clk_high = 100МГц хочу работать с памятью модулем 2.

Код приблизительно такой:
Код
ram_frame0_address        <=    ram_frame0_address_avs            when state = ST_NULL
                        else    mp_o_ram_frame_address        when state = ST_MP_BUSY        
                        else    sv_o_frame_address            when state = ST_SV_BUSY        
                        else    (others => '0');

ram_frame_clk            <= clk when state = ST_NULL else clk_30MHz when state = ST_MP_BUSY else clk_high;

{по аналогии мультиплексирую другие сигналы для памяти}
...

    process (clk)
    begin
        if (rising_edge(clk)) then
            if (state = ST_NULL) then
                ...
                if (...) then
                    state <= ST_MP_BUSY;
                end if;
            elsif (state = ST_MP_BUSY) then
                ...
                if (...) then
                    state <= ST_SV_BUSY;
                end if;

            elsif (state = ST_SV_BUSY) then
                ...
                if (...) then
                    state <= ST_NULL;
                end if;
            end if;
        end if;
    end process;



В sdc файле прописал, чтобы ТаймКвест не анализировал пути между этими тремя клоками:
set_clock_groups -exclusive -group {clk}
set_clock_groups -exclusive -group {clk_30MHz}
set_clock_groups -exclusive -group {clk_high}

После компиляции смотрю в ТаймКвест.
Fmax
78.11 MHz 78.11 MHz clk
112.46 MHz 112.46 MHz clk_30MHz
126.77 MHz 126.77 MHz clk_high
Требуемые частоты достигнуты, это радует.

А вот Failling Edge Paths выдает такие картинки:
Прикрепленное изображение


То есть данные приходят раньше, чем они требуются.

Как победить эту беду? Это вообще беда?






Go to the top of the page
 
+Quote Post



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

 


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


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