Attachments
Attachments
Attachments
первая фича - маркер, но необычныйAttachments
первая фича - маркер, но необычныйAttachments
Attachments
Идея в том что ты сначала локально делаешь все что тебе хочется, а потом уже готовый blog.html заливаешь на хостAmbreon866 wrote: Wed Feb 05, 2025 11:31 am статических хостингах NPBlog -> есть файл с PHP.
На статических хостингах нет PHP, или я слишком туп?
Attachments
Идея в том что ты сначала локально делаешь все что тебе хочется, а потом уже готовый blog.html заливаешь на хостAmbreon866 wrote: Wed Feb 05, 2025 11:31 am статических хостингах NPBlog -> есть файл с PHP.
На статических хостингах нет PHP, или я слишком туп?
Attachments
во-во, и я, и я того же мнения.Ftod wrote: Wed Feb 05, 2025 1:51 pmИдея в том что ты сначала локально делаешь все что тебе хочется, а потом уже готовый blog.html заливаешь на хостAmbreon866 wrote: Wed Feb 05, 2025 11:31 am статических хостингах NPBlog -> есть файл с PHP.
На статических хостингах нет PHP, или я слишком туп?
во-во, и я, и я того же мнения.Ftod wrote: Wed Feb 05, 2025 1:51 pmИдея в том что ты сначала локально делаешь все что тебе хочется, а потом уже готовый blog.html заливаешь на хостAmbreon866 wrote: Wed Feb 05, 2025 11:31 am статических хостингах NPBlog -> есть файл с PHP.
На статических хостингах нет PHP, или я слишком туп?
Attachments
Attachments


