读书笔记01:手把手教你学FPGA设计(至简设计法)

第三章:状态机架构

知识点1:状态机的一定二转三段式,即一定义状态机的状态、二定义状态转移的条件(组合逻辑)、三段式(第一段为次态迁移到现态-时序逻辑、第二段为描述状态转移条件判断-组合逻辑、第三段为设计信号的输出-时序逻辑)

知识点2:二定中状态转移条件,用assign 产生变化条件时,必须加上当前状态。

知识点3:三段式中第二段,状态不变时使用state_n = state_c。不可写做state_n=state_n(因为该段为组合逻辑)。也可以写作state_n= 状态宏定义。

知识点4:第三段如果设计输出信号过于复杂,则可以添加一定的组合逻辑,但是最终的输出信号记得使用时序逻辑输出。

知识点5:时序逻辑中不要出现组合逻辑(与门、或门、非门、N选一数据选择器)。

知识点6:同步动态随机存储器(SDRAM)名词解释

①“同步”是指存储器工作需要同步时钟,内部命令的发送与数据的传输都以它为基准;

②“动态”是存储阵列需要不断刷新来保证数据不丢失,在掉电之后,其存储内容会消失;

③“随机”是指数据不是线性依次存储,而是自由指定地址进行数据读/写。

知识点7:同步动态随机存储器(SDRAM)-自动刷新的命令解释

①SDRAM是电容存储的器件,所以初始化完成后,FPGA要定时给SDRAM刷新命令,同时刷新是针对存储器的一行中所有存储体,内部有一个行地址生成器用来依次生成刷新行地址。

②假设一个存储器的行数为LBANK,存储体中电容的数据有效保存期上限是TRC,则至少每间隔时间(TRC/LBANK)。

知识点8:同步动态随机存储器(SDRAM)的设计原则

①刷新优先的原则:为了保证刷新的可靠性,必须采用刷新优先原则,即同时有刷新请求、读请求、写请求,则必须要优先满足刷新请求。同时刷新一次的间隔时间应该小于最大间隔时间(TRC/LBANK)

②读、写交替原则:指读和写的优先级应该轮流交换。

即收到读请求时,若要响应读有效,则应满足以下两个条件:上次响应了写或者上次响应了读且此时写无效。

第四章:FIFO架构

知识点1:FIFO的两种模式:Normal模式、Show-ahead模式

Normal模式:先有读使能,之后FIFO才输出这个数据。

Show-ahead模式:FIFO先输出数据,遇到读使能后,FIFO更新输出数据。

知识点2:读写隔离规则

读控制在读时钟域下、写控制在写时钟域下。即不能根据FIFO的读状态或者读出的数据来决定写行为,也不能根据FIFO的写状态和写入的数据来决定读行为。

但是通过跨时钟域处理,可以将慢时钟域的单bit信号传递给跨时钟域。

知识点3:双FIFO架构-信息MFIFO、数据DFIFO

信息MFIFO①保存由写侧产生的、给读测使用的数据(比如校验码、报文数据个数)

②信息MFIFO的空标志可以用来指示数据DFIFO里是否存入1个及以上的报文。

第五、六章:模块划分

知识点1:端口信号规范

①en信号:使能命令信号,类似于vld,当其为“1”时表示一个命令有效

②en信号:使能状态指示,当其为“1”时,表示处于使能状态

③err信号:报文错误指示信号

④sop信号:报文起始指示信号

⑤eop信号:报文结束指示信号

⑥rdy信号:模块准备好信号,用于模块之间控制数据发送速度

知识点2:常见模块划分架构

①直接交互架构

②无缓存rdy交互架构(不常用)

③有缓存rdy交互架构:对上下游模块的速率要求低。

④请求-应答交互架构:一般应用于上游模块A处理速率高,下游模块处理速率低的场景,这里是指对数据处理速率的快慢,而不是时钟速率

参考书籍:手把手教你学FPGA设计:基于大道至简的至简设计法;

注释:个人学习笔记,如有错误,敬请指正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值