长安er
追寻小确幸
展开
-
时序电路的Verilog设计——基本时序元件
该模块有五个输入端口:clk(时钟信号)、reset(异步复位信号)、enable(时钟使能信号)、D(数据输入信号)和一个输出端口Q(状态输出信号)。当复位输入端(R)接收到复位信号时,无论时钟信号的状态如何,D触发器的输出都会被强制置为复位状态,这种复位操作是同步的,即在时钟信号的边沿触发。如果复位信号(R)处于非激活状态,则D触发器会根据数据输入端(D)的状态在时钟信号的边沿触发并将数据输出到输出端(Q)。或类似的语法格式,在时钟信号的上升沿或复位信号的上升沿触发函数内的逻辑操作。原创 2024-02-21 16:10:42 · 432 阅读 · 0 评论 -
FPGA综合设计实验:基于PWM脉宽调制的呼吸流水灯设计
1.选题思考与过程反思此次综合实验设计,最初是打算使用VGA进行贪吃蛇游戏的设计,但在实现老师的要求“在VGA上显示姓名学号及校徽”时遇到的了困难,虽然可以很好的实现图片的显示,但在文字的显示这一问题上一直未能解决。于是在验收前几天选择了一个更简单易通过的呼吸灯设计。回望整个综合实验的设计过程,时间大部分花在代码的调试上,无论是最初的VGA图片和文字显示还是呼吸灯中如何更新颖的呈现亮灯过程。原创 2023-07-06 00:00:00 · 1838 阅读 · 0 评论 -
FPGA实验六:PWM信号调制器设计
(1)掌握通信信号调制过程及实现原理;(2)了解设计中的优化方案;(3)进一步学习复杂数字系统设计;(4)培养工程思维及创新思维。(1)实现单路PWM 信号模块,可通过端口设置初始相位,频率,占空比;(2)通过模块调用方法,实现三路PWM信号输出,分辨展示相位,频率,占空比可调;(3)加入正弦波形VTH(t)实现SPWM波形;1.顶层文件代码限于篇幅,此处仅给出顶层代码。原创 2023-07-05 14:00:00 · 2925 阅读 · 7 评论 -
FPGA实验五:信号发生器设计
(1)掌握信号发生器的原理;(2)学习复杂数字系统设计;(3)学习用IP核进行设计;(4)学习用在线逻辑分析仪观察FPGA产生的信号。(1)数字化波形数据存在ROM中,ROM用IP核进行设计;(2)正弦波或方波、锯齿波波形可选并数码管显示所选波形种类;(3)信号频率、幅度可调并用数码管显示频率和幅值;(4)连接开发板,用在线观察信号的幅度、频率调制波形;(5)可采用DDS原理产生正弦信号。限于篇幅,此处仅给出顶层文件代码。原创 2023-07-05 09:04:40 · 4112 阅读 · 3 评论 -
FPGA实验四:交通灯控制器设计
当在 s0 即 MGCR 时,执行语句如下:如果计时器为 0,则开始判断信号 S,如果信号有效,即乡间公路有车,则跳转到 s1,即 MYCR 状态,进行四秒黄灯倒计时,如果信号无效,则仍处于 MGCR 状态,重新从 60 秒开始倒计时。秒倒计时结束,计时器为 0 时,状态转换为 s3,即 MRCY 状态,进行四秒黄灯倒计时,但一旦 S 信号为 0,则立即跳出状态 s2,进入 s3 MRCY 状态。(4)分析:主红乡黄,数码管开始4s倒计时,计数完成后进入主绿乡红状态,数码管60s倒计时,重复上述状态。原创 2023-07-05 08:52:11 · 5502 阅读 · 5 评论 -
FPGA实验三:状态机的设计
(1)掌握序列发生和检测的工作原理;(2)掌握时序电路中状态机的应用;(3)掌握用Verilog语言实现复杂时序电路的设计过程。设计序列发生和检测器:(1)先实现串行序列发生器的设计,产生序列0111010011011010;再设计检测器,若检测到串行序列11010则输出为“1”,否则输出为“0”,并对其进行仿真和硬件测试,选择实验电路验证功能;原创 2023-07-04 18:32:15 · 2922 阅读 · 0 评论 -
FPGA实验二:模可变计数器设计
SW1为使能端,M_SET为设置的模值,R_SET为清零信号,LED_OUT为计数器输出,cnt_count为计数序列,clk1为时钟信号,SET为模值变化的开关。model,那么其值就继续加 1,若计数器的值等于设定的模值,那么计数器的值回到 0 开始重新计数。在异步清零后,模值变为9,当第九个时钟信号到达后,LED_OUT产生输出信号,后面计数器模值继续变化,LED_OUT对应产生输出信号。模值可设置为1~15,由右下角的四个按钮开关设置,L1所指的led灯代表输出信号,每结束一次计数,就会亮一次。原创 2023-07-04 18:23:28 · 1812 阅读 · 0 评论 -
FPGA实验一:层次法设计组合电路(加法器)
Testbench模块最重要的的任务就是利用各种合法的语句,产生适当的时序和数据,以完成测试,并达到覆盖率要求。在于初学时对软件的不熟悉,有时候明明知道自己下一步该做什么,却不知道应该点哪里,选择什么选项,经过在哔哩哔哩等平台的学习后才知道一。(1)先用Verilog HDL文本实现一位全加器,通过调用一位全加器完成4位全加器的设计,熟悉层次设计概念;a=9,b=9,ci=1,此时sum=3,co=1,向高位进了一位。进位co亮灯,表示sum的亮灯情况为0011,即和为3,产生一个进位。原创 2023-07-04 08:44:42 · 1342 阅读 · 1 评论