EEPROM读写控制器学习小结

本文详细介绍了如何使用Verilog设计EEPROM的读写控制器,包括行为模型的建立、读写时序控制、状态机设计以及双向端口SDA的控制。通过实例展示了如何将并行数据转换为串行数据传输,并进行了仿真验证。
摘要由CSDN通过智能技术生成

    

   花了近两三个星期,从夏宇闻的书中一行行敲下代码,然后再在questasim仿真器下进行修改、编译和仿真。出现了很多错误,一一改正,学到了不少东西,由于记性太烂,过后即忘,逼着自己写下自己从中学到的知识点,以及一些自己的心得。

 

EEPROM行为模型:

1.       首先用verilog编写出eeprom的行为模型,因为我们在这里主要是设计读写控制器,eeprom只是仿真时需要的,所以只需要编写出其行为模型。我们可以用延时控制语句,事件控制语句。

2.       EEPROM有一个输入端口scl,和一个双向端口sda。

3.       EEPROM中的寄存器有地址寄存器(address),控制字节寄存器(ctrl_byte),数据字节寄存器(data_byte),以及状态寄存器,还有一个outflag寄存器,控制sda的双向端口特性。

4.       由于其不必综合,我们首先将其中的所有寄存器、存储单元都初始化。

EEPROM的读写时序是这样的:

Ø  scl作为串行的时钟信号在时钟为高电平时,如果检测到sda的上升沿,开始启动。

Ø  之后sda在低电平时给其赋值,在scl高电平到来时其已经稳定,并且在scl高电平期间保持不变。所以可在@posedgescl时将sda的值赋给eeprom中的地址或者数据寄存器。

Ø  写EEPROM用到shift_in这个任务,这个任务有输出shift,需要注意的是只有当任务全部执行完,输出才会传递到参

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值