|
Умножитель signed/unsigned 64bit |
|
|
|
Dec 29 2006, 18:09
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995

|
 Может кто видел умножители 64бит целых знаковых и беззнаковых чисел. Или какое-нибудь законченное решение откуда его можно выдрать. язык Verilog-2001. Был бы очень благодарен.  чесно говоря есть 32 разрядный можно былобы его немного расширить, но за такой код убить мало, ничего не понятно не хочется изобретать велосипеды и кроме того похоже на умножение столбиком какое-то
|
|
|
|
|
 |
Ответов
|
Jan 5 2007, 10:29
|
Местный
  
Группа: Свой
Сообщений: 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 сможет растащить их в промежуточные точки не нарушая логику работы схемы Если можна с этого места поподробнее. Как добавить регистров Синплифай мог разбросать?? Код в студию!!! ;) Например, для 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"
|
|
|
|
|
Jan 5 2007, 16:30
|

Местный
  
Группа: Свой
Сообщений: 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 Это точно так делается?? Где про это можно почитать??? Я сделал вашу схему и у меня просто умножитель и триггеры на его выходе. Синплифай в РТЛ схематике должен показывать что он разбросал схему или нет???
|
|
|
|
|
Jan 6 2007, 10:14
|
Местный
  
Группа: Свой
Сообщений: 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) чтобы он был вынужден уменьшать время между регистрами.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|