|
|
|
|
The forum was founded in 2009 by Satoshi and Sirius. It replaced a
SourceForge forum.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
lordfantom (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
 |
April 24, 2013, 07:40:56 AM |
|
ну что никто на Verilog не пишет что ли )) нужно то вот этот модуль отрисовать )))
module sha256_digester (clk, k, rx_w, rx_state, tx_w, tx_state);
input clk; input [31:0] k; input [511:0] rx_w; input [255:0] rx_state;
output reg [511:0] tx_w; output reg [255:0] tx_state;
wire [31:0] e0_w, e1_w, ch_w, maj_w, s0_w, s1_w;
e0 e0_blk (rx_state[`IDX(0)], e0_w); e1 e1_blk (rx_state[`IDX(4)], e1_w); ch ch_blk (rx_state[`IDX(4)], rx_state[`IDX(5)], rx_state[`IDX(6)], ch_w); maj maj_blk (rx_state[`IDX(0)], rx_state[`IDX(1)], rx_state[`IDX(2)], maj_w); s0 s0_blk (rx_w[63:32], s0_w); s1 s1_blk (rx_w[479:448], s1_w);
wire [31:0] t1 = rx_state[`IDX(7)] + e1_w + ch_w + rx_w[31:0] + k; wire [31:0] t2 = e0_w + maj_w; wire [31:0] new_w = s1_w + rx_w[319:288] + s0_w + rx_w[31:0];
reg [511:0] w_buf = 0, w_buf2 = 0; reg [255:0] state_buf = 0, state_buf2 = 0;
always @ (posedge clk) begin w_buf[511:480] <= new_w; w_buf[479:0] <= rx_w[511:32];
state_buf[`IDX(7)] <= rx_state[`IDX(6)]; state_buf[`IDX(6)] <= rx_state[`IDX(5)]; state_buf[`IDX(5)] <= rx_state[`IDX(4)]; state_buf[`IDX(4)] <= rx_state[`IDX(3)] + t1; state_buf[`IDX(3)] <= rx_state[`IDX(2)]; state_buf[`IDX(2)] <= rx_state[`IDX(1)]; state_buf[`IDX(1)] <= rx_state[`IDX(0)]; state_buf[`IDX(0)] <= t1 + t2;
{w_buf2, state_buf2} <= {w_buf, state_buf}; {tx_w, tx_state} <= {w_buf2, state_buf2}; end
|
|
|
|
Xtc
Legendary
Offline
Activity: 1971
Merit: 1028
;u
|
 |
April 24, 2013, 11:26:45 AM |
|
ну что никто на Verilog не пишет что ли )) Видимо только на VHDL 
|
|
|
|
|
legonxt
Newbie
Offline
Activity: 3
Merit: 0
|
 |
April 25, 2013, 02:04:19 PM |
|
ну что никто на Verilog не пишет что ли )) Видимо только на VHDL  а какой-нить другой проект на фпга перенести ктонить возьмется? у меня даже исходники примерочные какие-то есть. и ФПГА. 
|
|
|
|
lordfantom (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
 |
April 26, 2013, 03:46:31 AM |
|
Исходник на чем написан  ?
|
|
|
|
asion
Newbie
Offline
Activity: 24
Merit: 0
|
 |
April 27, 2013, 10:38:16 AM |
|
lordfantom, какие результаты получились?
|
|
|
|
lordfantom (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
 |
May 09, 2013, 01:32:42 PM |
|
Результат один для куска SHA256 а их там 8 штук (DIGESTER) требуется около 3500 ЛЯ Spartan-6 LX9 или LX9 как раз подходит ))) остается их только собрать как то вместе )))
|
|
|
|
asion
Newbie
Offline
Activity: 24
Merit: 0
|
 |
May 09, 2013, 08:52:41 PM |
|
Хм, всего 3к5 лялов... Я для альтеры собирал прожект с опенсорсного фпгаминера, который для DE-115, так там >70К вышло. Не разбирался правда почему )
|
|
|
|
lordfantom (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
 |
May 10, 2013, 06:16:49 PM |
|
Все правильно для запуска только ядра SHA 256 надо 28 к ЛЯ ))) в битке их два + простой RS232 )))
идея в том что бы разделить модули ( 8 штук ) на разные физ FPGA (желательно дешевые) + поднятие частоты
|
|
|
|
asion
Newbie
Offline
Activity: 24
Merit: 0
|
 |
May 10, 2013, 06:28:40 PM |
|
Так гелионовский fast hash core для циклона 1281 LEs юзает, если даташиту верить. чето гдето не вьезжаю )
|
|
|
|
lordfantom (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
 |
May 10, 2013, 07:19:08 PM |
|
заместо SPARTAN 6 LX 150 8 LX 4 или 9 так понятно
|
|
|
|
asion
Newbie
Offline
Activity: 24
Merit: 0
|
 |
May 10, 2013, 08:22:45 PM |
|
Это то понятно. я про другое..
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
 |
May 11, 2013, 06:06:58 AM |
|
Может там не тупо развернуты циклы в одну большую портянку, а по мудрее, наоборот циклы оставлены, но проходят они за один такт?
|
|
|
|
asion
Newbie
Offline
Activity: 24
Merit: 0
|
 |
May 11, 2013, 12:05:32 PM |
|
незнаю, на фришное мыло неотвечают, а корп увидят темболее пошлют)
|
|
|
|
lordfantom (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
 |
May 14, 2013, 02:26:06 AM |
|
|
|
|
|
lordfantom (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
 |
May 15, 2013, 04:50:35 AM |
|
Все таки радужные таблицы на sh256 это конечно фантастика но вот на digester(кусок алгоритма ) это вполне возможно т.е.надо перебрать все варианты 64 слов по 32 бита пропущенные через функцию
Основной цикл: для i от 0 до 63 Σ0 := (a rotr 2) xor (a rotr 13) xor (a rotr 22) Ma := (a and b) xor (a and c) xor (b and c) t2 := Σ0 + Ma Σ1 := (e rotr 6) xor (e rotr 11) xor (e rotr 25) Ch := (e and f) xor ((not e) and g) t1 := h + Σ1 + Ch + k + w
h := g g := f f := e e := d + t1 d := c c := b b := a a := t1 + t2
притом что коллизи будут , вопрос сколько их
|
|
|
|
asion
Newbie
Offline
Activity: 24
Merit: 0
|
 |
May 17, 2013, 05:12:56 AM |
|
2^32 вариантов *4 байта /1024/1024/1024 это 16 гигов 1 табла. предварительно посчитать можем только #define Sig0(x) (S(2,x)^S(13,x)^S(22,x)) #define Sig1(x) (S(6,x)^S(11,x)^S(25,x)) #define theta0(x) (S(7,x)^S(18,x)^R(3,x)) #define theta1(x) (S(17,x)^S(19,x)^R(10,x)) где #define S(n,x) (((x)>>n) | ((x)<<(32-n))) #define R(n,x) ((x)>>n)
итого 64гб нужно держать в памяти, так как нужна скорость. Можно конечно попробовать пейджфайл раздуть и сунуть его на шустрый ссд винт, тогда много физ. оперативы не надо.
з.ы. имхо
|
|
|
|
|