草庐IT

FPGA巩固基础:秒表的设计

设计要求:6位8段数码管,低三位显示毫秒计数,最高位显示分钟,其余两位显示秒计数。开始案件与暂停按键,复位按键直接全部归零。扩展部分:每计满一次,led移位一次。框图设计: 思路讲解:首先按键信号经过消抖再用,然后把产生的标志信号传给控制模块,由于控制逻辑很简单就把这部分控制逻辑放进“数据产生模块中了”;然后把数码管与led接口模块interface放进去。按理来讲,应该重新定义个接口模块再把led与nixie放进去,比较规范。模块讲解:值得一提就是数据产生模块与数码管接口模块:数据产生模块: 其实输出端口是几个级联得计数器。代码奉上:`include"para.v"moduledata_ge

【紫光同创国产FPGA教程】——(PGL22G第一章)LED流水灯实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com) 适用于板卡型号:紫光同创PGL22G开发平台(盘古EU22K)一:盘古EU22K开发板简介盘古EU22K开发板共有11个翠绿LED灯,其中1个是电源指示灯(POWER);2个是FPGA的运行状态指示灯:INIT和DONE;有8个用户LED灯(LED1~8),FPGA输出高电平时对应的LED灯亮灯(详情请查看“MES22GP开发板硬件使用手册”)。二:实验目的控制8个LED灯按顺序依次点亮和熄灭。三:实验原理通常的时,分,秒的计时进位大家应该不陌生;1小时=60分钟=360

FPGA学习实践之旅——前言及目录

很早就有在博客中记录技术细节,分享一些自己体会的想法,拖着拖着也就到了现在。毕业至今已经半年有余,随着项目越来越深入,感觉可以慢慢进行总结工作了。趁着2024伊始,就先开个头吧,这篇博客暂时作为汇总篇,记录在这几个月以及之后从FPGA初学者到也算有一定理解程度的学习过程。前言回想我的编程之旅其实挺坎坷的,在我初高中的时候完全没接触过电脑,只有个老人机用于打打电话,看看小说,所以第一次接触程序设计时完全跟天书一样。最最开始写程序应该是Matlab上机作业,这个是靠抄书磕磕绊绊做完的。然后大一下的时候教C++程序设计,在当时看来真的太抽象了,老师上课也没有手把手带着学,现在来看,编程这东西,看的再

FPGA学习实践之旅——前言及目录

很早就有在博客中记录技术细节,分享一些自己体会的想法,拖着拖着也就到了现在。毕业至今已经半年有余,随着项目越来越深入,感觉可以慢慢进行总结工作了。趁着2024伊始,就先开个头吧,这篇博客暂时作为汇总篇,记录在这几个月以及之后从FPGA初学者到也算有一定理解程度的学习过程。前言回想我的编程之旅其实挺坎坷的,在我初高中的时候完全没接触过电脑,只有个老人机用于打打电话,看看小说,所以第一次接触程序设计时完全跟天书一样。最最开始写程序应该是Matlab上机作业,这个是靠抄书磕磕绊绊做完的。然后大一下的时候教C++程序设计,在当时看来真的太抽象了,老师上课也没有手把手带着学,现在来看,编程这东西,看的再

基础设计五(LCD液晶屏)——FPGA学习笔记<6>

目录一.TFT_LCD液晶屏驱动设计简介(1)HV同步模式(2)DE同步模式(3)整体设计(4)TFT_LCD显示时序控制模块程序设计(1)tft_ctrl时序控制模块(2)tft_pic 图像数据生成模块(3)顶层模块二.TFT_LCD液晶屏字符显示前置学习:基础设计四——FPGA学习笔记<5>参考书目:《野火FPGA Verilog开发实战指南》一.TFT_LCD液晶屏驱动设计简介液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态,但是它的分子排列却和固体晶体一样非常规则,因此取名液晶。如果给液晶施加电场,会改变它的分子排列,从而改变光线的传播方向,配合偏振光片,它就

FPGA-1位全加器的实现

目录一.认识全加器1.半加器2.一位全加器二.输入原理图实现1位加法器三.Verilog实现1位加法器四.测试一.认识全加器1.半加器1.半加器的定义半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路。2.半加器的真值表A,B表示二进制数,C表示半加进位,S表示半加和ABCS00000101100111103.输出表达式S=AˉB+ABˉ=A⊕BC=AB2.一位全加器1.1位全加器的真值表Ain表示被加数,Bin表示加数,Cin表示低位进位,Cout表示高位进位,Sum表示本位和AinBinCinCoutSum0000000101010010111010001101101

FPGA-Verilog 仿真可视化

DigitalJS是一个基于JavaScript实现的开源数字电路模拟器,旨在模拟由硬件设计工具(如Yosys)合成的电路。由弗罗茨瓦夫大学的MarekMaterzok开发,源文件托管于Github上。DigitalJS的开源网址如下:https://github.com/tilk/digitaljs下面这个网址:http://digitaljs.tilk.eu/,提供了一个DigitalJS的在线演示程序,可以对Verilog/SystemVerilog等语言进行在线综合、可视化。输入下面这段Verilog代码:modulecircuit(inputa,outputb);assignb=~a

锁相环技术原理及FPGA实现(第一章1.5)

1.6.4MATLAB与Quartus的数据交互        在FPGA设计过程中,目前的仿真调试工具,如ModelSim,只能提供仿真测试数据的时域波形,无法显示数据的频谱等特性,且在对数据进行分析、处理时不够方便。例如,在设计数字滤波器时,只在FPGA开发环境中很难直观、准确地判断滤波器的频率响应特性,在编写仿真测试激励文件时,依靠VHDL或VerilogHDL语言也很难产生用户所需要的具有任意信噪比的输入信号。这些问题给数字信号处理技术的FPGA设计与实现带来了不小的困难。FPGA开发环境中无法解决的复杂信号产生、处理、分析的问题在MATLAB软件环境中却很容易实现。因此,只要能在FP

[FPGA 学习记录] 简单组合逻辑——多路选择器

简单组合逻辑——多路选择器封面来源:Multiplexer文章目录简单组合逻辑——多路选择器1理论学习1.1组合逻辑1.2多路选择器2多路选择器的实战演练2.1实验目标2.2硬件资源2.3程序设计2.3.1模块框图2.3.2波形绘制2.4代码编写2.5代码编译2.6逻辑仿真2.7管脚绑定2.8全编译2.9上板验证在本小节中,我们将使用Verilog语言描述一个具有多路选择器功能的电路,目的是学会使用Verilog语言实现简单的组合逻辑本小节的主要内容分为两个部分:一个部分是理论学习,在这一部分我们会对本小节涉及到的理论知识做一个讲解;另一个部分是实战演练,我们将设计一个多路选择器,加深对理论知

锁相环技术原理及FPGA实现(第一章1.3)

1.3VerilogHDL语言简介1.3.1HDL语言简介        PLD(可编程逻辑器件)出现后,需要有一种设计切入点(DesignEntry)将设计者的意图表现出来,并最终在具体器件上实现。早期主要有两种设计方式:一种是采取画原理图的方式,就像PLD出现之前将分散的TTL(Transistor-TransistorLogic)芯片组合成电路板一样进行设计,这种方式只是将电路板变成了一颗芯片而已;还有一种设计方式是用逻辑方程式来表现设计者意图,将多条方程式语句组成的文件经过编译器编译后产生相应文件,再由专用工具写到可编程逻辑器件中,从而实现各种逻辑功能。        随着PLD器件技