The problem is using two "always@(posedge clk)" in main.v from
http://cvs.linuxcnc.org/cvs/emc2/src/hal/drivers/pluto_step_firmware/main.v?rev=1.2
always @(posedge clk)
if(EPP_strobe_edge1 & EPP_write & EPP_addr_strobe) begin
addr_reg <= EPP_datain[4:0];
end
else if(EPP_strobe_edge1 & !EPP_addr_strobe) addr_reg <= addr_reg + 4'd1;
always @(posedge clk) begin
if(EPP_strobe_edge1 & EPP_write & EPP_data_strobe) begin
this way do not garantee that the addr_reg is not changed while sending data
from pluto to pc, have to send 4 byte.