- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 FPGA的学习
我用#优快云#这个app发现了有技术含量的博客,小伙伴们求同去《FPGA学习步骤(打算以后也转FPGA了,毕竟工资比硬件工程师高)》, 一起来围观吧 https://blog.youkuaiyun.com/naruto_dong/article/details/92800644?utm_source=app&app_version=4.8.0&code=app_1562916241&uLinkId=usr1mkqgl919blen...
2021-06-14 21:55:59
182
原创 FPGA的学习
我用#优快云#这个app发现了有技术含量的博客,小伙伴们求同去《如何学习FPGA》, 一起来围观吧 https://blog.youkuaiyun.com/k331922164/article/details/44626989?utm_source=app&app_version=4.8.0&code=app_1562916241&uLinkId=usr1mkqgl919blen...
2021-06-13 23:16:22
135
原创 FPGA的学习:基于ROM的VGA图像显示
以十色等宽彩条做背景,将存储于 ROM 中的图片显示在 VGA 显示器的中心位置。图片分辨率为 100*100,VGA 显示模式为 640x480@60。效果类似于下图:首先需要将图片用Matlab转换为mif文件。mif文件生成代码如下:WIDTH=16;DEPTH=10000;ADDRESS_RADIX=UNS;DATA_RADIX=HEX;CONTENT BEGIN 0 :0 ; 1 :0 ; 2 :0 ; 3 :0 ; 4 :0 ; 5 :0 ;
2021-06-11 11:06:53
6544
1
原创 FPGA的学习:DHT11数字温湿度传感器
实验目标:控制 DHT11,读出湿度温度数据显示在数码管中,通过按键使湿度和温度在数码管中切换显示。系统的整体框图和工程模块如下。编写代码:`timescale 1ns/1nsmodule dht11_ctrl( input wire sys_clk , //系统时钟,频率50MHz input wire sys_rst_n , //复位信号,低电平有效 input wire
2021-06-10 16:04:07
1852
1
原创 FPGA的学习:DS18B20数字温度传感器
控制 DS18B20 实现对实时温度的转换并读出来显示在数码管上。`timescale 1ns/1nsmodule ds18b20_ctrl( input wire sys_clk , //系统时钟,频率50MHz input wire sys_rst_n , //复位信号,低电平有效 inout wire dq , //数据总线 output wir
2021-06-09 12:17:20
1522
1
原创 FPGA的学习:红外遥控
使用 FPGA 开发板配套的红外遥控器发送红外信号, FPGA 开发板上的一体化接收头接收到红外信号后传入 FPGA 芯片内, FPGA 芯片接收到信号后进行解码,将解码后的按键码显示在数码管上。若检测到发送了重复码,则让 led 闪烁显示,一个重复码闪烁一次。来看红外接收模块:`timescale 1ns/1nsmodule infrared_rcv( input wire sys_clk , //系统时钟,频率50MHz in
2021-06-09 12:10:06
2593
3
原创 FPGA的学习:简易电压表的设计与验证
外部挂载的高速 AD/DA 板卡的 A/D 部分将输入其中的模拟信号转换为数字量,将数字量传入 FPGA, FPGA 将传入的数字量通过计数转化为电压数值,通过数码管显示转化后的电压值,实现模拟信号的电压测量。整体框图如图所示。其中adc模块。`timescale 1ns/1nsmodule adc( input wire sys_clk , //时钟 input wire sys_rst_n
2021-06-08 19:42:15
1130
原创 FPGA的学习:简易频率计的设计与验证
设计一个基于等精度测量原理的简易频率计,对输入的未知时钟信号做频率测量,并将测量结果在数码管上显示。设计各个模块。画出时序图。用代码来实现。`timescale 1ns/1nsmodule freq_meter_calc( input wire sys_clk , //系统时钟,频率50MHz input wire sys_rst_n , //复位信号,低电平有效 input wire
2021-06-08 19:41:21
1225
原创 FPGA的学习:PLL-IP核的调用
锁相环是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟。其基本原理如下:
2021-06-08 19:31:00
527
原创 FPGA的学习:数码管动态显示的实现(四)
最后进行仿真。`timescale 1ns/1nsmodule tb_top_seg_595();//wire definewire stcp ; //输出数据存储寄时钟wire shcp ; //移位寄存器的时钟输入 wire ds ; //串行数据输入wire oe ; //输出使能信号//reg definereg sys_clk ;reg sys_rst_n ;/
2021-06-08 19:29:26
422
1
转载 FPGA的学习:数码管动态显示的实现(三)
然后根据时序图就能进行程序的编写。首先是data_gen模块的编写。`timescale 1ns/1nsmodule data_gen#( parameter CNT_MAX = 23'd4999_999, //100ms计数值 parameter DATA_MAX= 20'd999_999 //显示的最大值)( input wire sys_clk , //系统时钟,频率50MHz input wire
2021-06-08 19:29:07
1042
原创 FPGA的学习:数码管动态显示的实现(二)
接着画出各部分的时序图。首先是数据生成的时序图。然后是二进制码转BCD码的波形图。最后是数码管动态显示波形图。
2021-06-08 19:28:49
397
2
原创 FPGA的学习:数码管动态显示的实现(一)
用数码管动态实现0~999999的现象。每隔一定的时间间隔进行自加。先画出系统框图。首先是顶层模块的系统框图。其中最后实现一个这样的总体功能。
2021-06-08 19:28:19
843
原创 FPGA的学习:数码管静态显示的实现(三)
实现代码之后,进行仿真。`timescale 1ns/1nsmodule tb_seg_595_static();//wire definewire stcp ; //输出数据存储寄时钟wire shcp ; //移位寄存器的时钟输入 wire ds ; //串行数据输入wire oe ; //输出使能信号//reg definereg sys_clk ;reg sys_rst
2021-06-08 11:54:57
432
4
原创 FPGA的学习:数码管静态显示的实现(二)
接着将控制模块的时序图画出来。按照时序图编写代码。`timescale 1ns/1nsmodule hc595_ctrl( input wire sys_clk , //系统时钟,频率50MHz input wire sys_rst_n , //复位信号,低有效 input wire [5:0] sel , //数码管位选信号 input wire
2021-06-08 11:54:02
657
5
原创 FPGA的学习:触摸按键控制led灯的实现
首先来看时序图。接着按照时序图来编写:`timescale 1ns/1nsmodule touch_ctrl_led( input wire sys_clk , //系统时钟,频率50MHz input wire sys_rst_n , //复位信号,低电平有效 input wire touch_key , //触摸按键信号 output reg led //l...
2021-06-06 16:29:17
428
原创 FPGA的学习:无源蜂鸣器的实现(二)
然后编写程序:`timescale 1ns/1nsmodule beep#( parameter TIME_500MS = 25'd24999999, //0.5s计数值 parameter DO = 18'd190839 , //"哆"音调分频计数值(频率262) parameter RE = 18'd170067 , //"来"音调分频计数值(频率294) parameter MI = 18'd151514 ,
2021-06-06 10:31:04
1369
1
原创 FPGA的学习:状态机的实现(五)
用代码来实现时序图。`timescale 1ns/1nsmodule complex_fsm( input wire sys_clk , //系统时钟50MHz input wire sys_rst_n , //全局复位 input wire pi_money_one , //投币1元 input wire pi_money_half , //投币0.5元
2021-06-04 16:06:29
325
1
原创 FPGA的学习:状态机的实现(四)
刚刚实现了一个简单的可乐机,但是现实生活中还有可能出现0.5元,以及可乐有可能2.5元,然后送入三元还要找零0.5元。首先根据原理,画出系统框图。输入:0.5、1输出:不出可乐/不找零,出可乐/不找零,出可乐/找零状态:0、0.5、1、1.5、1.5、2、2.5、3进行编码输入:00、01、10输出:00、10、11然后描述状态图。然后画出时序图。...
2021-06-04 09:22:58
238
原创 FPGA的学习:状态机的实现(三)
用代码实现fsm`timescale 1ns/1nsmodule simple_fsm( input wire sys_clk , //系统时钟50MHz input wire sys_rst_n , //全局复位 input wire pi_money , //投币方式可以为:不投币(0)、投1元(1) output reg po_cola //po_cola为1时出可乐,po
2021-06-03 15:16:37
243
原创 FPGA的学习:状态机的实现(一)
用状态机实现一些具体问题,实现一个简单的可乐机系统。可乐售价三元,每次投入一个硬币,投入三次后,可乐机吐出一个可乐。输入:投入1元硬币输出:出可乐,不出可乐状态:投入0元,投入1元,投入2元,投入3元。...
2021-06-01 21:25:24
228
原创 FPGA的学习:呼吸灯
首先来看呼吸灯的系统框图和时序图。了解其实现远离之后,编写代码来实现。`timescale 1ns/1nsmodule breath_led#( parameter CNT_1US_MAX = 6'd49 , parameter CNT_1MS_MAX = 10'd999 , parameter CNT_1S_MAX = 10'd999)( input wire sys_clk , //系统时钟50Mhz input
2021-05-30 11:48:38
449
原创 FPGA的学习:流水灯的实现
首先来看流水灯的系统框图和时序图。了解了实现原理之后,照着原理来用代码实现。`timescale 1ns/1nsmodule water_led#( parameter CNT_MAX = 25'd24_999_999)( input wire sys_clk , //系统时钟50Mh input wire sys_rst_n , //全局复位 output wire [3:0
2021-05-29 23:01:55
872
原创 FPGA的学习:按键消抖的实现
首先先来看系统框图和时序图。接着编写代码实现`timescale 1ns/1nsmodule key_filter#( parameter CNT_MAX = 20'd999_999 //计数器计数最大值)( input wire sys_clk , //系统时钟50Mhz input wire sys_rst_n , //全局复位 input wire key_in , //按键输...
2021-05-28 09:29:59
456
原创 FPGA的学习:6分频的实现
首先画出系统框图和时序图。`timescale 1ns/1nsmodule divider_six( input wire sys_clk , //系统时钟50Mhz input wire sys_rst_n , //全局复位 output reg clk_flag //指示系统时钟6分频后的脉冲标志信号);reg [2:0] cnt; //用于计数的寄存器//cnt:计数器从0到5循环...
2021-05-27 10:03:03
1255
2
原创 FPGA的学习:5分频的实现
首先先把偶分频的系统框图和时序图画出来。此次采用降频的原理,了解了远离之后,开始代码的编写。`timescale 1ns/1nsmodule divider_five( input wire sys_clk , //系统时钟50Mhz input wire sys_rst_n , //全局复位 output reg clk_flag //指示系统时钟5分频后的脉冲标志信号);reg [2...
2021-05-26 13:46:42
1517
2
原创 FPGA的学习:阻塞赋值与非阻塞赋值
阻塞赋值:阻塞赋值的赋值号用=表示,对应的电路结构往往与触发沿没有关系,只与输入电平的变化有关系。它的操作可以认为是只有一个步骤的操作,即计算赋值号右边的语句并更新赋值号左边的语句,此时不允许有来自任何其他Verilog语句的干扰,直到现行的赋值完成,才允许下一条的赋值语句的执行。串行块(begin-end)中,各条阻塞赋值语句将以它们在顺序块中的排列次序依次执行。例如:a=1,b=2, c=3;begin a=b+1; b=a+2; c=a-1;en...
2021-05-24 10:28:22
359
2
原创 FPGA的学习:D触发器
首先把系统框图和时序图画出来:同步复位:只在时钟上升沿发生信号的变化异步复位:在时钟的上升沿和复位信号的下降沿发生信号的变化接着编写程序来实现:`timescale 1ns/1nsmodule flip_flop( input wire sys_clk , //系统时钟 input wire sys_rst_n , //全局复位 input wire key_in , //输入按键...
2021-05-24 10:08:47
1619
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人