|
Xilinx ISE 13.1, вышла новая версия |
|
|
|
 |
Ответов
(1 - 53)
|
Mar 3 2011, 12:58
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(Koluchiy @ Mar 3 2011, 15:12)  Традиционный вопрос про глюки  . Насколько дружит с Synplify? а почему бы и не дружить? нетлист хоть руками написать можно имхо, сам Синплифай плохеет как-то как в Синплифае с поддержкой новых камней, я не говорю про 7-е семейство, хотя бы 6-е?
|
|
|
|
|
Mar 3 2011, 13:47
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(Alexium @ Mar 3 2011, 16:36)  Извиняюсь за оффтопик, но разве Синплифай лучше для FPGA Xilinx, чем фирменный ISE? Это как яблоко (Xilinx) и червяк (Synopsys) Яблоко без червяка может, а червяк без яблока нет. :-) Если серьезнее и вкратце 1) Synplify - синтезатор, ISE - "все в одном" 2) Synplify может дать лучший результат. 3) Synplify имеет смысл использовать, если надо "утрамбовать" проект по ресурсам\скорости 4) Для получения "прошивки" FPGA в любом случае нужен ISE. P.S. А вообще оффтоп
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Mar 3 2011, 13:55
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 2-03-11
Пользователь №: 63 345

|
Как показывет практика, 1-ые версии обычно глючат. Подождем 13.2 или 13.3.
|
|
|
|
|
Mar 3 2011, 16:05
|

High speed digital design
  
Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786

|
так, скомпилил в новой версии старый(из 12 версии) проект (видеокодер). Никаких преимуществ пока не вижу. Пришлось перекомпилить все корки.... Пока экономии/производительности примерно 0 по сравнению с предыдущей версией. Буду копать дальше, искать фактические преимущества. Цитата(Koluchiy @ Mar 3 2011, 15:12)  Традиционный вопрос про глюки  . Насколько дружит с Synplify? глюков пока не увидел, но и не глубоко тестил. Synplify еще не пробовал. Прошивка моя очень долго компилиться
--------------------
|
|
|
|
|
Mar 5 2011, 02:40
|
Частый гость
 
Группа: Участник
Сообщений: 82
Регистрация: 22-12-10
Пользователь №: 61 811

|
can try license at here Цитата
|
|
|
|
|
Mar 10 2011, 16:22
|
Знающий
   
Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394

|
Цитата(Koluchiy @ Mar 5 2011, 10:46)  Граждане, умеет ли в 13.1 Map занимать несколько ядер? MAP падает под линухом 64 бит. Молча. Разбираться почему, что и как пока не стал. А вот PAR работает на 4 ядрах.
|
|
|
|
|
Mar 15 2011, 06:56
|
Знающий
   
Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394

