реклама на сайте
подробности

 
 
> Умножитель signed/unsigned 64bit
Mad-man
сообщение Dec 29 2006, 18:09
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995



help.gif Может кто видел умножители 64бит целых знаковых и беззнаковых чисел.
Или какое-нибудь законченное решение откуда его можно выдрать.
язык Verilog-2001.

Был бы очень благодарен. cheers.gif

чесно говоря есть 32 разрядный можно былобы его немного расширить,
но за такой код убить мало, ничего не понятно angry.gif
не хочется изобретать велосипеды
и кроме того похоже на умножение столбиком какое-то cranky.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
cupertino
сообщение Jan 5 2007, 10:29
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683



Цитата(-=Vitaly=- @ Jan 5 2007, 10:09) *
Цитата(cupertino @ Jan 5 2007, 09:41) *

Цитата(Terminator @ Jan 5 2007, 05:46) *

...
Цитата(Terminator @ Jan 4 2007, 09:13) *

Симплифи, при соблюдении некоторых условий, синтезирует вполне быстрый умножитель. В квартусе, если надо быстрый, то без lpm_mult не обойтись. Может есть и более удачные варианты, я не встречал.


Забыл написать. Говоря про быстрый умножитель, я имел ввиду умножитель с конвейером.

P. S. почему-то нет кнопочки "изменить" ...


Чтобы Synplify синтезировал умножитель с конвеером, надо в придеденный код добавить регистров на выходе, только тогда Synplify сможет растащить их в промежуточные точки не нарушая логику работы схемы

a14.gif

Если можна с этого места поподробнее. Как добавить регистров Синплифай мог разбросать?? help.gif
Код в студию!!! ;)


Например, для 3-ступенчатого конвеера:

Код
wire [W_A-1:0] a;
wire [W_B-1:0] b;
reg [W_A+W_B-1:0] q0, g1, q;

always @(posedge clock) begin
     q0 <= a * b;
     q1 <= q0;
     q <= q1;
end


и в "Imp Options" -> "Options" разрешить "Pipelining"
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение Jan 5 2007, 16:30
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Например, для 3-ступенчатого конвеера:

Код
wire [W_A-1:0] a;
wire [W_B-1:0] b;
reg [W_A+W_B-1:0] q0, g1, q;

always @(posedge clock) begin
     q0 <= a * b;
     q1 <= q0;
     q <= q1;
end



Это точно так делается?? Где про это можно почитать??? Я сделал вашу схему и у меня просто умножитель и триггеры на его выходе. Синплифай в РТЛ схематике должен показывать что он разбросал схему или нет???
Go to the top of the page
 
+Quote Post
cupertino
сообщение Jan 6 2007, 10:14
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683



Цитата(-=Vitaly=- @ Jan 5 2007, 16:30) *
Например, для 3-ступенчатого конвеера:

Код
wire [W_A-1:0] a;
wire [W_B-1:0] b;
reg [W_A+W_B-1:0] q0, g1, q;

always @(posedge clock) begin
     q0 <= a * b;
     q1 <= q0;
     q <= q1;
end



Это точно так делается?? Где про это можно почитать??? Я сделал вашу схему и у меня просто умножитель и триггеры на его выходе. Синплифай в РТЛ схематике должен показывать что он разбросал схему или нет???


Чтобы заставить Synplify (Synplify Pro или Premier только) прооптимизировать схему его надо прижать - нарисовать желаемую частоту и поставить регистры на входе тоже (т.е. об'явить a и b reg и положить их внутрь always) чтобы он был вынужден уменьшать время между регистрами.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Mad-man   Умножитель signed/unsigned 64bit   Dec 29 2006, 18:09
- - Terminator   Такой вариант устроит? Кодwire [W_A-1:0...   Jan 3 2007, 09:30
|- - klop   Цитата(Terminator @ Jan 3 2007, 09:30) Та...   Jan 3 2007, 22:29
|- - Самурай   Цитата(Mad-man @ Dec 29 2006, 18:09)...   Jan 4 2007, 01:32
|- - Terminator   Цитата(klop @ Jan 4 2007, 01:29) Цитата(T...   Jan 4 2007, 06:13
|- - Terminator   ... Цитата(Terminator @ Jan 4 2007, 09:13...   Jan 5 2007, 05:46
|- - cupertino   Цитата(Terminator @ Jan 5 2007, 05:46) .....   Jan 5 2007, 08:41
|- - -=Vitaly=-   Цитата(cupertino @ Jan 5 2007, 09:41) Цит...   Jan 5 2007, 10:09
- - 3.14   Только вот разные синтезаторы директивы signed/uns...   Jan 3 2007, 10:18
- - Евгений Николаев   А если подойти к этой задаче несколько иначе... Ес...   Jan 4 2007, 15:20
- - Gate   У меня сложилось впечатление, что любой нормальный...   Jan 4 2007, 22:59
- - ALeksey_ZX   В ise есть файлик xst.pdf с примерами и описанием ...   Jan 6 2007, 00:53
- - Gate   Цитата(-=Vitaly=- @ Jan 5 2007, 16...   Jan 6 2007, 01:25
|- - -=Vitaly=-   Цитата(Gate @ Jan 6 2007, 02:25) Цитата(...   Jan 6 2007, 10:01


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016