![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA学习路径
文章平均质量分 75
step_forward7
这个作者很懒,什么都没留下…
展开
-
FPGA学习笔记(6)——串、并转换
74HC595逻辑用Verilog实现原创 2022-07-19 20:15:08 · 3737 阅读 · 0 评论 -
FPGA学习笔记(5)——步进电机梯形加减速算法
使用加减速的目的是:防止步进电机的启动频率过快而无法正常启动,避免控制脉冲频率变化过大造成电机丢步或过冲。空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。步进电机的基本概念及控制模式参考如下链接:https://www.elecfans.com/d/1294049.h原创 2022-05-11 18:33:19 · 6288 阅读 · 8 评论 -
FPGA学习笔记(4)——BCD计数器、计数器级联
bcd计数器定义:4bit的counter计数到9,再进行级联,则输出值q可以直接用bcd码表示成十进制数。例如计数456次,输出值为q为12’h456。 q[11:8] q[7:4] q[3:0] 4 5 6 代码如下:counter_4bitmodule counter_4bit #( parameter c_number = 4'd10 )( inp原创 2022-04-29 17:25:46 · 2750 阅读 · 0 评论 -
FPGA学习笔记(3)——如何理解时序逻辑会延迟一拍的现象
疑惑:什么是时序逻辑会延迟组合逻辑一拍?如何理解该现象?当数据变化沿与寄存器时钟上升沿重合时,寄存器输出信号是什么?结论:DFF有输入端(D端)和输出端(Q端),D端连接部分组合电路,其值随组合电路的输入值同步变化; 所谓“延迟一拍”是指当时钟上升沿来临时,D端数据会传送到Q端,即Q值相较于D值会延迟一拍; 当数据变化沿与寄存器时钟上升沿重合时,可看作D端数据先变化,随即再将值传给Q端,即波形图显示的是寄存器输出(Q)为信号跳变沿后的值,如图4; 寄存器之间的延迟,即每经过一个DFF,就会增加原创 2022-04-26 11:12:01 · 6459 阅读 · 1 评论 -
FPGA个人学习心得(1)
(1)case语句会综合出mux或decoder,而if-else语句会综合出mux和比较器comparator;(2)always块中赋值的变量为reg型,否则会出现error:“illegal LHS in quasi continuous assignment”(3)always@(*)为组合逻辑,mux、decoder、encoder均为组合逻辑,case语句可以综合出来mux(4)always@(posedge clk or negedge rst_n)为时序逻辑,会综合出DFF(寄存原创 2022-04-20 22:58:13 · 1142 阅读 · 0 评论 -
FPGA学习笔记(2)——分频器(任意偶分频、任意奇分频)
偶数次分频(占空比50%)工作原理:要实现2n分频,使用一个计数器计数到n-1时,输出信号电平翻转。例:系统时钟50MHz,需要10k的时钟输出。需要对系统时钟进行5000分频,计数器计数到2499,out信号翻转,即可实现out为10k。RTL:Tb:奇数次分频(占空比50%)原理:要实现2n+1分频,使用计数器在计数到n和2n时,分别在系统时钟上升沿和下降沿翻转得到两个生成时钟,再将两个时钟做与/或运算,得到分频后的时钟。例:系统时钟50MHz,需要4原创 2022-04-21 22:40:16 · 1921 阅读 · 1 评论