id_gene 0 13 декабря, 2007 Опубликовано 13 декабря, 2007 · Жалоба а какие недостатки памяти на триггерах, а если ПЛИС поддерживает, то на чем генерируется память?В некотрых ПЛИС есть блоки памяти, см. даташит на конкретную ПЛИС. Не всегда эти блоки есть, и не всегда чтение из них асинхронное. По возможности, синтезатор пытается переложить найденную память в эти блоки. Функциональных недостатков памяти на логике нет, но при больших объемах скорость может быть меньше, потребление больше, и в конце концов ресурсы логики можно было бы использовать для других целей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 14 декабря, 2007 Опубликовано 14 декабря, 2007 · Жалоба в результате моделирования понял, что мне нужно поменять способ считывания do,следующим макаром,выводя его из-под Clk: proc_RAM:process (Clk) is variable w_addr, r_addr:integer; begin if (Clk'event and Clk = '1') then if (en = '1') then w_addr:=conv_integer(wa); if (w_en='1') then RAM(w_addr) <= di; end if; end if; end if; if (en = '1') then r_addr:=conv_integer(ra); do <= RAM(r_addr); end if; end process; 1. пользуйте теги code и /code помещенные в [ ]. 2. Самое оригинальное что вы, для симулятора и может быть для синтезатора не вывели чтение из под клока :)) если уж вы так хотите это сделать то код у вас должен быть такой proc_RAM:process (Clk, en, ra) is -- !!! variable w_addr, r_addr:integer; begin if (rising_edge(Clk)) then if (en = '1') then w_addr:=conv_integer(wa); if (w_en='1') then RAM(w_addr) <= di; end if; end if; end if; if (en = '1') then r_addr:=conv_integer(ra); do <= RAM(r_addr); end if; end process; и этот вариант честно описывает защелку на выходе памяти (которая стоит почти во всех блочных памятях), но синтезаторами, на сколько я помню не распознавалась. ИМХО сделайте 1 entity c 2 мя архитектурами: 1. архитектура для описания памяти через переменную, а не через сигнал для целей моделирования 2. архитектура со вставкой готового компонента из коре генератора. переключаетесь между ними с помошью конфигураций. это даст вам большую скорость моделирования и однозначность синтеза. Удачи! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lincolndsp 0 17 декабря, 2007 Опубликовано 17 декабря, 2007 · Жалоба Xilinx recorded e-learning Basic FPGA Configuration PartII http://uxcont3.sabahosted.com/xil52prodcon...13012-rel-2.wmv Basic FPGA Architecure: Architecture Wizard and the Floorplan Editor http://uxcont3.sabahosted.com/xil52prodcon...ga13013-rel.wmv Basic FPGA Architecure: Memory and Clocking Resources http://uxcont3.sabahosted.com/xil52prodcon...fpga13011-8.wmv Basic FPGA Architecture: Slice and I/O Resources http://uxcont3.sabahosted.com/xil52prodcon...fpga13010-8.wmv Spartan-3E FPGA Architecture http://uxcont3.sabahosted.com/xil52prodcon...ga13008-rel.wmv Spartan-3 FPGA Architecture Overview http://uxcont3.sabahosted.com/xil52prodcon...13003-6-rel.wmv Global Timing Constraints https://xilinx.onsaba.net/Saba/Web/Main/got...dtoorderkey=yes Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться