随笔分类 -  Verilog HDL

1 2 3 4 5 6 下一页

HDLBits_review 2015fsm
摘要:题目: 我们将要创建一个计时器: 1. 在检测到特定模式1101时启动; 2. 再移动4位以确定延时时间; 3. 等待计数器计数完成; 4. 通知用户,并等待用户确认定时。 在这个题目里,只实现控制计时器的有限状态机。这里不包括数据路径(计数器和一些比较器)。 串行数据从数据输入引脚获取。当接收到1 阅读全文

posted @ 2026-01-28 10:48 yf.x 阅读(5) 评论(0) 推荐(0)

补码FSM-HDLbits
摘要:使用Moore状态机实现对输入二进制数求其补码的操作。 题目要求:输入x是一个比特序列(每个时钟周期一位),从数字的最低位(LSB)开始,输出z是该数字的2的补码。数字长度任意。电路需要异步复位(areset)。转换在复位释放时开始,在复位断言时停止。 算法:对于补码,从LSB开始,直到遇到第一个1 阅读全文

posted @ 2025-12-27 11:04 yf.x 阅读(24) 评论(0) 推荐(0)

串行数据流输出其中的数据位-HDLbits
摘要:把检测到成功收到的串行数据流中的8位数据位输出。 module top_module( input clk, input in, input reset, // Synchronous reset output [7:0] out_byte, output done); // reg [9:0]da 阅读全文

posted @ 2025-12-19 11:09 yf.x 阅读(14) 评论(0) 推荐(0)

串行数据接收判断-HDLbits
摘要:要求判断一段串行数据是否接收成功,(done=1).数据帧的起始位是0,中间八位数据,结束位是1. 从空闲状态开始,也就是初始状态是1,当接收到0,进入启动状态,然后每个数据位是1个状态,接收到1进入停止位,接收到0进入 错误状态,直到接收到1,返回初始状态。(这里往往会把错误状态忽略) modul 阅读全文

posted @ 2025-12-19 10:15 yf.x 阅读(8) 评论(0) 推荐(0)

输出PS2数据流-HDLbits
摘要:要求添加数据路径,把有效的PS2的3个字节的数据输出。 module top_module( input clk, input [7:0] in, input reset, // Synchronous reset output [23:0] out_bytes, output done); // 阅读全文

posted @ 2025-12-18 15:42 yf.x 阅读(30) 评论(0) 推荐(0)

PS2数据流检测状态机-HDLbits
摘要:要求检测3个字节的数据流,每个时钟收到一个字节,首字节的bit[3]是1就是起始字节,做数据流的边界判断,收到有效的3字节,输出一个时钟长度的标记信号done。 module top_module( input clk, input [7:0] in, input reset, // Synchro 阅读全文

posted @ 2025-12-18 09:39 yf.x 阅读(10) 评论(0) 推荐(0)

独热码状态机-HDLbits
摘要:要求用等式实现,独热码编码。 module top_module( input in, input [9:0] state, output [9:0] next_state, output out1, output out2); assign next_state[0]=~in&(state[0]| 阅读全文

posted @ 2025-12-17 16:11 yf.x 阅读(7) 评论(0) 推荐(0)

旅鼠4-HDLbits
摘要:在老鼠左右走,碰墙翻转,挖坑,掉落之外加了摔死的状态。要求掉落时长超过20个时钟并且撞地就死。 难点在于下落时长的计算,必须在2种下落状态计算是否超过20个时钟,另,计数器的位宽不方便定义很大,用int比较合适。 再者就是状态转换。 module top_module( input clk, inp 阅读全文

posted @ 2025-12-17 10:31 yf.x 阅读(10) 评论(0) 推荐(0)

旅鼠游戏3-HDLbits
摘要:在左右走,掉落的基础上再加上挖坑的动作,重点是判断优先级,掉落》挖坑》左右走。 注意:不能边掉边挖,只能在没掉,行走时,停下来挖。也就状态转换的逻辑要清晰。 module top_module( input clk, input areset, // Freshly brainwashed Lemm 阅读全文

posted @ 2025-12-16 11:16 yf.x 阅读(18) 评论(0) 推荐(0)

旅鼠游戏2-HDLbits
摘要:还是那个老鼠左右走动的游戏,这次除了撞墙左右翻转之外,还加上了地面消失就掉落的功能,地面恢复后,继续掉落之前的状态。(越来越像超级玛丽了) module top_module( input clk, input areset, // Freshly brainwashed Lemmings walk 阅读全文

posted @ 2025-12-16 09:24 yf.x 阅读(14) 评论(0) 推荐(0)

旅鼠游戏--HDLbits
摘要:游戏规则很简单,老鼠单向移动,撞墙就左右翻转。同时撞左右墙,就同时右左翻转。用状态机实现。 module top_module( input clk, input areset, // Freshly brainwashed Lemmings walk left. input bump_left, 阅读全文

posted @ 2025-12-15 16:17 yf.x 阅读(5) 评论(0) 推荐(0)

水库水位控制问题-HDLbits
摘要:原题描述的比较绕,大概就是水库供水,有3个水位探测器分别为s1,s2,s3,当水位最低时,小于S1,3个进水的阀门FR1,FR2,FR3和补充阀门deltaFR都打开,当水位在S1~S3分两部分,S1~S2 开FR1和FR2,S2~S3,开FR1,这两种情况里,如果水位监测到下降,deltaFR也要 阅读全文

posted @ 2025-12-12 16:19 yf.x 阅读(17) 评论(0) 推荐(0)

康威生命游戏-hdlbits
摘要:把16*16的格子分成三个区域,4个角,4条边和中间。每个格子有8个邻居,上下左右对角连接闭合。当邻居和是3,这个格子下一状态是1,和是2,下一状态保持,其他为0. module top_module(input clk,input load,input [255:0] data,output [2 阅读全文

posted @ 2025-12-10 17:20 yf.x 阅读(25) 评论(1) 推荐(0)

分频器的应用
摘要:分频器的应用 设计输出频率为2KHz,占空比为0~100%可调PWM信号的应用电路。要求占空比的分辨率为1%。 分析 要求占空比为0~100%可调,分辨率为1%。应该有101种,用复位信号控制占空比为1,用100进制BCD码计数器控制占空比为0~99%。 开发板提供50MHz时钟,分频至2KHz, 阅读全文

posted @ 2024-06-03 19:56 yf.x 阅读(82) 评论(0) 推荐(0)

分频器的设计
摘要:分频器的设计 内容: 通用分频器; 偶分频; 奇分频; 半数分频。 实现: 通用分频器 分频公式 N是分频系数。 通用分频器的实现方法:应用N进制计数器,将要被分频的信号作为计数器的时钟脉冲,分频信号作为输出。取M值在计数到0至N-1期间,0-M设置输出为低,M-N-1设置为高。M可调。 //通用N 阅读全文

posted @ 2024-05-30 09:14 yf.x 阅读(273) 评论(0) 推荐(0)

逻辑分析仪的应用
摘要:逻辑分析仪的应用 内容 建立测试工程; 新建逻辑分析文件; 添加需要观测的信号; 配置采样参数; 保存逻辑分析仪文件; 重新编译和配置。 Signal Tap Logic Analyzer是内嵌于Quartus Prime开发环境中的逻辑分析仪。可以将Signal Tap Logic Analyze 阅读全文

posted @ 2024-05-27 15:59 yf.x 阅读(186) 评论(0) 推荐(0)

在友晶DE10-Lite开发板实现8051单片机
摘要:在友晶DE10-Lite开发板实现8051单片机 1. 移植过程 利用FPGA片内资源构建51系统。软核来自https://www.oreganosystems.at/。还需要添加rom、ram和ramx。rom用来放51单片机的程序,即编译后的.hex文件。ram用来运行51单片机程序。时钟由PL 阅读全文

posted @ 2024-05-20 15:34 yf.x 阅读(187) 评论(0) 推荐(0)

PWM呼吸灯
摘要:PWM呼吸灯 设计一个周期是8ms的PWM,用来控制LED实现呼吸灯的效果。 1. 设计分析 PWM的周期为8ms,每0.1秒调整一次占空比,分10档,从95%、85%、....5%。这里需要设计三个计数器:8ms的计数器,0.1秒的计数器,1秒的计数器。经过测试可以发现档数越多,间隔越小,呼吸灯的 阅读全文

posted @ 2024-05-16 14:42 yf.x 阅读(281) 评论(0) 推荐(0)

基于FPGA的贪吃蛇游戏 之代码解析
摘要:基于FPGA的贪吃蛇游戏 之代码解析 1. 代码结构 代码结构包含7格.v文件。 下面依次解析。 2. 代码解析 (1) seg_display.v 数码管的译码模块是最熟悉,最简单的模块了。这里是共阳极的数码管,用case语句编码即可。从上图可以看到,这个模块被例化了3次,分别驱动3个数码管显示, 阅读全文

posted @ 2024-05-13 19:45 yf.x 阅读(513) 评论(0) 推荐(0)

零、基于FPGA的贪吃蛇游戏设计概述
摘要:零、基于FPGA的贪吃蛇游戏设计概述 1. 代码结构 系统模块如图所示: snake_top.v:顶层模块,例化子模块,连接及与外部信号通信; game_ctrl_unit.v:游戏状态控制模块,控制状态转换和输出; snake.v:控制蛇身运动方向和蛇身增长; appple_generate.v: 阅读全文

posted @ 2024-05-08 14:42 yf.x 阅读(111) 评论(0) 推荐(0)

1 2 3 4 5 6 下一页

导航