![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
小梅哥Xilinx ZYNQ 7000系列学习笔记
文章平均质量分 80
FPGA爱好者的学习天堂
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
都教授_
走自己的路,让别人去说吧
展开
-
小梅哥Xilinx FPGA学习笔记22——ip核之FIFO
FIFO 本质上是由 RAM加读写控制逻辑构成的一种先进先出的数据缓冲器,其与普通存储器RAM的区别在于FIFO没有外部读写地址线,使用起来非常简单,但FIFO只能顺序写入数据,并按顺序读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址,不过也正是因为这个特性,使得FIFO在使用时并不存在像RAM那样的读写冲突问题。根据 FIFO工作的时钟域,可以将FIFO分为同步FIFO和异步FIFO。同步FIFO。原创 2024-01-09 22:03:43 · 1656 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记19——IP 核使用之 ROM
ROM 是只读存储器()的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除,且资料不会因为电源关闭而消失。而事实上在FPGA中通过IP核生成的ROM或RAM,调用的都是FPGA内部的RAM资源,掉电内容都会丢失(这也很容易解释,FPGA芯片内部本来就没有掉电非易失存储器单元)。用IP核生成的ROM模块只是提前添加了数据文件.coe格式),在FPGA运行时通过数据文件给ROM模块初始化,才使得ROM。原创 2023-12-28 17:32:18 · 3838 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记18——专用时钟电路 PLL与时钟向导 IP
IPIntellectual Property)即知识产权,简言而之,IP即电路功能模块。IP核在数字电路中常用于比较复杂的功能模块(如FIFORAMFIR滤波器、SDRAM控制器、PCIE接口等)设计成参数可修改的模块,让其他用户可以直接调用这些模块。IP核有三种不同的存在形式:HDL 语言形式---(软核)硬件描述语言;可进行参数调整、复用性强;布局、布线灵活;设计周期短、设计投入少网表形式---(固核)完成了综合的功能块;原创 2023-12-27 17:04:56 · 2847 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记17——模块化设计基础之加减法计数器
在相对大一点的工程设计过程中,设计内容通常不会写在一个设计文件而是会针对不同的功能设计出不同的子文件,最后在顶层文件中再进行例化调用。在上面设计并验证了独立按键的消抖,这里基于上一讲的按键消抖模块,利用 EDA 扩展板来实现一个加减法、移位计数器,实现每次按下按键。在后面章节中将利用第四章编写好的独立模块,组合起来设计一些应用性较强的项目,进一步理解模块化设计方式的优点。控制模块,其模块间的连线如下图所示,这里的 key_in0~3。,8 个 LED 显示状态以二进制加法格式。原创 2023-12-26 17:04:17 · 589 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记15——基于SPI接口的ADC芯片驱动
ADC(Analog to Digital Conver),通常是指一个将转变为数字信号(二进制表示的离散信号)的转换器。先将输入模拟电压转换成时间或频率,再把中间量转换成数字量双积分型 ADC,先对输入采样电压和基准电压进行两次积分,获得与采样电压平均值成正比的时间间隔,同时用计数器对标准时钟脉冲计数。抗干扰能力强,稳定性好,但转换速度低。①并联比较型 ADC,采用各量级同时并行比较,各位输出码也是同时并行产生,转换速度快。缺点是成本高、功耗大。原创 2023-12-12 11:01:01 · 3715 阅读 · 1 评论 -
小梅哥Xilinx FPGA学习笔记14——基于74HC595动态扫描数码管显示
74HC595 是用于 CMOS 应用的 HC 系列逻辑器件中的一部分。74HC595 器件包含对8位 D 类存储寄存器进行馈送的 8位串行输入/并行输出移位寄存器。移位寄存器时钟(SRCLK)和存储寄存器时钟(RCLK) 均为正边沿触发。如果将两个时钟连接在一起,则移位寄存器始终比存储寄存器早一个时钟脉冲。原创 2023-12-08 19:29:05 · 688 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记13——动态数码管显示
根据这两种现象我们可以想到,如果让数码管轮流显示,而且轮流显示速度很快,这样会不会看起来六个数码管都在显示呢?时间,光的作用结束后,视觉影像并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。样我们就可以通过位选信号去控制数码管亮,而在同一时刻,位选选通的数码管上显示的。同了,数码管的这种显示方式即为静态显示。这样我们段选信号点亮的就只是我们选中数码管的值了,那是不是就可以给每个数码管显。在点亮的时间去点亮其他数码管,让其他数码管也达到这样的效果,这样就可以让我们人。原创 2023-12-06 13:17:13 · 638 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记12——使用状态机实现按键消抖
第二件事是20ms内检测到上升沿,则表明此时处于抖动状态,立即退回空闲状态。第三件事是20ms内未检测到上升沿,就干巴巴的等待20ms,直至20ms结束仍未有上升沿就进入第一件事。第二件事是20ms内检测到下降沿,则表明此时处于抖动状态,立即退回等待状态。第三件事是20ms内未检测到下降沿,就干巴巴的等待20ms,直至20ms结束仍未有下降沿就进入第一件事。,此时按键已经被按下,这个状态要做的事就是一直检测上升沿的到来,如果上升沿没到来就一直待在等待状态,如果一旦检测到上升沿出现,则立即进入。原创 2023-12-04 22:16:00 · 600 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记11——亚稳态
亚稳态就是D触发器输入信号在其数据窗口期内发生变化,导致D触发器的输出进入一段时间的不稳定状态,有可能发生振荡,并最终随机稳定在高电平或者低电平。原创 2023-12-04 21:21:56 · 323 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记9——串口通信发送逻辑
RS232 通信接口标准,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)是一种异步收发传输器,其在数据发送时将并行数据转换成串行数据来传输,在数据接收时将接收到的串行数据转换成并行数据,可以实现全双工传输和接收。UART 是异步串行通信的总称(UART 是一种协议)。原创 2023-11-27 21:35:00 · 704 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记8——从计数器到可控线性序列机
让LED灯按照亮0.25秒,灭0.75秒的状态循环亮灭任务2:让LED灯按照亮0.25秒,灭0.5秒,亮0.75秒,灭1秒的状态循环亮灭以0.25为基本的LED状态变化间隔(最小时间单元)以8小段·为一个循环周期(参考任务二10个小段);LED在每一小段该点亮还是该熄灭由8个输入端口决定。任务4:在任务三的基础上,实现每隔一定时间,比如1秒钟,执行一轮LED8个状态的切换控制。1.case语句,没有列举完的情况,需要加一个默认项列举完//语句1endcase。原创 2023-11-19 21:22:28 · 329 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记7——语法(阻塞与非阻塞赋值)
1.阻塞赋值属于顺序执行,即下一条语句执行前,当前语句一定会执行完毕。2.阻塞赋值语句使用等号 = 作为赋值符。3.前面的仿真中,initial 里面的赋值语句都是用的阻塞赋值。4.阻塞赋值时赋值顺序调换所得到的结果不同。非阻塞赋值:1.非阻塞赋值属于并行执行语句,即下一条语句的执行和当前语句的执行是同时进行的,它不会阻塞位于同一个语句块中后面语句的执行。2.非阻塞赋值语句使用小于等于号原创 2023-11-15 18:11:00 · 174 阅读 · 1 评论 -
小梅哥Xilinx FPGA学习笔记6——参数化设计及模块重用设计不同频率的流水灯
8个Led灯分别以不同频率循环闪烁,led[0]0.05s亮一次;led[1]0.1s亮一次;led[2]0.125s亮一次;led[3]0.25s亮一次;led[4]0.5s亮一次;led[5]1s亮一次;led[6]1.25s亮一次;led[7]2s亮一次.1.在主模块led_flicker_8模块中,通过调用子模块单个led闪烁功能,用LED_Flicker_inst0.MCNT 对8个led分别进行闪烁频率配置;并且要注意每一次调用子模块的函数名应当不同,要有唯一性;#(或者。原创 2023-11-14 21:57:06 · 165 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记3——时序逻辑电路设计之计数器(LED闪烁)
时序逻辑电路是指电路任何时刻的稳态输出不仅取决于当前的输入,还与前一时刻输入形成的状态有关。这跟组合逻辑电路相反,组合逻辑的输出只会跟目前的输入成一种函数关系。换句话说,时序逻辑拥有储存元件来存储信息,而组合逻辑则没有。此处设计一个计数器,使开发板上的 LED 状态每 500ms 翻转一次。1.学习板上晶振为 50MHz,也就是说时钟周期为 20ns,这样可以计算得出 500ms =原创 2023-11-13 20:59:54 · 475 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记4——流水灯
1.学习板上晶振为 50MHz,也就是说时钟周期为 20ns,这样可以计算得出 500ms =500_000_000ns/20ns = 25_000_000,即需要计数器计数 25_000_000 次,也就是需要一个至少25 位的计数器(225>25_000_000>224)。且每当计数次数达到需要清零并重新计数。2.可以用"位拼接"{led[6:0,led[7]]}对led进程进行改写;if(!Reset_n)//以下两种写法都可以。原创 2023-11-13 21:32:52 · 621 阅读 · 0 评论 -
小梅哥Xilinx FPGA学习笔记5——调用子模块使用三八译码器设计流水灯
8个Led灯以0.5s的的速率循环闪烁,调用三八译码器模块完成该设计。三八译码器模块见小梅哥Xilinx ZYNQ学习笔记2——38译码器-CSDN博客1.调用子模块decoder_3_8的时候,对其端口进行例化.out(Led)//系统自动分配8对应LED输出,并且LED的输出此时是由三八译码器输出决定的,所以不再使用reg型,而应该是wire型2.在LED_Run.v中,输出不需要定义成reg型;原创 2023-11-14 20:30:07 · 258 阅读 · 0 评论 -
小梅哥Xilinx ZYNQ学习笔记2——38译码器
译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。原创 2023-11-08 15:26:33 · 1074 阅读 · 1 评论 -
小梅哥Xilinx ZYNQ学习笔记1——二选一多路器
1.`timescale 1ns/1ns //时间刻度 前面的1ns是时间单位,后面的代表精度;2.所有程序总是从modbule开始,endmodule结束;a:b;相当于c语言中的if条件判断。4.激励文件中的例化步骤:1)把设计文件 mux2( a,b,sel,out所以的信号);都搬过来,进行在测试平台上面的例化;a.把设计文件mux2( a,b,sel,out所以的信号);都搬过来module mux2( //模块名和端口a,b,sel,out。原创 2023-11-07 09:29:07 · 320 阅读 · 0 评论