|
Наткнулся на несоответствие в библиотеке UNIMACRO и template ISE 13.1. В макросе ADDMACC_MACRO в template PREADDER1 и PREADDER2 Код -- ADDMACC_MACRO : In order to incorporate this function into the design, -- VHDL : the following instance declaration needs to be placed -- instance : in the architecture body of the design code. The -- declaration : (ADDMACC_MACRO_inst) and/or the port declarations -- code : after the "=>" assignment maybe changed to properly -- : reference and connect this function to the design. -- : All inputs and outputs must be connected.
-- Library : In addition to adding the instance declaration, a use -- declaration : statement for the UNISIM.vcomponents library needs to be -- for : added before the entity declaration. This library -- Xilinx : contains the component declarations for all Xilinx -- primitives : primitives and points to the models that will be used -- : for simulation.
-- Copy the following four statements and paste them before the -- Entity declaration, unless they already exist.
Library UNISIM; use UNISIM.vcomponents.all;
Library UNIMACRO; use UNIMACRO.vcomponents.all; -- <-----Cut code below this line and paste into the architecture body---->
-- ADDMACC_MACRO: Add and Multiple Accumulate Function implemented in a DSP48E -- Virtex-6 -- Xilinx HDL Language Template, version 13.1
ADDMACC_MACRO_inst : ADDMACC_MACRO generic map ( DEVICE => "VIRTEX6", -- Target Device: "VIRTEX6", "SPARTAN6" LATENCY => 4, -- Desired clock cycle latency, 1-4 WIDTH_PREADD => 25, -- Pre-Adder input bus width, 1-25 WIDTH_MULTIPLIER => 18, -- Multiplier input bus width, 1-18 WIDTH_PRODUCT => 48) -- MACC output width, 1-48 port map ( PRODUCT => PRODUCT, -- MACC result output, width defined by WIDTH_PRODUCT generic MULTIPLIER => MULTIPLIER, -- Multiplier data input, width determined by WIDTH_MULTIPLIER generic PREADDER1 => PREADDER1, -- Preadder data input, width determined by WIDTH_PREADDER generic PREADDER2 => PREADDER2, -- Preadder data input, width determined by WIDTH_PREADDER generic CARRYIN => CARRYIN, -- 1-bit carry-in input CE => CE, -- 1-bit input clock enable CLK => CLK, -- 1-bit clock input LOAD => LOAD, -- 1-bit accumulator load input LOAD_DATA => LOAD_DATA, -- Accumulator load data input, width defined by WIDTH_PRODUCT generic RST => RST -- 1-bit input active high synchronous reset ); -- End of ADDMACC_MACRO_inst instantiation а в библиотеке PREADD1 и PREADD2 Код ----- CELL ADDMACC_MACRO -----
library IEEE; use ieee.std_logic_1164.ALL; use ieee.numeric_std.ALL; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all;
library UNISIM; use UNISIM.vcomponents.all;
library STD; use STD.TEXTIO.ALL;
entity ADDMACC_MACRO is generic ( DEVICE : string := "VIRTEX6"; LATENCY : integer := 4; WIDTH_PREADD : integer := 25; WIDTH_MULTIPLIER : integer := 18; WIDTH_PRODUCT : integer := 48 );
port ( PRODUCT : out std_logic_vector(WIDTH_PRODUCT-1 downto 0); CARRYIN : in std_logic; CE : in std_logic; CLK : in std_logic; MULTIPLIER : in std_logic_vector(WIDTH_MULTIPLIER-1 downto 0); LOAD : in std_logic; LOAD_DATA : in std_logic_vector(WIDTH_PRODUCT-1 downto 0); PREADD1 : in std_logic_vector(WIDTH_PREADD-1 downto 0); PREADD2 : in std_logic_vector(WIDTH_PREADD-1 downto 0); RST : in std_logic ); end entity ADDMACC_MACRO; ЗЫ: ИМХО, есть смысл тему перекинуть в "среды разработки".
Сообщение отредактировал faa - Mar 15 2011, 07:02
|
|
|
|
|
Mar 15 2011, 07:17
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
млин....опять, очередная... мне вот очень нравится как хилые выбрасывают из своих либ модули( память, фифо, умножители) старых версий... так потихому. проверяю разные проекты, как итог нужно держать либы от разных версий, начиная от 10х до.. не понятно что мешает держать враперы общие для всех.
--------------------
Cogito ergo sum
|
|
|
|
|
Mar 18 2011, 08:40
|
Знающий
   
Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543

