CLKS per bit pin added
diff --git a/verilog/dv/FPU_Half/FPU_Half.c b/verilog/dv/FPU_Half/FPU_Half.c
index 7a575db..5e98b57 100644
--- a/verilog/dv/FPU_Half/FPU_Half.c
+++ b/verilog/dv/FPU_Half/FPU_Half.c
@@ -65,10 +65,13 @@
// Configure LA probes as inputs to the cpu put zero
// Configure LA probes as outputs from the cpu put one
- reg_la0_oenb = reg_la0_iena = 0x00000000; // configuring as output
+ reg_la0_oenb = reg_la0_iena = 0xFFFF0000; // CLK per Bit input
+ reg_la1_oenb = reg_la1_iena = 0x00000000; // configuring as output
reg_la2_oenb = reg_la2_iena = 0x00000002; // 65 bit as input to user proj and output from cpu for reset
+ reg_la0_data = 0x015C0000; // CLK per bit
reg_la2_data = 0x00000000; // reset
reg_la2_data = 0x00000002;
+
reg_la2_oenb = reg_la2_iena = 0x00000000; // 64 anf 65 bit as input to user proj and output from cpu
//reg_la1_oenb = reg_la1_iena = 0x00000000;
diff --git a/verilog/rtl/FPU/FPU_FSM_TOP.v b/verilog/rtl/FPU/FPU_FSM_TOP.v
index b2f55b8..8095aac 100644
--- a/verilog/rtl/FPU/FPU_FSM_TOP.v
+++ b/verilog/rtl/FPU/FPU_FSM_TOP.v
@@ -62,6 +62,7 @@
// FPU FSM
input clk,
input rst_l,
+ input [15:0] CLKS_PER_BIT,
output [15:0] FPU_hp_result
// FPU FSM
@@ -148,7 +149,7 @@
.i_Clock(clk),
.rst_ni(rst_l),
.i_Rx_Serial(r_Rx_Serial),
- .CLKS_PER_BIT(16'd348),
+ .CLKS_PER_BIT(CLKS_PER_BIT),
.o_Rx_DV(o_Rx_DV),
.o_Rx_Byte(o_Rx_Byte)
);
diff --git a/verilog/rtl/user_proj_example.v b/verilog/rtl/user_proj_example.v
index d369405..222fde8 100644
--- a/verilog/rtl/user_proj_example.v
+++ b/verilog/rtl/user_proj_example.v
@@ -73,6 +73,7 @@
wire rst;
wire rx_i;
wire [15:0] FPU_hp_result;
+ wire [15:0] CLKS_PER_BIT;
wire [`MPRJ_IO_PADS-1:0] io_in;
wire [`MPRJ_IO_PADS-1:0] io_out;
@@ -91,14 +92,15 @@
assign irq = 3'b000; // Unused
// Ouptut at LA bits [31:16]
- assign la_data_out[15:0] = 16'h0000;
- assign la_data_out[31:16] = (&la_oenb[31:16]) ? FPU_hp_result : 16'h0000;
- assign la_data_out[127:32] = {(127-BITS){1'b0}};
+ assign la_data_out[31:0] = 32'h00000000;
+ assign la_data_out[47:32] = (&la_oenb[47:32]) ? FPU_hp_result : 16'h0000;
+ assign la_data_out[127:48] = {79{1'b0}};
// Assuming LA probes [65:64] are for controlling the count clk & reset
assign clk = (~la_oenb[64]) ? la_data_in[64] : wb_clk_i;
assign rst = (~la_oenb[65]) ? la_data_in[65] : ~wb_rst_i;
-
+ assign CLKS_PER_BIT = (la_oenb[31:16] == 16'h0000) ? la_data_in[31:16] : 16'd348;
+
// Initiation of TOP Module
FPU_FSM_TOP FPU_Half_Precision_Top (
@@ -109,6 +111,7 @@
.clk(clk),
.rst_l(rst),
.r_Rx_Serial(rx_i),
+ .CLKS_PER_BIT(CLKS_PER_BIT),
.FPU_hp_result(FPU_hp_result)
);