|
|
  |
Структура двоичного умножителя, Не уверен правильный ли форум выбрал, может больше отностиься к матема |
|
|
|
May 2 2007, 14:01
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Саша Z @ May 2 2007, 14:29)  А например при реализации умножителя в FPGA либо в ASIC - неужели дизайнер описывает приведенные выше алгоритмы ? Ну вот еще. дизайнер описывает "a=b*c", а синтезатоh исходя из констрейнов выбирает наиболее подходящую реализацию. Как правило полностью автоматически. И не только разложения умножителя, а и сумматоров, вычитателей и прочей арифметики. Более того, ситезаторы могут уметь понимать всякие аттрибуты, указывающие на желаемую схему разложения. Вот пример для синопсиса, верилога и ручного указания имплементации: Код always @(in1 or in2) begin /* synopsys resource r0: map_to_module = ”DW01_add”, implementation = ”cla”, ops = ”a1”; */ sum <= in1 + in2; //synopsys label a1 end тут синтезатору явно задается, что надо для операции, помеченной меткой "a1" использовать модуль DW01_add из синтетической библиотеки, причем выбрать имплементацию "CLA" - "Carry Look-Ahead".
|
|
|
|
|
May 2 2007, 14:13
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(SM @ May 2 2007, 15:01)  Ну вот еще. дизайнер описывает "a=b*c", а синтезатоh исходя из констрейнов выбирает наиболее подходящую реализацию. Как правило полностью автоматически. И не только разложения умножителя, а и сумматоров, вычитателей и прочей арифметики. Более того, ситезаторы могут уметь понимать всякие аттрибуты, указывающие на желаемую схему разложения. Вот пример для синопсиса, верилога и ручного указания имплементации: Код always @(in1 or in2) begin /* synopsys resource r0: map_to_module = ”DW01_add”, implementation = ”cla”, ops = ”a1”; */ sum <= in1 + in2; //synopsys label a1 end тут синтезатору явно задается, что надо для операции, помеченной меткой "a1" использовать модуль DW01_add из синтетической библиотеки, причем выбрать имплементацию "CLA" - "Carry Look-Ahead". Ага, понял, спасибо. Значит реализация была головной болью создателей синтезаторов, им нужно было закладывать в tool различные виды имплементации.
|
|
|
|
|
May 2 2007, 14:20
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Саша Z @ May 2 2007, 15:13)  Значит реализация была головной болью создателей синтезаторов, им нужно было закладывать в tool различные виды имплементации. Да, именно. Хотя Вас никто ограничивать не станет, если захотите написать что-то полностью свое  Только закладывают их все таки не сколько в tool, это я не совсем правильно выразился, а обычно пишут параметризованные ф-ции, которые уже синтезатор и подставляет на место операторов HDL. У альтеры например LPM_xxxx, у синопсиса - DWxx-yyyyyy, и т.п.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|