admin 发表于 2019-4-18 11:32:37

小梅哥教程bug记录

1、设计指南V1.1 340页,DAC时钟频率最大为20MHz,写成了0.8~3.2
2、对于有版本差异的各个IP核的使用方法,建议调整顺序,先写13.0的,再补充写其他新版本的操作方法
3、补充完善书本内容,详细编写成实验手册的形式

挣钱买刀 发表于 2019-5-5 22:17:12

I2C仿真模型,书本上使用的是在下载的模型基础上做过参数修改,主要修改TLo(SCL低电平时间1300,当我们在400KHz的时候会出现模型的打印时序错误的信息,20190505将参数改回原值,更改I2C代码SCL 频率400KHz为默认100KHz,可以避免这个问题),和Twc(改小主要是减少仿真的时间,后改回原来的值仿真时间也不长),仿真模型的下载链接    http://www.young-engineering.com/intellectual_property.html

挣钱买刀 发表于 2019-5-10 19:42:34

I2C设计需优化地方
sda的输出
       assign sda = sda_en?sda_reg:1'bz;应改为assign sda = (sda_en && sda_reg == 1'b0)?1'b0:1'bz;
      (1)两者的差别在于前者有可能fpga输出高电平,而总线上对方发送低电平,这样会造成一根线一端高,一端低,短路,这种情况发生的概率很
            大,比 如在写完最后一个bit数(最后1bit为高)去等对方响应的时候,如果最后1bit的时间长度就很有可能与相应位的低冲突。
      (2)后者可以有效避免这个问题,后者只在为低的时候输出低,其他时候依靠总线上拉为高,
      (3)这里修改主要是看到仿真波形sda有变红,并且通过看EEPROM模型代码,模型的处理就是为低时输出低,其他时候高阻。

挣钱买刀 发表于 2019-5-11 22:11:11

I2C仿真优化,增加上拉,代码   pullup(sda)

书本错误地方,附件是书本对应位置图片
书本P347:下面第二段文字,写操作命令0x21,0xf1,0x00,0x00,0x04,0x06,0x07,0x08,0x09   应改为0x21,0xf1,0x00,0x00,0x04,0x01,0x02,0x03,0x04

书P355:图6.62下面文字,
1、发送指令数据0x21,0xf1,0x00,0x00,0x04,0x05,0x06,0x07,0x08    应改为0x21,0xf1,0x00,0x00,0x04,0x01,0x02,0x03,0x04
2、仅接着后面的0x05,0x06,0x07,0x08改为 0x01,0x02,0x03,0x04
3、后面发送指令数据 0x21,0xf2,0x00,0x00,0x04改为0x20,0xf2,0x00,0x00,0x04
4、紧接着后面的0x05,0x06,0x07,0x08改为 0x01,0x02,0x03,0x04
页: [1]
查看完整版本: 小梅哥教程bug记录