摘要:分频器的设计 内容: 通用分频器; 偶分频; 奇分频; 半数分频。 实现: 通用分频器 分频公式 N是分频系数。 通用分频器的实现方法:应用N进制计数器,将要被分频的信号作为计数器的时钟脉冲,分频信号作为输出。取M值在计数到0至N-1期间,0-M设置输出为低,M-N-1设置为高。M可调。 //通用N
阅读全文
摘要:逻辑分析仪的应用 内容 建立测试工程; 新建逻辑分析文件; 添加需要观测的信号; 配置采样参数; 保存逻辑分析仪文件; 重新编译和配置。 Signal Tap Logic Analyzer是内嵌于Quartus Prime开发环境中的逻辑分析仪。可以将Signal Tap Logic Analyze
阅读全文
摘要:在友晶DE10-Lite开发板实现8051单片机 1. 移植过程 利用FPGA片内资源构建51系统。软核来自https://www.oreganosystems.at/。还需要添加rom、ram和ramx。rom用来放51单片机的程序,即编译后的.hex文件。ram用来运行51单片机程序。时钟由PL
阅读全文
摘要:PWM呼吸灯 设计一个周期是8ms的PWM,用来控制LED实现呼吸灯的效果。 1. 设计分析 PWM的周期为8ms,每0.1秒调整一次占空比,分10档,从95%、85%、....5%。这里需要设计三个计数器:8ms的计数器,0.1秒的计数器,1秒的计数器。经过测试可以发现档数越多,间隔越小,呼吸灯的
阅读全文
摘要:基于FPGA的贪吃蛇游戏 之代码解析 1. 代码结构 代码结构包含7格.v文件。 下面依次解析。 2. 代码解析 (1) seg_display.v 数码管的译码模块是最熟悉,最简单的模块了。这里是共阳极的数码管,用case语句编码即可。从上图可以看到,这个模块被例化了3次,分别驱动3个数码管显示,
阅读全文
摘要:零、基于FPGA的贪吃蛇游戏设计概述 1. 代码结构 系统模块如图所示: snake_top.v:顶层模块,例化子模块,连接及与外部信号通信; game_ctrl_unit.v:游戏状态控制模块,控制状态转换和输出; snake.v:控制蛇身运动方向和蛇身增长; appple_generate.v:
阅读全文
摘要:八、贪吃蛇之状态机设计 贪吃游戏采用mealy状态机。 1. 游戏状态控制状态机 用一段式编码来完成游戏控制过程: 各状态说明: (1) RESTART:复位后进入重启状态,屏幕显示欢迎界面,6秒后进入游戏难度选择界面,等待选择难度。 (2) START:用SW[2:0]选择游戏难度,按下KEY[3
阅读全文
摘要:九、贪吃蛇之蛇身控制 1. 目标 (1) 游戏难度决定蛇身移动的速度; (2) 蛇身增长; (3) 蛇身移动。 2. 蛇身速度控制 用计数器来控制蛇身移动的时间间隔,间隔短,移动快,游戏难度就越难。在游戏难度选择界面,用SW[2:0]选择难度。 //蛇身移动速度 else begin clk_cnt
阅读全文