Altera_Forum
Honored Contributor
18 years agoOpenCore [I2C_Master_Slave] _Newbie
I am a newbie.
I download I2C_Master_Slave ip core from OpenCore web site. Then I inport to QuartusII Web Edition,then compiler,I got the error message,below. "Error (10207): Verilog HDL error at tst_bench_top.v(242): can't resolve reference to object "wb_write" I read help files.QuartusII Wed Edition support hierarchical node name. Could someone tell me where are errors. Program division: [tst_bench_top.v] // hookup wishbone master model wb_master_model# (8, 32) u0 ( .clk(clk), .rst(rstn), .adr(adr), .din(dat_i), .dout(dat_o), .cyc(cyc), .stb(stb), .we(we), .sel(), .ack(ack), .err(1'b0), .rty(1'b0) ); // program internal registers u0.wb_write(1, PRER_LO, 8'hfa); // load prescaler lo-byte //Error u0.wb_write(1, PRER_LO, 8'hc8); // load prescaler lo-byte u0.wb_write(1, PRER_HI, 8'h00); // load prescaler hi-byte [wb_master_model.v] module wb_master_model(clk, rst, adr, din, dout, cyc, stb, we, sel, ack, err, rty); task wb_write; input delay; integer delay; input [awidth -1:0] a; input [dwidth -1:0] d; begin // wait initial delay repeat(delay) @(posedge clk); // assert wishbone signal # 1; adr = a; dout = d; cyc = 1'b1; stb = 1'b1; we = 1'b1; sel = {dwidth/8{1'b1}}; @(posedge clk); // wait for acknowledge from slave while(~ack) @(posedge clk); // negate wishbone signals # 1; cyc = 1'b0; stb = 1'bx; adr = {awidth{1'bx}}; dout = {dwidth{1'bx}}; we = 1'hx; sel = {dwidth/8{1'bx}}; end endtask