Идею поддерживаю. Думаю, что предложить в качестве приза.Turboblack wrote: Wed Apr 01, 2026 4:13 pm(а что получит, давайте решит mak, будем надеяться он одобрит затею и что-то предложит)
![]()
Идею поддерживаю. Думаю, что предложить в качестве приза.Turboblack wrote: Wed Apr 01, 2026 4:13 pm(а что получит, давайте решит mak, будем надеяться он одобрит затею и что-то предложит)
![]()
как тебе конкурсанты?
как тебе конкурсанты?
Я как сидела в джаббере (в основном), так и дальше в нем сидеть буду, Если сервера тоже попадут под нож - здравствуй ирц. В самом крайнем случае - бьем по батареям, а ночью мигаем фонариками с окон XD (ооххххх)
Я как сидела в джаббере (в основном), так и дальше в нем сидеть буду, Если сервера тоже попадут под нож - здравствуй ирц. В самом крайнем случае - бьем по батареям, а ночью мигаем фонариками с окон XD (ооххххх)
XD
Я как сидела в джаббере (в основном), так и дальше в нем сидеть буду, Если сервера тоже попадут под нож - здравствуй ирц. В самом крайнем случае - бьем по батареям, а ночью мигаем фонариками с окон XD (ооххххх)
XD
Я как сидела в джаббере (в основном), так и дальше в нем сидеть буду, Если сервера тоже попадут под нож - здравствуй ирц. В самом крайнем случае - бьем по батареям, а ночью мигаем фонариками с окон XD (ооххххх)
Code: Select all
module kbd
(input kbd_clk, kbd_data,
output reg [7:0] scan = 0, output reg scan_ready = 0);
parameter start_bit = 0;
parameter receive_data = 1;
parameter parity = 2;
parameter stop_bit = 3;
reg [7:0] rxdata = 8'd0;
reg [3:0] bitcounter = 4'd0;
reg [1:0] state = 2'd0;
wire kbdclk;
wire kbddata;
assign kbdclk = kbd_clk;
assign kbddata = kbd_data;
always @(negedge kbdclk) begin
case(state)
start_bit: begin
if (kbddata == 1'b1) state = start_bit;
else begin
state <= receive_data;
scan_ready <= 1'b0;
rxdata <= 8'd0;
bitcounter <= 0;
end
end
receive_data: begin
if (bitcounter == 4'b1000) begin
state <= parity;
bitcounter <= 4'd0;
end else begin
bitcounter <= bitcounter + 1;
rxdata <= {kbddata,rxdata[7:1]};
end
end
parity: state <= stop_bit;
stop_bit: begin
if (kbddata == 1'b1) begin
scan = rxdata;
scan_ready <= 1'b1;
state = start_bit;
end else state <= start_bit;
end
default: state <= start_bit;
endcase
end
endmodule Code: Select all
`timescale 1us/1ns
module tb;
reg kbdclk;
reg kbddata;
wire [7:0] scan;
wire scan_ready;
integer i;
reg [10:0] frame;
kbd dut (
.kbd_clk(kbdclk),
.kbd_data(kbddata),
.scan(scan),
.scan_ready(scan_ready)
);
task send_bit(input reg b);
begin
kbddata = b;
#5;
kbdclk = 0;
#5;
kbdclk = 1;
#5;
end
endtask
initial begin
kbdclk = 1;
kbddata = 1;
frame[0] = 1'b0;
frame[1] = 1'b1;
frame[2] = 1'b0;
frame[3] = 1'b1;
frame[4] = 1'b0;
frame[5] = 1'b1;
frame[6] = 1'b0;
frame[7] = 1'b1;
frame[8] = 1'b0;
frame[9] = 1'b1;
frame[10] = 1'b1;
#20;
for (i = 0; i < 11; i = i + 1) send_bit(frame[i]); #50;
end
initial begin
$monitor("t=%0t kbdclk=%b kbddata=%b scan=%b scan_ready=%b state=%0d bitcounter=%0d rxdata=%b",
$time, kbdclk, kbddata, scan, scan_ready,
dut.state, dut.bitcounter, dut.rxdata);
end
endmoduleAttachments
Code: Select all
module kbd
(input kbd_clk, kbd_data,
output reg [7:0] scan = 0, output reg scan_ready = 0);
parameter start_bit = 0;
parameter receive_data = 1;
parameter parity = 2;
parameter stop_bit = 3;
reg [7:0] rxdata = 8'd0;
reg [3:0] bitcounter = 4'd0;
reg [1:0] state = 2'd0;
wire kbdclk;
wire kbddata;
assign kbdclk = kbd_clk;
assign kbddata = kbd_data;
always @(negedge kbdclk) begin
case(state)
start_bit: begin
if (kbddata == 1'b1) state = start_bit;
else begin
state <= receive_data;
scan_ready <= 1'b0;
rxdata <= 8'd0;
bitcounter <= 0;
end
end
receive_data: begin
if (bitcounter == 4'b1000) begin
state <= parity;
bitcounter <= 4'd0;
end else begin
bitcounter <= bitcounter + 1;
rxdata <= {kbddata,rxdata[7:1]};
end
end
parity: state <= stop_bit;
stop_bit: begin
if (kbddata == 1'b1) begin
scan = rxdata;
scan_ready <= 1'b1;
state = start_bit;
end else state <= start_bit;
end
default: state <= start_bit;
endcase
end
endmodule Code: Select all
`timescale 1us/1ns
module tb;
reg kbdclk;
reg kbddata;
wire [7:0] scan;
wire scan_ready;
integer i;
reg [10:0] frame;
kbd dut (
.kbd_clk(kbdclk),
.kbd_data(kbddata),
.scan(scan),
.scan_ready(scan_ready)
);
task send_bit(input reg b);
begin
kbddata = b;
#5;
kbdclk = 0;
#5;
kbdclk = 1;
#5;
end
endtask
initial begin
kbdclk = 1;
kbddata = 1;
frame[0] = 1'b0;
frame[1] = 1'b1;
frame[2] = 1'b0;
frame[3] = 1'b1;
frame[4] = 1'b0;
frame[5] = 1'b1;
frame[6] = 1'b0;
frame[7] = 1'b1;
frame[8] = 1'b0;
frame[9] = 1'b1;
frame[10] = 1'b1;
#20;
for (i = 0; i < 11; i = i + 1) send_bit(frame[i]); #50;
end
initial begin
$monitor("t=%0t kbdclk=%b kbddata=%b scan=%b scan_ready=%b state=%0d bitcounter=%0d rxdata=%b",
$time, kbdclk, kbddata, scan, scan_ready,
dut.state, dut.bitcounter, dut.rxdata);
end
endmoduleAttachments
Я думал об этом, но у меня PCIe слот на 5-й Raspberry занят NVME накопителем, да и к тому же есть компьютер с 3080 Ti, там всяко лучше будет. Но вообще интересно, на что способны эти NPU. Её ещё покупать надо.
Я думал об этом, но у меня PCIe слот на 5-й Raspberry занят NVME накопителем, да и к тому же есть компьютер с 3080 Ti, там всяко лучше будет. Но вообще интересно, на что способны эти NPU. Её ещё покупать надо.
Attachments
Attachments