mirror of
https://github.com/fpganinja/taxi.git
synced 2026-04-07 04:38:42 -07:00
cndm: Set TBUF_CYC in board control logic
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -415,6 +415,7 @@ localparam logic [DEV_CNT-1:0][31:0] DEV_ADDR_CFG = {32'h00_00_0000, 32'h00_00_0
|
|||||||
localparam logic [DEV_CNT-1:0][MUX_CNT-1:0][7:0] DEV_MUX_MASK = {{8'h00, 8'h01}, {8'h07, 8'h00}, {8'h00, 8'h08}, {8'h00, 8'h04}};
|
localparam logic [DEV_CNT-1:0][MUX_CNT-1:0][7:0] DEV_MUX_MASK = {{8'h00, 8'h01}, {8'h07, 8'h00}, {8'h00, 8'h08}, {8'h00, 8'h04}};
|
||||||
|
|
||||||
localparam I2C_PRESCALE = SIM ? 2 : 250000/(400*4);
|
localparam I2C_PRESCALE = SIM ? 2 : 250000/(400*4);
|
||||||
|
localparam I2C_TBUF_CYC = SIM ? 10 : 1000;
|
||||||
|
|
||||||
taxi_axis_if #(
|
taxi_axis_if #(
|
||||||
.DATA_W(32),
|
.DATA_W(32),
|
||||||
@@ -455,7 +456,8 @@ cndm_brd_ctrl_i2c #(
|
|||||||
.DEV_ADDR_CFG(DEV_ADDR_CFG),
|
.DEV_ADDR_CFG(DEV_ADDR_CFG),
|
||||||
.DEV_MUX_MASK(DEV_MUX_MASK),
|
.DEV_MUX_MASK(DEV_MUX_MASK),
|
||||||
|
|
||||||
.I2C_PRESCALE(I2C_PRESCALE)
|
.I2C_PRESCALE(I2C_PRESCALE),
|
||||||
|
.I2C_TBUF_CYC(I2C_TBUF_CYC)
|
||||||
)
|
)
|
||||||
board_ctrl_i2c_ch_inst (
|
board_ctrl_i2c_ch_inst (
|
||||||
.clk(pcie_clk),
|
.clk(pcie_clk),
|
||||||
|
|||||||
@@ -74,7 +74,9 @@ module cndm_brd_ctrl_i2c #
|
|||||||
parameter logic [DEV_CNT-1:0][MUX_CNT-1:0][7:0] DEV_MUX_MASK = '0,
|
parameter logic [DEV_CNT-1:0][MUX_CNT-1:0][7:0] DEV_MUX_MASK = '0,
|
||||||
|
|
||||||
// Prescaler for I2C master
|
// Prescaler for I2C master
|
||||||
parameter I2C_PRESCALE = 125000/(400*4)
|
parameter I2C_PRESCALE = 125000/(400*4),
|
||||||
|
// tBUF in I2C clock cycles
|
||||||
|
parameter I2C_TBUF_CYC = 10
|
||||||
)
|
)
|
||||||
(
|
(
|
||||||
input wire logic clk,
|
input wire logic clk,
|
||||||
@@ -243,6 +245,7 @@ i2c_master_inst (
|
|||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
.prescale(16'(I2C_PRESCALE)),
|
.prescale(16'(I2C_PRESCALE)),
|
||||||
|
.tbuf_cyc(16'(I2C_TBUF_CYC)),
|
||||||
.stop_on_idle(1'b0)
|
.stop_on_idle(1'b0)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ module test_cndm_brd_ctrl_i2c #
|
|||||||
parameter logic [DEV_CNT-1:0][31:0] DEV_ADDR_CFG = {32'h00_00_0000, 32'h00_00_0040, 32'h7e_7f_0070, 32'h7e_7f_0070},
|
parameter logic [DEV_CNT-1:0][31:0] DEV_ADDR_CFG = {32'h00_00_0000, 32'h00_00_0040, 32'h7e_7f_0070, 32'h7e_7f_0070},
|
||||||
parameter logic [DEV_CNT-1:0][MUX_CNT-1:0][7:0] DEV_MUX_MASK = {{8'h00, 8'h01}, {8'h07, 8'h00}, {8'h00, 8'h08}, {8'h00, 8'h04}},
|
parameter logic [DEV_CNT-1:0][MUX_CNT-1:0][7:0] DEV_MUX_MASK = {{8'h00, 8'h01}, {8'h07, 8'h00}, {8'h00, 8'h08}, {8'h00, 8'h04}},
|
||||||
|
|
||||||
parameter I2C_PRESCALE = 2
|
parameter I2C_PRESCALE = 2,
|
||||||
|
parameter I2C_TBUF_CYC = 10
|
||||||
/* verilator lint_on WIDTHTRUNC */
|
/* verilator lint_on WIDTHTRUNC */
|
||||||
)
|
)
|
||||||
();
|
();
|
||||||
@@ -102,7 +103,8 @@ cndm_brd_ctrl_i2c #(
|
|||||||
.DEV_ADDR_CFG(DEV_ADDR_CFG),
|
.DEV_ADDR_CFG(DEV_ADDR_CFG),
|
||||||
.DEV_MUX_MASK(DEV_MUX_MASK),
|
.DEV_MUX_MASK(DEV_MUX_MASK),
|
||||||
|
|
||||||
.I2C_PRESCALE(I2C_PRESCALE)
|
.I2C_PRESCALE(I2C_PRESCALE),
|
||||||
|
.I2C_TBUF_CYC(I2C_TBUF_CYC)
|
||||||
)
|
)
|
||||||
uut (
|
uut (
|
||||||
.clk(clk),
|
.clk(clk),
|
||||||
|
|||||||
Reference in New Issue
Block a user