![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
硬件设计
ic小白白白
这个作者很懒,什么都没留下…
展开
-
串口联合仿真(Verilog)
Uart Verilog设计原创 2022-06-03 19:59:33 · 424 阅读 · 0 评论 -
UART发送模块 verilog
异步FIFO verilog设计原创 2022-06-01 22:30:44 · 253 阅读 · 1 评论 -
异步fifo verilog
异步FIFO verilog设计原创 2022-05-31 21:09:15 · 126 阅读 · 0 评论 -
UART 相关的概念
本篇博客会讲解uart相关的概念,会在下一篇博客中介绍如何基于Verilog的uart实现。一,UART的功能发送:1,将数据从并行转为串行2,起始位和停止位的设计3,增加奇偶校验位接收1,将数据从串行转为并行2,剥离起始位和停止位3,检查并剥离就校验位二,UART发送数据如上图所示,灰色部分数据可以为0或者1,每个数据bit的时间都是固定的,即是波特率。举了例子:比如 传输的波特率是1200bps,这就表示一个bit time是1/1200s。.原创 2022-05-28 17:34:58 · 583 阅读 · 0 评论 -
SDRAM初始化操作
FPGA中的SDRAM有缓存容量大的特点,在本篇博客中,将重点介绍SDRAM的初始化操作。首先看下面初始化的时序图可知初始化SDRSAM需要如下操作。首先在上电和clk使能之后sdram要等待一段时间,根据手册可知最小等待时间位100us。这里我们取200us。此时的COMMAND填充的使NOP命令,下面几条初始化所需要的命令之后进行预充电状态,一个时钟周期内完成,而且因为此时是对所有的bank进行充电,则要进行如下设置将BA0, BA1设置为2‘b11即可; 当预充电完成之后,需要等待一段原创 2022-05-28 11:16:44 · 627 阅读 · 0 评论 -
FIFO verilog两种实现的基本方法
FIFO 取自first in first out,是一种实现存储数据的方式,在两个不同的时钟域进行数据交互的话,一般需要用到异步fifo,关于异步fifo的设计,我将在下一篇博客介绍。废话不多,直接呈现Verilog代码。需要注意本代码对fifo空和满信号的产生采用了两种方式,第二种方式这段代码最后的注释框里。因为本代码自带解释,便不多做解释`timescale 1ns / 1ps// a design of sync fifomodule fifo( input wire原创 2022-05-26 23:16:21 · 422 阅读 · 1 评论 -
基于verilog 实现的DDS的发生器
关于DDS具体理论可以查看我的上一篇博客https://blog.csdn.net/weixin_45614076/article/details/124973803?spm=1001.2014.3001.5501首先生成相关的波形文件 coe%generate sim wave data in the coe fileclear all;clc;rom_depth = 4096;rom_width = 8;y = zeros(rom_depth, 1);for i = 1 : rom_d原创 2022-05-26 15:17:43 · 531 阅读 · 0 评论 -
DDS之我见
DDS 在数字通信领域较为常见。接下来介绍自己所理解的DDS的基本理论。首先介绍两个关键字频率控制字:顾名思义,控制输出波形的频率相位控制字:控制输出波形的相位。看到这里,肯定都是一脸蒙圈。接下来说出我自己的理解。首先假设你有一张ROM波形表,且不妨假设这个波形为sin函数的波形。设这个函数的数值位宽是9,那么最大值将会是256。由于一个完整的波形包括上升和下降部分。所以这个ROM的地址的位宽是10位,这样地址索引一共1024。接下来解密频率控制字如何控制输出频率的,其实非常简单的,频率控制字就原创 2022-05-25 21:17:42 · 1991 阅读 · 3 评论