User`s manual
391 ///////////////////////////////////////////////////////////////////////////////////////////////////
392 wire acc_ready;
393 wire signed [15:0] acc_x;
394 wire signed [15:0] acc_y;
395 reg signed [15:0] acc_x_reg;
396 reg signed [15:0] acc_y_reg;
397 acc a(.clk(sys_clk), .sdo(user1[0]), .reset(reset),
398 .ncs(user1[1]), .sda(user1[2]), .scl(user1[3]),
399 .ready(acc_ready), .x(acc_x), .y(acc_y));
400
401 always @(posedge slow_clk) begin
402 acc_x_reg <= acc_ready ? acc_x : 0;
403 acc_y_reg <= acc_ready ? acc_y : 0;
404 end
405
406 wire[11:0] accel_val;
407 wire[75:0] quad_corners;
408 wire[9:0] x1_raw;
409 wire[8:0] y1_raw;
410 wire[9:0] x2_raw;
411 wire[8:0] y2_raw;
412 wire[9:0] x3_raw;
413 wire[8:0] y3_raw;
414 wire[9:0] x4_raw;
415 wire[8:0] y4_raw;
416 wire[9:0] x1;
417 wire[8:0] y1;
418 wire[9:0] x2;
419 wire[8:0] y2;
420 wire[9:0] x3;
421 wire[8:0] y3;
422 wire[9:0] x4;
423 wire[8:0] y4;
424 wire[9:0] display_x;
425 wire[8:0] display_y;
426 assign accel_val = {~acc_x_reg[15], acc_x_reg[7:4], 1’b0,
427 ~acc_y_reg[15], acc_y_reg[7:4], 1’b0};
428 accel_lut accel_lut(.clk(slow_clk),
429 .accel_val(accel_val),
430 .quad_corners(quad_corners));
431 assign y4_raw = quad_corners[8:0];
432 assign x4_raw = quad_corners[18:9];
433 assign y3_raw = quad_corners[27:19];
434 assign x3_raw = quad_corners[37:28];
435 assign y2_raw = quad_corners[46:38];
436 assign x2_raw = quad_corners[56:47];
97