sazh 3 13 июня, 2007 Опубликовано 13 июня, 2007 · Жалоба Могу предложить нарисовать нужную Вам схему в графическом редакторе. Опираясь на нужные макросы. Соединить их между собой линиями. Сразу все станет понятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zenia 0 13 июня, 2007 Опубликовано 13 июня, 2007 · Жалоба если вам не сложно, то нарисуйте Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Renom 0 14 июня, 2007 Опубликовано 14 июня, 2007 · Жалоба в процессах по data_in в сенсорике стоит вся шина, хотя реально для этих процессов требуется только часть шины, поэтому у вас получится логическая избыточность и как следствие большие затраты ресурсов кристала и более высокое потребление. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EShamaev 0 14 июня, 2007 Опубликовано 14 июня, 2007 · Жалоба в процессах по data_in в сенсорике стоит вся шина, хотя реально для этих процессов требуется только часть шины, поэтому у вас получится логическая избыточность и как следствие большие затраты ресурсов кристала и более высокое потребление. Какие ресурсы кристалла? Какое потребление? Этот код даже если и будет нормально синтезироваться, в чем я очень сомневаюсь, работать не будет никогда. Плевал синтезатор на ваше описание сенсорики в процессах. При синтезе это просто игнорируется! Там надо добавлять клоки, пернаправление между процессами, управление памятью, трудно даже все перечислить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Renom 0 14 июня, 2007 Опубликовано 14 июня, 2007 · Жалоба Про синтезабельность и работоспособность кода я не говорю, т.к. если чесно было лень весь изучать. А некоторые моменты на которых в свое время сам обжигался сразу бросились в глаза. К слову, в мультиплексорах при разрядности управляющего слова 9-10 лишний сигнал в сенсорике приводит к дополнительным 20-30 термам(по крайней мере в ISE синтезаторе, в Leonardo и т.д. не могу сказать, т.к. не приходилось сталкиваться), что при жестко заданном кристале бывает смертельно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EShamaev 0 14 июня, 2007 Опубликовано 14 июня, 2007 · Жалоба Про синтезабельность и работоспособность кода я не говорю, т.к. если чесно было лень весь изучать. А некоторые моменты на которых в свое время сам обжигался сразу бросились в глаза. К слову, в мультиплексорах при разрядности управляющего слова 9-10 лишний сигнал в сенсорике приводит к дополнительным 20-30 термам(по крайней мере в ISE синтезаторе, в Leonardo и т.д. не могу сказать, т.к. не приходилось сталкиваться), что при жестко заданном кристале бывает смертельно. Подобного рода мультиплексоры стоит делать либо в комбинаторной логике, либо тактируемые в процессе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zenia 0 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба по словам сенсорики вы понимаете сигнал стоящий после слова process(сигнал ) тогда все процессы надо именить и в списке чувствительности написать clk process(clk ) -- а раньше была data_in begin if i = 2**ADDR_WIDTH-1 then i <= 0; else i <= i + 1; end if; ram1(i) <= run; end process; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EShamaev 0 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба по словам сенсорики вы понимаете сигнал стоящий после слова process(сигнал ) тогда все процессы надо именить и в списке чувствительности написать clk process(clk ) -- а раньше была data_in begin if i = 2**ADDR_WIDTH-1 then i <= 0; else i <= i + 1; end if; ram1(i) <= run; end process; :) Вообщет этим дело не ограничивается... Надо еще все что у вас в процессе вставить в if по фронту или спаду вашего clk. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zenia 0 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба :) Вообщет этим дело не ограничивается... Надо еще все что у вас в процессе вставить в if по фронту или спаду вашего clk. вы имеете в виду, что в каждый if надо дополнительно вставить clk'event and clk = '0' если по спаду, тк у меня все сигнал устанавливаються по спаду clk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EShamaev 0 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба вы имеете в виду, что в каждый if надо дополнительно вставить clk'event and clk = '0' если по спаду, тк у меня все сигнал устанавливаються по спаду clk Не в каждый if надо вставить, а все что в процессе надо вставить в еще один if, такой как описан. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zenia 0 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба Не в каждый if надо вставить, а все что в процессе надо вставить в еще один if, такой как описан. имеете в виду дополнительно поставить if вот так : process(clk ) begin if clk'event and clk = '0' then if i = 2**ADDR_WIDTH-1 then i <= 0; else i <= i + 1; end if; end if; ram1(i) <= run; end process; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EShamaev 0 15 июня, 2007 Опубликовано 15 июня, 2007 · Жалоба Другое дело. Дошли до истины... :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться