请有人帮我吗:
我试图在xc5vlx110t中运行一个crt监视器,但卡在ch7301c上。
这个代码的
仿真工作正如数据表中所规定的那样,ch7301c也发送了应答位,但代码没有按预期工作......
无法弄清问题是什么。
模块main(输入USER_CLK,输出SCL_o,inout SDA_main,输出复位,输出reg [7:0] led); wire sda_o; wire sda_i; reg bi; reg [10:0] count_main; reg [10:0] count;
reg SDA; reg [10:0] count_bit; reg [10:0] scl_flag; reg SCL_R; reg SCL; reg [10:0] count_2; ini
tialbeginSCLcount_bitSDAscl_flagSCL_Rbicount_maincountcount_2ledendassign sda_i = SDA_main; assign SDA_main =(bi)?sda_o:1'bz
;指定sda_o = SDA;指定SCL_o = SCL;指定reset = 1'b1;如果(scl_flag == 0 || scl_flag == 1),则始终@(posedge USER_CLK)开始if(count_2 == 49)count else else count_2 if
(count_2 == 0 || count_2 == 25)开始if(SCL_R == 1'b1)开始SCL_R scl_flag结束否则开始SCL_R scl_flag结束结束否则if(scl_flag> = 2)start if if(count == 99)count
否则if count(count_2 == 49)count_2 else count_2 if(count_2 == 0 || count_2 == 25)if if(SCL_R == 1'b1)SCL_R else SCL_R end if(count == 0 || count ==
50)begin if(SCL == 1'b1)SCL else SCL end endendalways @(negedge SCL_R)begincase(count_bit)10:SDA11:SDA13:SDA15:SDA17:SDA19:SDA21:SDA23:SDA25:SDA27 :; 28 :;
29:SDA31:SDA33:SDA35:SDA37:
SDA39:SDA41:SDA43:SDA45:; 46:; 47:SDA49:SDA51:SDA53:SDA55:SDA57:SDA59:SDA61:SDA63:; 64:; 65:SDA66:SDA70:SDA71:SDA73:SDA75:SDA77:SDA79:
SDA81:SDA83:SDA85:SDA87:; 89:SDA91:SDA93:SDA95:SDA97:SDA99:SDA101:SDA103:SDA105:bi107:; 108:LED [7] 110:LED [6] 112:LED [5] 114:
led [4] 116:led [3] 118:led [2] 120:led [1] 122:led [0] 123:开始bi124:SDAendcaseif(count_bitcount_bit = count_bit + 1; endendmodule