
Verilog
隔壁老余
笃志穷理
展开
-
可综合的异步fifo设计(二)
本篇是继可综合的async_fifo设计(一)的下半篇,给出了testbench代码、测试波形及几个注意事项。异步FIFO设计三、重难点四、仿真波形4.1 读写不同时进行的逻辑测试4.1.1 FIFO初始化功能验证4.1.2 FIFO空标志产生逻辑的验证4.1.4 FIFO写满保护功能的验证4.1.5 FIFO读空保护(不再读)功能的验证4.2 读写同时进行的逻辑测试4.2.1 写信号不做间隔控制4.2.2 写信号做间隔控制4.3 testbench代码三、重难点整个设计前后,提出以下几个问题://原创 2020-07-14 23:12:13 · 1302 阅读 · 2 评论 -
可综合的异步fifo设计(一)
异步FIFO设计一、基本概念二、设计思路2.1 设计前准备工作2.1.1 系统框图2.1.2 格雷码基础2.1.3 异步fifo工作流程举例2.2 RTL建模2.2.1 DPRAM建模2.2.2 WR_LOGIC建模2.2.3 RD_LOGIC建模2.2.4 PIPE模块建模2.2.5 格雷码处理模块建模一、基本概念1.异步fifo定义:跨读写时钟域的dpram(双口ram),fifo的读写时钟是相互独立的两个时钟,在各自时钟下实现fifo数据的读写功能。2.异步fifo用途:【1】跨时钟域的多bi原创 2020-07-14 11:01:54 · 3469 阅读 · 0 评论 -
Verilog之blocking(阻塞) & nonblocking(非阻塞) assignments(赋值)
Verilog中的阻塞与非阻塞赋值是一对十分难理解的概念,没有之一!本文展开说明,望解开难理解之谜。1、阻塞赋值,很明显,具有阻塞之意,即在always块中,它要阻值其他语句的进行(在阻塞赋值语句LHS的赋值完成之前),然后才接着执行其他语句。而阻塞赋值本身,RHS的计算和LHS的赋值是同时完成的。整体是分前后顺序的,但内部是同时进行的。(整体是指每一条阻塞赋值语句本身,内部是指RHS的计算和...原创 2019-04-28 23:11:08 · 4503 阅读 · 0 评论 -
Verilog之非阻塞赋值(二)——赋值延后一个周期
阻塞与非阻塞赋值,当在always块中的每一个条件分支中,仅有一条赋值语句(不管是阻塞与非阻塞,且要满足条件中的条件判断式不含有在本模块中定义并赋值的reg变量(采用非阻塞赋值)),那么阻塞和非阻塞都是在时钟边沿瞬间完成的;(理解非阻塞赋值分两个过程,RHS的计算为第一步,LHS的赋值为第二步,这是第一层面;第二,由于两步时间非常短,变现出来就是在时钟边沿瞬间完成,故表现的和阻塞一样,这是第二个层...原创 2019-06-26 15:04:19 · 11188 阅读 · 1 评论