![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发板基础
文章平均质量分 57
FPGA基础实验
bingbudingxz
系个人在学习过程中帮助自己理解的随笔,无商业价值,侵删。
展开
-
Verilog基础(二)--状态机
三段式:一个always块时序逻辑描述状态转移,一个always块描述组合逻辑判断状态转移条件,另一个always块时序逻辑或组合逻辑描述数据输出。面试常见的手撕代码,自动售货机:售货机商品3元每件,每次只能投入1元硬币,每满3元自动售出一件商品。二段式:一个always块时序逻辑描述状态转移,另一个always块组合逻辑描述数据输出。一段式:一个always块时序逻辑既描述状态转移,又描述数据输出。Mealy型:输出不仅与当前状态有关,还与输入有关。Moore型:输出至于当前状态有关。原创 2022-10-12 10:17:51 · 1223 阅读 · 0 评论 -
Verilog基础(一)--小知识点整理
基础的小知识点整理原创 2022-10-10 19:35:46 · 355 阅读 · 0 评论 -
Modelsim单独仿真
在不关联其他软件时,单独仿真Verilog模块原创 2022-10-04 10:54:30 · 411 阅读 · 0 评论 -
SDRAM学习(三)——主状态机设计
之前设计完成了SDRAM的各个命令输入和状态的设计,这一部分开始将其进行一个整合,根据命令和需要进行状态的选择和变换。![请添加图片描述](https://img-blog.csdnimg.cn/b6bd028a49334b5a8e84527f3adfaca0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYmluZ2J1ZGluZ3h6,size_20,color_FFFFFF,t_70,g_se原创 2022-03-07 22:08:35 · 422 阅读 · 0 评论 -
SDRAM学习(五)——串口传图
一、串口传图设计图这一部分在之前写的SDRAM控制顶层模块的基础上加了pll时钟,之前写的tft4.3寸显示屏控制模块,串口接收数据模块和比特计数器。pll时钟:之前在初始化部分提到过,此处有四路时钟信号,整体系统、字节接收为开发板自带的50M时钟,另有pll产生的一路9M时钟是给tft4.3寸显示屏驱动,两路相位相差180度(实际考虑电路时延,一般设置为150度)的100M时钟给SDRAM,由于在上升沿读取数据,相位不变的用于时钟计数,用来发送信号、做控制;相位改变180度的时钟上升沿正好在写入数据原创 2022-03-19 11:32:28 · 812 阅读 · 0 评论 -
SDRAM学习(一)——初始化
一、SDRAM概念 SDRAM 的全称即同步动态随机存储器(Synchronous Dynamic Random Access Memory),同步是指其时钟频率与对应控制器(CPU/FPGA)的系统时钟频率相同,并且内部命令的发送与数据传输都是以该时钟为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机指数据的读取和写入可以随机指定地址,而不是必须按照严格的线性次序变化。二、SDRAM存取原理存储单元主要由行列选通三极管,存储电容,刷新放大器组成。对于这一位的数据,首先需要打开行地址,然后原创 2022-03-04 21:29:49 · 1108 阅读 · 1 评论 -
SDRAM学习(二)——自动刷新,读写操作
一、自动刷新自动刷新由控制器对SDRAM正常操作,需要时钟信号,时序图自动刷新步骤:上电即开始–预充电–A10拉高选择all bank–等待tRP后,自动刷新命令–等待tRFc后,第二次自动刷新命令–等待tRFc,自动刷新结束,空操作命令///////////////自动刷新操作任务,采用线性序列机方法//////////////// localparam ref_PRE_TIME = 1'b1, //预充电时刻 ref_REF1_TIME = REF_PRE + 1,原创 2022-03-05 19:49:42 · 1208 阅读 · 0 评论 -
SDRAM学习(四)——加入FIFO缓存
一、加入fifo在某些特殊的时刻,有些读或写会被忽略掉,不能连续对数据流进行缓存,只能间歇式的读或写 SDRAM 数据,会出现数据存储或读取的遗漏问题。下面针对这个问题设计的 SDRAM 控制器模块进行优化:首先,设置引入fifo:根据设计的模块电路图将各个部分端口连线第二部分是读写数据的地址推进://写SDRAM数据的地址,数据写完一次增加一次突发长度 always@(posedge Clk or negedge Rst_n) begin if(!Rst_n) wr_sdram原创 2022-03-07 22:32:23 · 989 阅读 · 0 评论