- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 偶数、奇数、小数分频器
1、偶数通过计数器计数到分频数中值实现,如实现8分频,DIV_PARA=8;1、复位后,clk_out=0;2、计数值为0——DIV_PARA-1,3、计数到3(即DIV_PARA/2 - 1)时, clk_out=1;4、计数到7(即DIV_PARA-1)时,clk_out=0;module divider_even ( clk, clk_out, rstn);input wire clk;input wire rstn;output r.
2020-11-18 16:19:35
1456
原创 AHB SRAM控制器设计
代码构成ahb_slave_if_tb.v //仿真文件ahb_slave_if.v //控制器文件sram_core.v //sram 文件ahb_slave_if_tb.v用于模拟生成AHB的读写信号1、时钟的生成hclk为AHB总线时钟sram_clk为hclk的反相,为了保证但周期读写2、读写任务ahb_write_32()和ahb_read_32(),模拟AHB总线行为写task输入参数为haddr与wdata...
2020-11-03 16:42:55
2298
原创 时钟切换(Clock-switching)设计
门控时钟将控制信号与时钟进行同步有效解决上升沿之间或下降沿之间时间变短(Tcycle减小,不满足建立时间保持时间)always@(negedgeclk)beginif(!clk)beginEN_LAT<=EN;endendassignQ=EN_LAT&clk;时钟切换(例:cpu切换主频,前提要保证正常工作---不产生glitch)产生glitch,上升沿到上升沿之间不满足一个时钟周期(不满足建立保持时间)原因:se...
2020-11-03 16:40:57
859
原创 跨时钟域和亚稳态
亚稳态问题亚稳态电路中不希望存在的、会存在很长时间的(会产生会传播,影响后面组合逻辑)产生亚稳态采样寄存器不满足建立、保持时间,(不等价与竞争冒险,竞争冒险只存在于组合电路)影响因素1、工艺2、温度3、电压4、电磁波干扰解决亚稳态1、两级同步(单bit)输出信号利用原时钟域打一拍再利用目的寄存器时钟打两拍进行两级同步2、两级同步(多bit)每bit都用一个两级同步,浪费寄存器(面积开销太大)源时钟域产生一个交互...
2020-11-03 16:38:54
1128
原创 异步FIFO(Asyn FIFO)学习笔记
设计思路w_clk与r_clk不同步,跨时钟域需要模块:1、读控制2、写控制3、双口RAM4、Bin2Gray(跨时钟域---亚稳态---需要使用格雷码---减少亚稳态的概率)5、SYN同步(将w_addr送到读控制模块----比较地址差判断空满,需要r_clk对w_addr同步)(将r_addr送到写控制模块----比较地址差判断空满,需要w_clk对r_addr同步)简单来说两级同步就是打两拍、用于跨时钟域设计采样情况只有1bit发...
2020-11-03 16:36:33
545
原创 同步FIFO学习笔记
FIFO:first in first out,数据缓存器件,基于RAM双口RAM双口RAM设计指标双端口RAM,16*8RAM宽度8,深度16,地址位宽4端口write_clk,read_clk(读写时钟)write_data,read_data(读写数据)write_allow,read_allow(读写允许)write_addr,read_addr(读写地址)只有read_data是数据输出重点reg [width-1:0] m...
2020-11-03 16:21:03
358
原创 VGA详解及色块边缘碰撞示例
引言 VGA:video Graphics array,视频图形阵列,阴极射线显像管(CRT)显示器时代产物,很多老显卡、笔记本电脑、投影仪所用接口,已经比较过时。 CRT是模拟设备,所以VGA也采用模拟协议,虽然现在很多液晶显示器仍有VGA接口,但是是内置了AD转换,将模拟信号转换为数字信号。 虽然VGA已经基本被DVI、HDMI、DP等接口替代,但无法否认其学习价值。介绍 扫描方式分为逐行扫描和隔行扫描。 逐行扫描:左上方开始,左到右,上到下。扫完一行到下一行起始,CR
2020-06-30 11:09:27
907
原创 Quirc二维码识别模块
背景 师兄要用这个参加集赛,但是说自己C语言不太行,花了一个多小时帮他分析了一下(虽然自己也不太行)。 对应模块的GitHub地址:https://github.com/dlbeer/quirc。 记录一下,一旦以后用到呢。内容 下载下来的文件主要有demo、tests、lib,由于自己对二维码识别过程不是十分了解,本文主要对demo的一部分进行了分析。 首先是main()函数。这里使用了一系列命令行参数,主要是跑了run_demo()这个函数。 ...
2020-06-29 16:56:30
2656
原创 TTL门和MOS门悬空输入的处理
引言 本来是数字电路学习时很重要的考点,但是总容易忘掉,所以记录一下~内容 TTL TTL电路中的TTL是Transistor-Transistor-Logic的英文缩写,指的是晶体管逻辑电路,即TTL门是又三极管组成的。 由三极管的阻抗特性可知,当输入端串联电阻时,会影响TTL电路的输入电压,当输入端串联电阻大于1kΩ时,即使串联电阻后接地,其输入端的电压相当于高电平。 所以针对TTL门可以展开讨论: (1)与门、与非门。悬空输入可以是 a.接到VDD
2020-06-29 16:55:43
6326
原创 IIC、SPI、UART协议总结
IIC 特点 1、Inter-Integrated Circuit,内部集成总线,半双工 2、短距离传输,有应答,速度较慢 3、SDA双向数据线,SCL时钟线 4、可以挂载多个设备,IIC设备有固化地址,传输值等于IIC固化地址,对应设备作出响应 基本过程 初始空闲:SDA和SCL均为高电平(具有上拉电阻) 起始位:SCL高电平期间,SDA下降沿 寻址:主机发送8位数据,前7位为从机地址,后一位表示数据方向,1为读,0为.
2020-06-29 16:55:13
367
原创 从头学起Verilog(三):Verilog逻辑设计
引言 经过了组合逻辑和时序逻辑的复习,终于到了Verilog部分。这里主要介绍Verilog一些基础内容,包括结构化模型、TestBench编写和仿真、真值表模型。 这部分内容不多,也都十分基础,大家可以看个乐呵,看个意思,但是有一些细节还是需要注意的。Verilog结构化模型 结构化和语言规则 下图以示例的形式分别说明了1995版和2001/2005版Verilog语法下的结构化模型,两者的不同主要体现在模块输入输出端口的声明中。端口可以是input、output,也可以是ino
2020-06-29 16:54:27
835
原创 从头学起Verilog(二):时序逻辑基础与回顾
引言 时序逻辑对于数字电路设计十分重要,本文针对数字电路中的时序逻辑部分进行了系统的回顾。存储器件 由于时序逻辑的输出不但受当前输入影响,还受之前的输入的影响,所以需要有存储单元对以前的输入进行存储。 SR锁存器(set-reset)---电平敏感器件 实际在Verilog中,很多情况应该避免使用锁存器,也应该避免无意中被综合成锁存器。 NOR门交叉耦合的锁存器,一方面输入11时,输出逻辑不是互反的;另一方面逻辑从11->00引发竞争,会导致输出无法...
2020-06-29 16:53:45
3986
原创 从头学起Verilog(一):组合逻辑基础与回顾
引言 该部分主要回顾了本科时数字电路中组合逻辑电路部分,内容相对简单和基础。 内容主要包括:布尔代数相关知识,卡诺图,最大项与最小项,竞争和冒险以及一些常见模块数字电路中的逻辑 组合逻辑:输出可以表示为瞬时输入变量的布尔函数。→即输出仅有当前输入决定 时序逻辑:输出与之前的历史输入(当前状态)有关。→需要相应的存储单元 正逻辑:高电平为1,低电平为0 负逻辑:高电平为0,低电平为1布尔代数 常用算符(不多赘述) 代数法则 本科时的数...
2020-06-29 16:52:54
1941
原创 使用Verilog语言编写简单的俄罗斯方块
小白第一次写博客,还稍微有点紧张激动呢啊哈哈。由于学习Verilog没有太久而且作为选修课大作业,时间有限,程序可能写得有些简单幼稚,有些功能想到了却没有实现,还请各位大虾批评指正哈。我对源程序进行了一些整理和修改,但苦于手头没有开发板,没有办法进行验证,所传文件可能会有些错误,希望大家能够给我指正。想要程序却苦于没有积分的或者想要原版程序的可以私信我,我看到第一时间会发给你。本程
2018-01-17 18:18:56
10875
68
VGA_LCD.rar
2020-06-30
VESA_Monitor_Timing_Standard-Version_1.0,_Revision_12p-2008.pdf
2020-06-29
使用Verilog语言编写简单的俄罗斯方块
2018-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人