自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 32位/16位/4位超前进位加法器 Verilog

首先,搭建1位的全加法器模块,实现1位数据的相加。一位的全加法器相对简单,针对输入信号数据1、数据2以及进位信号输出两个信号,分别是相加之后的结果和进位信号。其中相加的结果直接使用异或门进行计算,避免使用组合逻辑,避免产生系统延迟,计算进位信号使用与门和或门搭配进行实现,当输入信号任意两个或者三个为高电平时,则说明需要进行进位。基于Verilog语言设计一个32位加法器,普通加法器基本上都是串行逻辑,但是随着数据位的增加,串行执行所需要的周期就越长,因此对整个系统造成的相位落后就越大。

2024-07-16 09:13:07 226

原创 基于FPGA的四层电梯 层数可改 Verilog 通过仿真带tb文件

在电梯控制系统设计仿真练习中,学生将能够通过实际的项目实践,深入理解和掌握Verilog语言的应用、FPGA的设计方法以及仿真工具的使用。这种练习不仅培养了学生的工程设计能力,还能够帮助他们理解和分析实际硬件设计与仿真结果之间的关系,从而为未来的工程项目打下坚实的基础。电梯控制器设计任务:设计一个四层楼房自动电梯控制器,用四个 LED显示电梯行进过程,并有数码管显示电梯当前所在楼层位置,在每层电梯入口处设有请求按钮开关,请求按钮按下则相应楼层的LED亮。用CLK脉冲控制电梯运动,每来一个CLK脉冲电梯升(降

2024-07-13 10:05:51 641

原创 GD32系列海棠派学习日志4_ESP8266模块调试

按照这个顺序进行发送,其中注意手机打开TCP创建服务器,手机与ESP8266模块要连接到一个热点上。WIFI模块是我离你越近,你感觉到我对你的喜欢就越强烈~ESP8266接受数据不需要配置。2024.5.30(一天)设置模式 选择模式3。

2024-06-24 11:30:03 163

原创 Quatus软件Verilog调用同步FIFO ip核步骤

FIFO(First In First Out,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写方式。与 ROM 或 RAM 的按地址读写方式不同,FIFO 的读写遵循“先进先出”的原则,即数据按顺序写入 FIFO,先被写入的数据同样在读取的时候先被读出,所以 FIFO存储器没有地址线。FIFO有一个写端口和一个读端口外部无需使用者控制地址,使用方便。FIFO就是如果两个人同频,那么你们永远都不会走散,我的爱意先进先出,但是存满就会表达爱意哦~

2024-06-01 16:52:44 475

原创 Quatus软件Verilog调用PLL ip核步骤

PLL(Phase Locked Loop,即锁相环)是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟,实际上,即使不想改变输入到 FPGA 时钟的任何参数,也常常会使用 PLL,因为经过 PLL 后的时钟在抖动(Jitter)方面的性能更好一些。Altera中的PLL是模拟锁相环,和数字锁相环不同的是模拟锁相环的优点是输出的稳定度高、相位连续可调、延时连续可调;缺点是当温度过高或者电磁辐射过强时会失锁(普通环境下不考虑该问题)

2024-06-01 15:32:27 1099

原创 GD32系列海棠派学习日志3_FLASH读写实验WQ25XX

FMC即Flash控制器,其提供了片上Flash操作所需要的所有功能,在GD32H7XX系列MCU中,具有高达3840KB字节的片上闪存可用于存储指令或数据。全都封装好了 还是比较方便的,但是我就疑问一个东西,就是为什么这个SPI接口定义完了,没有执行bsp_spi_init这个函数对这个接口进行初始化?但是我感觉他这个不就是开发板上的flash芯片,看原理图应该是WQ25XX系列的,GD自己也做FLASH芯片,正好前段时间调了这个芯片。2024.5.29(1小时)读写函数,参数是地址。

2024-05-30 08:10:47 285

原创 GD32系列海棠派学习日志1_按键使用调试(普通和中断)

key_scan()扫描函数主要是监测按键状态,当有按键按下后,all_key_up标志置高,然后返回按键状态,其中通过结构体将按键的按下时间进行了赋值,主程序可以通过判断对按键状态进行具体的控制。按键基础监测时间10 按键回调函数10ms这个 按下自动调用key_scan(10)主程序通过判断按键持续时间进行相应的操作。按键状态监测,根据按键状态进行控制;按键按下了,人生的命运齿轮开始转动?2024.5.29(1小时)GPIO输入功能原理;按键查询输入检测原理;

2024-05-30 08:09:35 366

原创 GD32系列海棠派学习日志1_点亮LED灯

函数参数结构体定义如图所示,主要是名称、引脚、引脚模式、还有callback函数等等。led.h文件里面介绍了相关操作函数,分别是初始化,点亮,熄灭和翻转函数。主程序通过翻转函数以及LCD屏幕进行显示。开发板上有4个LED灯,接口如图所示。2024.5.29 1小时。灯亮了,我的世界也亮了。

2024-05-29 16:33:19 409

原创 GD32系列海棠派学习日志0_板卡资源介绍熟悉

GD32H757开发板外形尺寸100mm*60mm,板内集成了SDRAM/SD卡槽/TFT LCD接口/RGB565接口/OLED接口/摄像头接口/NOR FLASH/ SWD+USART接口/USB接口,板载资源丰富、采用144引脚的GD32 H757ZMT6作为主控芯片,芯片自带3840K字节FLASH和1024k字节SRAM,并外扩32M字节SDRAM和16M字节NOR FIASH,板子提供多种标准接口方便实验和产品开发。主频:最高600Mhz 144pins。

2024-05-29 16:06:57 289

原创 FPGA通过SPI读取WQ25128 FLASH芯片内容 Verilog语言

按照数据手册一步一步去实现,应该问题不大,写数据的话用到的命令稍微多一点,需要确定相关的状态,还需要擦除一定扇区。如果需要完整代码工程的话可能后台私信我,一键三连哦~

2024-05-24 10:05:37 336 1

原创 Quatus软件Verilog调用FIFO ip核步骤

现有市场中又很有封装好的ip核,学会怎么调用ip核能够减小自身代码量,我觉得就类似学会32里面怎么调用库函数,基本一个道理吧。不过这个ip核还需要配置一下。本文以FIFO IP核为例进行操作,如有错误,希望评论指出~

2024-05-08 15:56:10 307 1

转载 STM32---存储器

RAM是“Random Access Memory"的缩写,被译为随机存储器。所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。这个词的由来是因为早期计算机曾使用磁鼓作为存储器,磁鼓是顺序读写设备,而RAM可随读取其内部任意地址的数据,时间都是相同的,因此得名。实际上现在RAM已经专门用于指代作为计算机内存的易失性半导体存储器。根据RAM的存储机制,又分为动态随机存储器DRAM(Dynamic RAM)以及静态随机存储器SRAM(Static RAM)两种。

2024-03-29 11:38:53 204 1

原创 FPGA Verilog 单芯片控制双AD7606芯片

控制双ad7606的目的是因为所需要的通道数12,单个ad7606只有8个通道,因此需要控制2个ad7606满足12个通道的采样需求。

2024-01-12 16:30:44 1263 3

原创 FPGA Verilog 曼彻斯特编码译码 同步 DPLL(二)

前面进行了曼彻斯特编码的讲解,只要注意数据来源频率与编码时钟频率之间的关系就能够精准进行编码工作。同样这两个问题也是保证译码工作的关键!实际上板之后仿真通过,通过示波器观察信号波形能够获取正确的信号波形。

2024-01-10 18:32:15 710 2

原创 FPGA Verilog 串行转并行(1位-16位)带tb

可以通过仿真码字不易 留下你的足迹!全部代码开源

2023-12-07 11:43:30 172 1

原创 IT行业的护城河

只有具备了深厚的技术功底,程序员才能够在复杂的系统环境中游刃有余,从容地应对各种挑战,确保系统的稳定性和安全性。总的来说,程序员的护城河是一个综合性的概念,涵盖了技术能力的深度、对创新的追求以及沟通协作等软实力。只有综合考量这些方面,程序员才能够在数字世界中真正成为护城河,捍卫着系统的安全和稳定,为构筑美好的数字未来贡献自己的力量。良好的沟通能力和团队协作精神是非常重要的,它可以帮助程序员更好地与团队成员、业务部门以及用户进行有效的沟通和协作,共同推动项目的顺利进行并取得成功。

2023-11-20 11:47:30 46 1

原创 FPGA Verilog 实现串口发送任意字节数据(8的倍数)已通过上板验证支持常用波特率

/ ** 功能 : 1、基于FPGA的串口多字节发送模块;// 2、可设置一次发送的字节数、波特率BPS、主时钟CLK_FRE;// 3、UART协议设置为起始位1bit,数据位8bit,停止位1bit,无奇偶校验(不可在端口更改,只能更改发送驱动源码);// 4、每发送1次多字节后拉高指示信号一个周期,指示一次多字节发送结束;// 5、数据发送顺序,先发送低字节、再发送高字节。如:发送16’h12_34,先发送单字节8’h34,再发送单字节8’h12。

2023-11-19 12:15:38 741 4

原创 Verilog 实现CRC_16(DNP)协议校验码已通过仿真

CRC校验(循环冗余校验)小知识CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。NAME:参数模型名称。WIDTH:宽度,即CRC比特数。POLY:生成项的简写,以16进制表示。

2023-11-19 11:51:55 634 7

原创 Verilog小案例-任意位宽并行数据转串行数据

本文以16位并行数据输入为例,将该数据转化为串行数据进行输出,上板验证正确,不存在错误。同时可以进行修改,可以自行结合修改输入位宽,同步修改cnt以及边界值即可!

2023-11-15 16:16:04 224

原创 FPGA Verilog 曼彻斯特编码译码 同步 DPLL(一)

本章给出了曼彻斯特编码的Verilog代码以及上板验证过程,验证成功,没有出现差错。讲解了定义、编码规则、实验代码、注意事项等等。

2023-11-15 15:47:55 1001

原创 Verilog问题求助:采样信号与被采样信号之间的相位差随机 (场景:2个CPLD开发板之间的曼彻斯特编码与译码)应该用什么思路进行解决?

开发板B进行曼彻斯特译码。开发软件:quartus II 语言:Verilog 译码时钟与数据来源之间的相位差随机,不稳定,导致译码错误。

2023-07-11 16:21:42 147

基于Verilog语言设计一个32位超前进位并行加法器 带tb文件 通过仿真 位数可以变8/4/12/24位

基于Verilog语言设计一个32位加法器,普通加法器基本上都是串行逻辑,但是随着数据位的增加,串行执行所需要的周期就越长,因此对整个系统造成的相位落后就越大。因此本实验将设计并行逻辑的加法器,采用超前进位的加法器实现32位加法器。32位加法器本身的逻辑结构还是比较复杂的,因此我选择拆解问题,选择从简单到复杂进行组建模块。首先,搭建1位的全加法器模块,实现1位数据的相加。一位的全加法器相对简单,针对输入信号数据1、数据2以及进位信号输出两个信号,分别是相加之后的结果和进位信号。其中相加的结果直接使用异或门进行计算,避免使用组合逻辑,避免产生系统延迟,计算进位信号使用与门和或门搭配进行实现,当输入信号任意两个或者三个为高电平时,则说明需要进行进位。

2024-07-13

基于fpga 的四层电梯,仿真通过 带tb文件

基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件 基于fpga 的四层电梯,仿真通过 带tb文件

2024-07-13

基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程

基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程 基于fpga的9层电梯,层数可以 基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程

2024-07-13

FPGA Verilog DDS 雏形,本资源只是为了调用一下rom ip核 具体使用流程看说明

ROM 读取mif文件,那么如何用该模版生成一个DDS信号发生器,首先需要确定波形数据,用MATLAB软件生成正弦波、方波、锯齿波等等波形数据,存放在你需要数据大小,注意格式为mif,然后调用的rom ip核中导入该文件即可,这时候控制地址,输出数据,即可看到你想要的波形。 ROM 读取mif文件,那么如何用该模版生成一个DDS信号发生器,首先需要确定波形数据,用MATLAB软件生成正弦波、方波、锯齿波等等波形数据,存放在你需要数据大小,注意格式为mif,然后调用的rom ip核中导入该文件即可,这时候控制地址,输出数据,即可看到你想要的波形。 ROM 读取mif文件,那么如何用该模版生成一个DDS信号发生器,首先需要确定波形数据,用MATLAB软件生成正弦波、方波、锯齿波等等波形数据,存放在你需要数据大小,注意格式为mif,然后调用的rom ip核中导入该文件即可,这时候控制地址,输出数据,即可看到你想要的波形。

2024-06-02

FPGA Verilog 计算信号频率,基础时钟100Mhz,通过锁相环ip核生成200Mhz检测时钟,误差在10ns

结合等精度测量原理和原理示意图可得:被测时钟信号的时钟频率fx的相对误差与被测时钟信号无关;增大“软件闸门”的有效范围或者提高“标准时钟信号”的时钟频率fs,可以减小误差,提高测量精度。 实际闸门下被测时钟信号周期数为X,设被测信号时钟周期为Tfx,它的时钟频率fx = 1/Tfx,由此可得等式:X * Tfx = X / fx = Tx(实际闸门)。 其次,将两等式结合得到只包含各自时钟周期计数和时钟频率的等式:X / fx = Y / fs = Tx(实际闸门),等式变换,得到被测时钟信号时钟频率计算公式:fx = X * fs / Y。 最后,将已知量标准时钟信号时钟频率fs和测量量X、Y带入计算公式,得到被测时钟信号时钟频率fx。

2024-06-02

FPGA Verilog PLL锁相环 FIFO同步 ip核调用 仿真工程

FPGA Verilog PLL锁相环 FIFO同步 ip核调用 仿真工程 FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,允许用户根据设计需求配置其内部逻辑。在FPGA中,Verilog是一种硬件描述语言,用于编写数字电路的逻辑设计。PLL(Phase-Locked Loop)是FPGA中常用的一种频率合成技术,它通过锁定相位来同步不同信号源,常用于时钟管理和频率分频。 锁相环(PLL)在Verilog中实现通常包括电压控制振荡器(VCO)、分频器、鉴相器和低通滤波器等模块。PLL设计的关键在于调整这些模块参数,以达到所需的输出频率和相位关系。 FIFO(First-In-First-Out)是一种常用的存储结构,用于在不同时钟域之间传递数据,解决时钟域间的同步问题。在FPGA设计中,FIFO的Verilog实现会涉及到读写指针管理和深度控制,确保数据的正确存取。 在FPGA设计中,经常需要调用预定义的IP(Intellectual Property)核,如PLL和FIFO IP,这些核由供应商提供,经过验证,可以直接集成到设计中。

2024-06-01

Verilog 实现CRC-16(DNP)协议校验码已通过仿真

Verilog语言可以用于实现CRC_16(DNP)协议校验码,该实现已通过仿真验证。CRC(Cyclic Redundancy Check)是一种错误检测码,广泛应用于数据通信中以确保数据传输的准确性。在这个实现中,Verilog代码通过按照DNP协议规范进行计算和校验,生成符合CRC_16(DNP)标准要求的校验码。CRC_16(DNP)协议采用16位的校验码,对数据进行逐位处理,然后通过特定的多项式进行运算,最终得到校验码。Verilog语言的灵活性和并行计算能力使得这样的复杂运算可以高效地实现。经过仿真验证,该实现能够正确地生成和校验符合CRC_16(DNP)标准的校验码,为数据通信的可靠性提供了重要保障。这种基于Verilog的CRC_16(DNP)协议校验码实现可以广泛应用于各种需要数据完整性保护的场景,例如工业控制系统、智能电网等领域,为数据通信安全性和稳定性提供了可靠的技术支持。

2023-11-19

FPGA Verilog 实现串口发送任意字节数据(8的倍数)已通过上板验证支持常用波特率

FPGA Verilog编程语言可用于实现串口通信,并且可以实现发送任意字节数据,尤其是8的倍数。这种实现已经通过上板验证,并支持常用波特率。在这个实现中,串口模块能够灵活地发送8、16等个数的数据,并且能够自动添加起始位、停止位以及其他必要的控制位,以确保数据的正确传输。这种灵活性使得该串口通信模块适用于各种不同的应用场景,无论是需要大量数据传输的工业控制系统还是对数据精准性要求较高的科学仪器,都可以通过简单的配置来满足需求。使用FPGA Verilog实现串口通信功能不仅能够提供高度的定制化和灵活性,同时也能够充分利用FPGA的并行计算能力,提高数据传输效率,为嵌入式系统的设计提供了更多的可能性。

2023-11-19

2,标准例程-V3.5库函数版本.zip

全套例程

2021-02-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除