Перейти к содержанию
    

Торможение при запуске синтеза

Xilinx XST (ISE 9.2) тормозит при запуске синтеза. Может кто встречался с проблемой или знает способ решения.

 

В синтезируемом модуле много generic'ов мож в этом дело...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно воспользоваться другим синтезатором - Synplify/Leonardo/Precision, или ждать очередных обновлений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновления стоят последние. Precision не нравится принципиально, т.к. предъявляет слишком жесткие требования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновления стоят последние. Precision не нравится принципиально, т.к. предъявляет слишком жесткие требования.

В чем жесткость заключается? XST относительно молодой синтезатор и то, что он генерит сложно проверить, развиваться он будет еще долго.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Precision отвечает на строку в коде

int_rd_state(DATA_WIDTH*(int_rd_en_ind+1)-1 downto DATA_WIDTH*int_rd_en_ind);

где

signal int_rd_state: std_logic_vector(...);
signal int_rd_en_ind: integer;

ошибкой:

Slice indices should be static. Continuing ...

... в то время как XST спокойно синтезирует...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мультиплексоры следует описывать корректно. в вашем случае можно через loop или generate.

Я считаю что пресижн правильно ругается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ругается может быть и правильно, но конструкция синтезируема - почему бы ее не синтезировать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

но конструкция синтезируема

Если синтезируется - значит синтезируемая, если не синтезируется значит - не синтезируемая :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скомпилировал такой код:

 

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity test is
  generic(
    DATA_WIDTH : integer := 8
  );
  port(
    clk       : in  std_logic;
    q         : out std_logic_vector(DATA_WIDTH-1 downto 0)
  );
end test;

architecture test_arch of test is
  signal int_rd_state: std_logic_vector(DATA_WIDTH*2-1 downto 0) := (others => '0');
  signal int_rd_en_ind: integer;
begin
  int_rd_en_ind <= 1;
  q <= int_rd_state(DATA_WIDTH*(int_rd_en_ind+1)-1 downto DATA_WIDTH*int_rd_en_ind);
end test_arch;

 

Никаких ошибок и варнингов (Precision Synthesis 2006a.112).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Код не совсем такой, версия 2005a.69. Но все-таки по теме про XST никто не сталкивался?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таком случае синтезируемое подмножество у XST шире. :)

шире не значит лучше.

в XST много отступлений от стандартов: когда станете заниматься серьёзно HDL-кодингом, то взвоете от того, что код прийдётся переписывать под требования стандартов.

 

в качестве примера: XST берёт такую несинтезируемую системную процедуру, как $readmem (верилог).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я им уже занимаюсь.Слава богу, про стандарты знаю пока только я, больше это никого не волнует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Xilinx XST (ISE 9.2) тормозит при запуске синтеза.

С кодом тормоза не связаны. Нужно ставить самый низкий приоритет xst.exe Вручную, через Диспетчер задач получается, а как сделать постоянно не знаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. Вы хотите сказать, что если дать низший приоритет, то xst будет работать быстрее? Парадоксально, но попробую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...