
Verilog Basic
Verilog HDL
爱洋葱
One battle, one person
展开
-
LCD 时序分析
TFT LCD 是以前常用的一类显示设备,进行每行像素扫描后,再进行列像素扫描,并完整的将图像显示上去;这里以 TFT-LCDLQ035NC111 为例,看看 TFT LCD 的时序规则;Datasheet 的 PDF 链接为:http://aitendo3.sakura.ne.jp/aitendo_data/product_img/lcd/tft/AT035DL01/LQ035NC...原创 2019-12-12 16:00:19 · 3801 阅读 · 0 评论 -
Verilog 实现 VGA 接口时序
在上一篇中了解了 VGA 的时序(VGA 时序分析),这里可以使用 Verilog 写一个 VGA 的时序,那么需要控制:HSYNCVSYNCRGB信号首先查看原理图:对应到芯片管脚的:HSYNC---P123VSYNC---P124VGA_R---P26VGA_G---P22VGA_B---P23所以管脚约束 ucf 文件为:####...原创 2019-12-10 22:23:02 · 2542 阅读 · 0 评论 -
VGA 时序分析
VGA (Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。目前VGA技术的应用还主要基于VGA显示卡的计算机、笔记本等设备,而在一些既要求显示彩色高分辨率图像又没有必要使用计算机的设备上,VGA技术的应用却很少见到。本文对嵌入式VGA显示的实现方法进行了研究。基于这种设...原创 2019-12-10 16:28:33 · 6194 阅读 · 0 评论 -
Verilog 实现 UART TX 发送器
目录1、简述2、设计3、实现4、测试1、简述上一节描述了 Verilog 的 UART RX 过程,相对于 RX,传送数据就稍微简单一些,不需要进行线上数据的采样;发送数据需要考虑的几点:1、内部数据位并行,发送的时候为 tx 串行,那么就需要考虑到传送的时候的 busy 信号,并进行数据的并行转串行;2、同样需要根据串口的配置来进行发送数据的计数3...原创 2019-12-09 23:28:09 · 2015 阅读 · 0 评论 -
Verilog 实现 UART RX 接收器
目录1、简述2、设计3、实现4、测试1、简述串口作为 CPU 最常使用的外设资源之一,常常出现在各种场合,既然最近在入坑 FPGA,那么先搞一个简单的串口接收机来玩玩;串口相关的基本知识就不在这里重复议论了,参考我的另一篇文章《STM32F103ZET6 — USART》,总的来说,时序如下所示:站在硬件的角度上来讲,要实现一个串口接收器,需要考虑一下几点...原创 2019-12-09 23:09:01 · 3670 阅读 · 1 评论 -
Verilog 同步 FIFO 设计
目录1、简述2、思路3、设计4、仿真1、简述FIFO (First In First Out) 先入先出的数据 Buffer,在嵌入式领域非常常用;不管是在软件领域(内核数据结构 —— 内核队列 (kfifo))还是在硬件领域,FIFO 都是很常见的;这里主要聊聊硬件的 FIFO;硬件数字 FIFO 常用在跨时钟域的场景,或者两端数据宽度不一致的场景:比如1...原创 2019-11-28 17:43:56 · 1900 阅读 · 2 评论 -
Verilog 边沿检测电路
边沿检测电路是 Verilog 数字电路设计中较为常用的电路,主要作用是在 clk 的驱使下,检测另一个信号的上升/下降沿电路;检测的原理是记录指定信号前一个时钟和当前时钟的信号,并做对比,看看是否存在 1->0 或者是 0->1 的变化;所以,实现的时候,需要两个触发器,一个用于记录当前 clk 时钟来临的时候,指定信号的数据,另一个记录上个时钟周期指定信号的数据;代码如...原创 2019-11-21 21:42:24 · 6285 阅读 · 1 评论 -
Verilog 按键消抖的一些分析和想法
最近在网上看了下 Verilog 按键消抖方面的设计,有一些个人的想法,做一些分析和记录;电路板上,通常会提供若干按键,每个按键下赋予了不同的含义,按键的含义由具体的场景来定义;打个比方,一组电路板上的按键定义如下所示:在这个例子中,可以看到,硬件原理图中提供了 5 个信号:KEY_UPKEY_DOWNKEY_LEFTKEY_RIGHTKEY_ENTER...原创 2019-11-25 18:04:09 · 2951 阅读 · 0 评论 -
Verilog 分频器设计
目录1、偶分频2、奇分频3、任意分频和占空比在数字电路中,使用 Verilog 生成不同频率的时钟和占空比是较为常见的一种设计,主要分为偶数分频,奇数分频,也可以任意进行分频和占空比的配置;1、偶分频偶分频电路指的是分频系数为 2、4、6、8 ... 等偶数整数的分频电路,这种是比较简单的分频方式例如下面 divider.v 中,对输入时钟进行6分频,...原创 2019-11-19 20:40:59 · 39693 阅读 · 9 评论 -
Verilog 三段式状态机(转)
时序电路的状态是一个状态变量集合,这些状态变量在任意时刻的值都包含了为确定电路的未来行为而必需考虑的所有历史信息。状态机采用VerilogHDL语言编码,建议分为三个always段完成。三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器, 然后直接在每个次态的case分支中描述该状态的输出即可,不用考虑状态转移条件。三段式描述方法虽然代码结构复杂了一些,但是换来的优...转载 2019-11-05 20:11:21 · 1898 阅读 · 0 评论 -
Verilog HDL 同步复位和异步复位(转)
目录1、同步复位2、异步复位3、同步/异步复位对比4、异步复位同步释放4.1、异步复位同步释放原理在实际的工程中选择复位策略之前必须考虑许多设计方面的问题,如使用同步复位或者异步复位或者异步复位同步释放(Asynchronous Reset Synchronous Release或者Synchronized Asynchronous Reset),以及是否每一个触发器...转载 2019-10-31 10:49:05 · 9011 阅读 · 0 评论 -
触发器的建立时间和保持时间和亚稳态(转)
1、亚稳态的定义亚稳态主要是指触发器在某一段时间内不能达到一个确定的状态。一个触发器一旦进入亚稳态状态,则无法预测触发器的输出电平,也无法预测什么时候可以稳定在某个确定的电平上,此时触发器的输出端Q在较长时间内处于振荡状态,不等于输入端D。这段时间称作决断时间(resolution time)。经过resolution time之后,输出端Q将会稳定在某个电平上,但是这个稳定之后的电平与输入端...转载 2019-10-30 17:17:42 · 3146 阅读 · 1 评论 -
Verilog HDL 中阻塞与非阻塞赋值理解
Verilog HDL 对于变量赋值的时候,有阻塞和非阻塞两种方式:1、阻塞: 用 "="2、非阻塞 : 用 "<="这两种赋值方式如果用得不对的话,综合出来的电路可能会意想不到的结果;顾名思义,阻塞,就是原地等待的意思,非阻塞意味着并发。对于阻塞赋值的情况,它代表着当前赋值一定要成功后再执行下面的语句;而非阻塞赋值的情况,它代表当前的复制并不是马上成功,下面语句...原创 2019-10-29 17:36:55 · 1437 阅读 · 0 评论