|
Спасибо! А для Virtex-6? У S6 всё-таки аппаратные блоки, немного другой коленкор  .
|
|
|
|
|
Mar 18 2011, 11:56
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Код Generating Report ...
Fatal Error.Occurred at file XXX.twx, line 340, column 320811. An exception occurred! Type:UTFDataFormatException, Message:invalid bytes Г , [ of 3-byte sequence. Number of warnings: 0 Total time: 6 secs
Process "Generate Post-Place & Route Static Timing" completed successfully  PS После отключения многопоточности и очистки проекта вроде заработало. Видимо, многопоточность в 13.1 просто нерабочая. Из небольших глюков еще. В 13.1 декларирована полная поддержка VHDL до уровня элаборейшина. Так что можно написать алиас для пакета и сложное имя с ним, и синтезатор должен понять. И, действительно, синтезатор понимает, не знаю, насколько безглюкаво, но вот только команда "Check syntax" выдает ошибку, что такой пакет отсутствует.
--------------------
Пишите в личку.
|
|
|
|
|
Mar 18 2011, 12:22
|

Группа: Участник
Сообщений: 14
Регистрация: 13-12-10
Из: BS
Пользователь №: 61 587

|
а какой тогда из последних ISE самый стабильный? 12.4 нормальный?
|
|
|
|
|
Mar 18 2011, 12:48
|
Знающий
   
Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543

|
А Вы с какими семействами работаете? Если не выше V5, то я бы посоветовал 11.5. Если с S6 хотите, то в моём понимании минимум 12.3, да и то есть информация, что даже в ней не совсем корректные временные характеристики для S6. Если V6, то например документация на нее периодически выдает фразы типа "рекомендуем 13.1, такие-то характеристики там уточнены". В общем, лично я жду 13.2, а лучше 13.3  .
|
|
|
|
|
Mar 18 2011, 13:01
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(Koluchiy @ Mar 18 2011, 15:48)  Если с S6 хотите, то в моём понимании минимум 12.3, да и то есть информация, что даже в ней не совсем корректные временные характеристики для S6. Если V6, то например документация на нее периодически выдает фразы типа "рекомендуем 13.1, такие-то характеристики там уточнены". В общем, лично я жду 13.2, а лучше 13.3  . Под S6 ISE 13.1 синтезирует лучше. Уж не знаю, в чём дело, то ли оптимизаторы лучше работают, то ли времянка точнее. Но глюкавый... Врочем, на ошибки при трансляции проекта я пока еще не нарывался.
--------------------
Пишите в личку.
|
|
|
|
|
Mar 18 2011, 13:09
|

Группа: Участник
Сообщений: 14
Регистрация: 13-12-10
Из: BS
Пользователь №: 61 587

|
Цитата(Koluchiy @ Mar 18 2011, 16:48)  А Вы с какими семействами работаете? Если не выше V5, то я бы посоветовал 11.5. Если с S6 хотите, то в моём понимании минимум 12.3, да и то есть информация, что даже в ней не совсем корректные временные характеристики для S6. Если V6, то например документация на нее периодически выдает фразы типа "рекомендуем 13.1, такие-то характеристики там уточнены". В общем, лично я жду 13.2, а лучше 13.3  . Спасибо. качну 11.5 и буду ждать 13.4
|
|
|
|
|
Mar 19 2011, 05:04
|
Знающий
   
Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394

|
Цитата(disel @ Mar 18 2011, 16:53)  А изменения в работе есть? И в какую сторону? На досуге прогоню через 12.4. О результатах сообщу. UPD: ну как-то так
Сообщение отредактировал faa - Mar 19 2011, 13:58
|
|
|
|
|
Mar 28 2011, 15:03
|

High speed digital design
  
Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786

|
12.4 эту конструкцию разворачивал, а 13.1 нет Код genvar i; generate for (i=0; i < 31; i=i+1) begin: lbl sync s( .in_async(err_in[i]),.out_sync(err_in_synced[i]),.clk(clk)); always @(posedge clk or posedge reset) if (reset) err[i]<=1'b0; else if (err_in_synced[i]==1'b1)err[i]<=1'b1; assign ERR_IRQ = ~(ERR_IRQ|err[i]); end endgenerate
--------------------
|
|
|
|
|
Mar 28 2011, 15:11
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(vugluskr @ Mar 29 2011, 00:03)  12.4 эту конструкцию разворачивал, а 13.1 нет Код genvar i; generate ... assign ERR_IRQ = ~(ERR_IRQ|err[i]); end endgenerate а какой смысл пихать в генерате assign ERR_IRQ = ~(ERR_IRQ|err[i]);? это ж вроде асинхронный луп? или где то ещё есть присвоение для ERR_IRQ?
--------------------
Cogito ergo sum
|
|
|
|
|
Mar 28 2011, 15:15
|

High speed digital design
  
Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786

|
Цитата(Postoroniy_V @ Mar 28 2011, 18:11)  а какой смысл пихать в генерате assign ERR_IRQ = ~(ERR_IRQ|err[i]);? это ж вроде асинхронный луп? или где то ещё есть присвоение для ERR_IRQ? смысл чтобы не писать assign ERR_IRQ = err[0]|err[1]|err[2]....err[30]|err[31] я в офигении, это во первых не правильно, а во вторых, почему 12.4 это пропускал?
--------------------
|
|
|
|
|
Mar 28 2011, 15:43
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(vugluskr @ Mar 29 2011, 00:15)  смысл чтобы не писать assign ERR_IRQ = err[0]|err[1]|err[2]....err[30]|err[31]
я в офигении, это во первых не правильно, а во вторых, почему 12.4 это пропускал? ну..вы блин даёте! assign ERR_IRQ = |err; изучите Unary, Bitwise and Reduction Operators http://eesun.free.fr/DOC/VERILOG/verilog_manual1.html
--------------------
Cogito ergo sum
|
|
|
|
|
Mar 28 2011, 17:14
|

High speed digital design
  
Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786

|
Цитата(Postoroniy_V @ Mar 28 2011, 18:43)  ну..вы блин даёте! assign ERR_IRQ = |err; изучите Unary, Bitwise and Reduction Operators http://eesun.free.fr/DOC/VERILOG/verilog_manual1.htmlда, это не мой код... даже не в этом вопрос и непонятка - какого фига ЭТО проходило компиляцию раньше??? Как это получилось, почему в 12.4 проект скомпилировался?
--------------------
|
|
|
|
|
Mar 28 2011, 19:26
|

High speed digital design
  
Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786

|
только у меня тормозня такая на 13.1 при генерации IP ядер или еще кто-нибудь заметил это (всравнении с 12.4)? да уж... беру проверенный проект из 12.4, портирую, перекомпилирую корки, включаю проект на имплементейшн. В консоли: Код Regenerate Core - cmos_mem: All required files are available.
Process "Regenerate Core" completed successfully Regenerate Core - FIFO_CMOS: All required files are available.
Process "Regenerate Core" completed successfully Regenerate Core - CLK_GEN: All required files are available.
Process "Regenerate Core" completed successfully Regenerate Core - ddr2ctl: All required files are available.
Process "Regenerate Core" failed Regenerate Core - ICON_bud_cs4_cs5: All required files are available.
Process "Regenerate Core" completed successfully Regenerate Core - ILA_bud_cs4_cs5: All required files are available.
Process "Regenerate Core" completed successfully и все процесс останавливается - никаких сообщений об ошибках нет. Естественно я заметил в консоли это Код Process "Regenerate Core" failed Regenerate Core - ICON_bud_cs4_cs5: All required files are available. корку перегенерил еще раз с учетом, что она Producted - результат тот же, WTF?
--------------------
|
|
|
|
|
Apr 6 2011, 13:08
|
Знающий
   
Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543

|
Граждане, а умеет ли Impact в 13.1 работать с SPI-флешками объемом 256 Мбит? Имеется в виду флешка, с которой грузится ПЛИС. В списке совместимости от 12.1 (последний на сайте Xilinx) максимальный объем SPI-флешки - 128МБит, но это же было год назад  .
|
|
|
|
|
Aug 19 2011, 08:45
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-08-11
Пользователь №: 66 659

|
Цитата(Koluchiy @ Apr 6 2011, 17:08)  Граждане, а умеет ли Impact в 13.1 работать с SPI-флешками объемом 256 Мбит? Имеется в виду флешка, с которой грузится ПЛИС. В списке совместимости от 12.1 (последний на сайте Xilinx) максимальный объем SPI-флешки - 128МБит, но это же было год назад  . Такая добавлена уже в 13.2. Встречный вопрос, а у вас вообще получается грузиться из SPI флеши, хоть какой-нибудь? У меня получается туда только конфигурацию загнать и программку(бутлоадер), которая влазит в блочную память, а как туда еще "прямыми" способами запихать основную программку, не знаю. Т.е. знаю, но когда согласно Хелпу на iMpact делаю, он в последний момент просто вылетает. Есть еще другие способы преобразовать .elf file to .mcs?
|
|
|
|
|
Aug 25 2011, 14:27
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-08-11
Пользователь №: 66 659

|
Цитата(Koluchiy @ Aug 19 2011, 16:26)  Что Вы подразумеваете под основной программой? Имел в виду не бутлоадер, а программку, которую он грузит. Но вообще я во всем разобрался. Так что не стоит беспокойств.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|