xvr 12 28 июля, 2008 Опубликовано 28 июля, 2008 · Жалоба Не так все просто. Partial reconfiguration mode оперирует целыми колонками CLB, от низа кристала до его верха. Т.е. туда нужно будет помещать сразу множество коммутаторов. Должны же быть и какие то недостатки :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kaps 0 28 июля, 2008 Опубликовано 28 июля, 2008 · Жалоба Ну, чтоб вы не ругались, я могу переписать код и с асинхронным Reset'ом :) Еще раз всем ОГРОМНЕЙШЕЕ спасибо!!!! Если кто подзабыл тех задание - повторюсь: Необходимо за 1 такт переставить биты в регистре в заранее установленном порядке. Закон перестановки должен загружаться перед началом работы и быть изменяемым в системе. Результат - См. выше. Удачи! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Короче, разобрался. Пользуйтесь! :) Все нормально. Не совсем. use IEEE.STD_LOGIC_UNSIGNED.ALL; use IEEE.Std_logic_arith.all; USE IEEE.NUMERIC_STD.ALL; Если не хотите неожиданностей, не смешивайте эти библиотеки. Про первые две вообще забудьте, они давно объявлены устаревшими. Если в библиотеке примитивов у Альтеры есть триггеры с синхронным сбросом/установкой, то сочувствовать нужно пользователям квартуса, т.к. налицо проблемы с оптимизацией. Таки да. У Квартуса проблемы с реализацией локального синхронного сброса -- о этом даже в handbook написано. Мне приходилось насильно в коде ставить lpm_ff, чтобы задействовать синхронный сброс триггера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Не совсем. Если не хотите неожиданностей, не смешивайте эти библиотеки. Про первые две вообще забудьте, они давно объявлены устаревшими. Разве без них можно обойтись???? Мне кажется, что без этих библиотек вообще синтеза не будет, без второй так точно :( Я считаю, что библиотеки library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; просто необходимы!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Very_hard 0 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Maverick, IEEE.STD_LOGIC_ARITH и IEEE.STD_LOGIC_UNSIGNED желательно заменять на IEEE.NUMERIC_STD. И уж точно не следует смешивать их во избежание проблем(в них, вроде, по разному переопределены операторы - и неизвестно, что в конечном счете будет применено). А синтез будет, если пользовать IEEE.NUMERIC_STD, правда нужно писать немного по-другому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба А синтез будет, если пользовать IEEE.NUMERIC_STD, правда нужно писать немного по-другому. Можно по подробнее "немного по-другому" это как?? И еще вопрос: почему мне Xilinx ISE 8.02.03 в Language Templates советуют использовать эти библиотеки, и когда только создаю в ISE VHDL modulе, то он мне автоматически выдается лист в котором присутствуют: Стандартный загаловок: имя файла, кто/где разработал и о чем проект - в коментариях; Приведенные библиотеки; Место под описание портов; Пустое архитектурное тело; наподобии такого: ---------------------------------------------------------------------------------- -- Company: -- Engineer: -- -- Create Date: 10:28:42 07/29/2008 -- Design Name: -- Module Name: ccc - Behavioral -- Project Name: -- Target Devices: -- Tool versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: -- ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity ccc is end ccc; architecture Behavioral of ccc is begin end Behavioral; СТАНОВИТСЯ ОЧЕНЬ ИНТЕРЕСНО!!! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Можно по подробнее немного по другому как?? Всё почти тоже самое. Только тип сигналов, участвующих во всех математических операциях, лоджен быть signed или unsigned, а не std_logic_vector. При необходимости делается преобразование типов signed<->std_logic_vector и unsigned<->std_logic_vector. И еще вопрос: почему мне Xilinx ISE 8.02.03 в Language Templates советуют использовать эти библиотеки, и когда только создаю в ISE VHDL modulе, то он мне автоматически выдается лист в котором присутствуют: Адресуйте этот вопрос к господам из Xilinx, почему они игнорирурт стандарт языка. Текущим стандартом IEEE1076.3 эти пакеты не предусмотрены. В будущем вроде как появятся numeric_std_unsigned и numeric_std_signed, но когда это будет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Всё почти тоже самое. Только тип сигналов, участвующих во всех математических операциях, лоджен быть signed или unsigned, а не std_logic_vector. При необходимости делается преобразование типов signed<->std_logic_vector и unsigned<->std_logic_vector. Адресуйте этот вопрос к господам из Xilinx, почему они игнорирурт стандарт языка. Текущим стандартом IEEE1076.3 эти пакеты не предусмотрены. В будущем вроде как появятся numeric_std_unsigned и numeric_std_signed, но когда это будет... Извините, не внимательно прочитал в описаниях математических операций, то конечно нужно использовать библиотеку USE IEEE.NUMERIC_STD.ALL; а при описании например счетчика, FSM и т. д. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; Во всяком случае я так делаю :) Математику и логику разделяю на модульном уровне Иначе :07: :cranky: :cranky: :cranky: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба а при описании например счетчика, FSM и т. д. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; Во всяком случае я так делаю :) Зачем? Я, например, все счётчики делаю unsigned. И причём тут FSM? Иначе :07: :cranky: :cranky: :cranky: Не понял. Что, какие-то проблемы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Зачем? Я, например, все счётчики делаю unsigned. И причём тут FSM? FSM привел что это тоже описание работы обычной логики(как дешифратора, мультиплексора, просто его проще писать :)), как и счетчика. Напрмер, счетчик я привык описывать так и с такими библиотеками (синтезатор понимает и подставляет соответствующий макрос(макромодуль)). library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity counter is Port ( clk : in std_logic; en : in std_logic; rst : in std_logic; count : out std_logic_vector(7 downto 0)); end counter; architecture behavioral of counter is signal cnt: std_logic_vector (7 downto 0):= "00000000"; begin pr_d_e: process (clk, en, cnt, rst) begin if (rst = '0') then cnt <= (others => '0'); elsif (clk'event and clk = '1') then if (en = '1') then cnt <= cnt + "00000001"; end if; end if; count <= cnt; end process pr_d_e; end behavioral; Так как правильно все таки это делать на сегодняшний день, в соответствии со стандартами? Какие библиотеки при этом использовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kaps 0 11 августа, 2008 Опубликовано 11 августа, 2008 · Жалоба Извините, что еще раз беспокою, но возникли некоторые трудности... :( Все прекрасно работает... но только в поведенческом моделировании. как только пытаюсь сделать Sintesize - XST - пишет: ERROR:Portability:3 - This Xilinx application has run out of memory or has encountered a memory conflict. Current memory usage is 2090724 kb. You can try increasing your system's physical or virtual memory. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support. На сайте есть решения, но они относятся к младшим версиям (у меня ISE 10.) Я попробовал опции как предлагалось на сайте - но ничего не дает результатов. Как запускаю на синтез - на двухголовом Атлоне 4000 синтезит около 15 минут, а потом выдает эту самую ошибку... Подскажите плиз, в чем проблема... PS: на сайте Xilinx пишут, что вероятно много вложенных if-ов. Так оно и есть. Пытался немного уменьшить их кол-во, но намного не получилось. Все пытаюсь реализовать подстановку. Теперь правда несколько большего объема.... (Я от темы не ухожу!!! Все в топик!! Про подстановку эту гребаную... Извините... Сорвалось. От незнания и нервы...) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 11 августа, 2008 Опубликовано 11 августа, 2008 · Жалоба На сайте есть решения, но они относятся к младшим версиям (у меня ISE 10.) Какой SP? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kaps 0 11 августа, 2008 Опубликовано 11 августа, 2008 · Жалоба Release version 10.1(nt) Application Version K.31 А про ServicePack не знаю.... 2008 год вроде пишет... я убрал все if - оставил только один по clk. Все равно выдает ошибку. А когда отключаю мультиплексоры - сразу компилится вся схема.... Check Syntax не выдает ни ошибок ни предупреждений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 11 августа, 2008 Опубликовано 11 августа, 2008 · Жалоба Судя по всему, у Вас даже первый SP не стоит. Это плохо. Сейчас есть SP2 и IP Update 1. Поэтому окно About... должно выглядеть так: Т.е. версия должна быть как в выделенной красным строке - 10.1.02. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kaps 0 11 августа, 2008 Опубликовано 11 августа, 2008 · Жалоба А как обновиться? Если можно, конечно.... Хотелось бы с Вашей помощью сэкономить время! :) Если не против... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться