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

 
 
> Сравнение чисел (больше/меньше), Наибыстрый алгоритм
Serega Doc
сообщение Apr 13 2005, 08:54
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Как написать быстрое сравнение безннаковых чисел на больше меньше?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des00
сообщение Apr 15 2005, 03:38
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Serega Doc @ Apr 14 2005, 07:24)
2 des00

А как вы получите знак не выполнив вычитания?
Или
diff<={1'b0, data0}-{1'b0,data1};
-это не 49 битные операнды?
*


Вот этот код

module proj
(
input sys_clk,
input [47:0] data0,
input [47:0] data1,
output sing
);

wire [47:0] data0, data1;
wire sing;

reg [48:0] d;

assign sing = d[48];

always @(posedge sys_clk)
begin
d <= {1'b0,data0} - {1'b0,data1};
end

endmodule

Вот отчеты синтезатора
+-----------------------------------------------------------------------+
; Fitter Summary ;
+-----------------------+-----------------------------------------------+
; Fitter Status ; Successful - Wed Apr 13 17:49:41 2005 ;
; Quartus II Version ; 4.2 Build 178 01/19/2005 SP 1 SJ Full Version ;
; Revision Name ; Bosik ;
; Top-level Entity Name ; Bosik ;
; Family ; Cyclone ;
; Device ; EP1C6F256C8 ;
; Timing Models ; Final ;
; Total logic elements ; 49 / 5,980 ( < 1 % ) ;
; Total pins ; 98 / 185 ( 52 % ) ;
; Total virtual pins ; 0 ;
; Total memory bits ; 0 / 92,160 ( 0 % ) ;
; Total PLLs ; 0 / 2 ( 0 % ) ;
+-----------------------+-----------------------------------------------+
+---------------------------------------------------------------------------------------------------------------------------------------------------+
; Timing Analyzer Summary ;
+------------------------------+-------+---------------+-------------+-------------------+-------------------+------------+----------+--------------+
; Type ; Slack ; Required Time ; Actual Time ; From ; To ; From Clock ; To Clock ; Failed Paths ;
+------------------------------+-------+---------------+-------------+-------------------+-------------------+------------+----------+--------------+
; Worst-case tsu ; N/A ; None ; 8.629 ns ; B[19] ; Compar:inst|d[48] ; ; Clock ; 0 ;
; Worst-case tco ; N/A ; None ; 8.353 ns ; Compar:inst|d[48] ; AGB ; Clock ; ; 0 ;
; Worst-case th ; N/A ; None ; -1.691 ns ; A[39] ; Compar:inst|d[48] ; ; Clock ; 0 ;
; Total number of failed paths ; ; ; ; ; ; ; ; 0 ;
+------------------------------+-------+---------------+-------------+-------------------+-------------------+------------+----------+--------------+

При запросе максимальной тактовой в 475 метров
квартус ругнулся
Clock Setup: 'Clock' N/A 475.06 MHz ( period = 2.105 ns ) Restricted to 275.03 MHz ( period = 3.636 ns ) Compar:inst|d[48] AGB Clock Cloc

вот еще оттуда

Info: Clock "Clock" Internal fmax is restricted to 275.03 MHz between source register "Compar:inst|d[48]" and destination register "AGB"
Info: fmax restricted to Clock High delay (1.818 ns) plus Clock Low delay (1.818 ns) : restricted to 3.636 ns. Expand message to see actual delay path.
Info: + Longest register to register delay is 1.049 ns
Info: 1: + IC(0.000 ns) + CELL(0.000 ns) = 0.000 ns; Loc. = LC_X33_Y14_N9; Fanout = 1; REG Node = 'Compar:inst|d[48]'
Info: 2: + IC(0.740 ns) + CELL(0.309 ns) = 1.049 ns; Loc. = LC_X32_Y14_N0; Fanout = 0; REG Node = 'AGB'
Info: Total cell delay = 0.309 ns ( 29.46 % )
Info: Total interconnect delay = 0.740 ns ( 70.54 % )
Info: - Smallest clock skew is 0.000 ns
Info: + Shortest clock path from clock "Clock" to destination register is 2.962 ns
Info: 1: + IC(0.000 ns) + CELL(1.469 ns) = 1.469 ns; Loc. = PIN_H1; Fanout = 2; CLK Node = 'Clock'
Info: 2: + IC(0.782 ns) + CELL(0.711 ns) = 2.962 ns; Loc. = LC_X32_Y14_N0; Fanout = 0; REG Node = 'AGB'
Info: Total cell delay = 2.180 ns ( 73.60 % )
Info: Total interconnect delay = 0.782 ns ( 26.40 % )
Info: - Longest clock path from clock "Clock" to source register is 2.962 ns
Info: 1: + IC(0.000 ns) + CELL(1.469 ns) = 1.469 ns; Loc. = PIN_H1; Fanout = 2; CLK Node = 'Clock'
Info: 2: + IC(0.782 ns) + CELL(0.711 ns) = 2.962 ns; Loc. = LC_X33_Y14_N9; Fanout = 1; REG Node = 'Compar:inst|d[48]'
Info: Total cell delay = 2.180 ns ( 73.60 % )
Info: Total interconnect delay = 0.782 ns ( 26.40 % )
Info: + Micro clock to output delay of source is 0.224 ns
Info: + Micro setup delay of destination is 0.037 ns


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Serega Doc   Сравнение чисел (больше/меньше)   Apr 13 2005, 08:54
- - Anton_org   Вот простой вариант для 48 разрядных чиселок....   Apr 13 2005, 09:04
- - Serega Doc   Что синтезированная схема сравнения будет медленне...   Apr 13 2005, 11:52
|- - des00   Цитата(Serega Doc @ Apr 13 2005, 06:52)Что си...   Apr 13 2005, 11:55
- - acex2   Цитата(Serega Doc @ Apr 13 2005, 05:54)Как на...   Apr 13 2005, 13:41
- - Serega Doc   Не знаю как отдельно но в блоке простое сравнение ...   Apr 13 2005, 13:47
|- - des00   Цитата(Serega Doc @ Apr 13 2005, 08:47)Не зна...   Apr 14 2005, 02:48
- - Yra   Если не жалко функциональных генераторов, делаем н...   Apr 13 2005, 18:06
- - belena7   Ispolzui MegaFunction ona optimizirovana imenno dl...   Apr 14 2005, 05:58
- - Serega Doc   2 belena7 Писал просто A>B скорость 175 MHz По...   Apr 14 2005, 12:24
- - Serega Doc   На самом деле у меня кроме сравнеия еще и простейш...   Apr 22 2005, 07:36
|- - des00   Цитата(Serega Doc @ Apr 22 2005, 02:36)На сам...   Apr 22 2005, 09:09
- - Builder   Я вот открыл свой учебник времён универа, вот что ...   Apr 23 2005, 11:31


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

 


RSS Текстовая версия Сейчас: 4th July 2025 - 10:47
Рейтинг@Mail.ru


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