- 2024-11-201(2)verilog语法基础
语法介绍可综合与不可综合可综合的verilog语法:语法可以综合成实际的电路组合逻辑:由一堆逻辑单元实现时序逻辑:由寄存器(D触发器)实现,如always@(posedgei_clk)b<=a;只有在时钟上升沿才会把值输出出去,否则就一直存着不可综合的verilog语法:语法不可综合成实际的电路如a<=#1b
- 2024-11-19SV 语法 简介
SystemVerilog(简称SV)是硬件描述语言(HDL)Verilog的扩展,旨在增强语言的表达能力,特别是在硬件设计与验证方面。它包括了许多新特性,既支持硬件描述,又提供了强大的功能来支持硬件验证。SystemVerilog的语法和Verilog类似,但在许多方面提供了更为丰富的特性,比如面向对象编程、随机化
- 2024-11-18SV 接口 Interface 补充(约束方法)
在SystemVerilog中,如果你希望限制接口的某些部分在特定条件下可用或不可用,可以利用约束(constraint)、任务(task)、函数(function)以及接口内的访问控制来实现。这种限制通常是基于设计需求或者验证需求,常见的应用场景包括:限制某些信号在某些情况下的访问,或者在特定条件下禁止或启
- 2024-11-18门控时钟-无毛刺的时钟切换
一、问题假设存在这样的时钟控制模型:CLK1、CLK2以及系统时钟的频率与相位均不一致,我们希望在clk_sel=1时,输出CLK1,反之输出CLK2,CLK_SEL可以由系统时钟驱动,也可以由组合逻辑驱动。那么在这种情况下就会出现以下的“毛刺”问题:可以看到,在CLK_SEL的交界处,非常容易出现CLK_OUT时
- 2024-11-16一文讲透 FPGA CDC 多bit跨时钟域同步-hand-shanking机制
一、背景数据的跨时钟域处理是FPGA开发过程中的常见问题,存在两种情况慢时钟向快时钟同步:只需在快时钟域打两拍即可。其RTL如下:打拍同步的原理:大家在初学FPGA时,经常听过FPGA中对信号打拍可以有效得避免亚稳态,而且一般要打两拍,其数学本质是如果打一拍发生错误得概率是1/1000
- 2024-11-13基于FPGA的1024QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
1.算法仿真效果vivado2019.2仿真结果如下(完整代码运行后无水印): 设置SNR=40db 将数据导入matlab显示星座图: 设置SNR=35db 将数据导入matlab显示星座图: 仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要
- 2024-11-05vivado RAM IP核的使用
目录RAM(RandomAccessMemory)简介 配置RAM单口RAM程序设计 testbench 仿真结果RAM(RandomAccessMemory)简介 当我们做相关项目时,经常会遇到存储数据的问题,数据量过大时,我们可以将其存储在FPGA芯片的外设存储器上,比如sdram、ddrsdram等,然
- 2024-11-05verilog实现消抖操作
发的第一篇文章,是我仿照别人做的verilog消抖代码,有什么不足之处希望各位大佬能帮我提出来,尽管批评!也欢迎各位和我一样的初学者来和我一起讨论.设计思路:通过按键按下代表输入高电平,当检测到有输入时,开始计时,短暂计时结束后如果发现仍有输入,则判断为有效输入,输出高电
- 2024-11-04SWJTU数电实验:可控分频计数器
一、实验要求基本实验内容1、设计一个可控分频器,clk_in为分频器时钟输入(50MHz,已固定连接在PIN_90),sel为选择开关,clk_out[1:0]为分频器信号输出。当sel=0时,clk_out[0]=sn[3:0]Hz,clk_out[1]=sn[3:0]/2Hz;当sel=1时,clk_out[0]=sn[3:0]H
- 2024-11-04基于FPGA的可控分频器设计与应用
###标题:基于FPGA的可控分频器设计与应用---####正文:可控分频器在数字电路中扮演着重要角色,尤其是在频率合成和时钟管理方面。基于FPGA的实现不仅灵活且易于修改,本文将详细介绍如何设计和实现一个可控分频器,并展示其应用实例。---###一、可控分频器的基本概念可控分频
- 2024-11-02数字IC中Verilog编码注意事项
一、禁用多驱动一个wire型变量(具体到每个bit),只能在一个assign语句赋值一个reg型变量(具体到每个bit),只能在一个always语句赋值综合工具不能识别互斥条件在一个always块内,一次触发,对同一个信号最多只赋一次值比如:不要用多个ifalways@(posedgeclkornegedgerstn)begin
- 2024-10-31Lattice ICE40LP8K开发
一、开发工具:ICEcube2,界面非常原始,只有PLLIP核添加功能,其他IP核貌似只能使用primitive替换。不支持时序分析、在线仿真等功能。二、原语使用全局布线资源在iCE40FPGA设备中,有8个高驱动缓冲器,称为全局缓冲器(GlobalBuffers,GBUFx),它们连接到8条低偏斜(low-skew)的全
- 2024-10-27音频接口电路的PCB设计
在现代电子产品中,音频接口电路扮演着至关重要的角色。它连接了麦克风、扬声器以及其他音频设备与计算机,负责将模拟和数字信号之间进行有效转换和传输。因此,在PCB设计中,合理布局音频接口电路至关重要,以确保信号的质量和系统的稳定性。一、音频接口的基本结构音频接口通常包
- 2024-10-272025单片机选题推荐|基于单片机的车内防窒息系统
作者主页:编程千纸鹤作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与
- 2024-10-23基于FPGA的64QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
1.算法仿真效果 本课题是在博主以前写的文章《m基于FPGA的64QAM调制解调通信系统verilog实现,包含testbench,不包含载波同步》的升级,升级内容包括信道模块(可以设置SNR),误码率统计,同时修正了数据输入频率问题,从而提升了系统的仿真效率。 vivado2019.2仿真结果如下(完
- 2024-10-23XPM_CDC_PULSE
免责声明:本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。读者在使用本文信息时,应自行验
- 2024-10-21使用Verilog设计分频模块(2Hz)
在数字电路设计中,分频器是一种常见的电路,用于将一个高频的时钟信号分频到一个较低频率的时钟信号。本次将通过一个实际的例子,讲解如何使用Verilog语言设计一个分频器,将系统时钟信号分频到2Hz。 在数字电路系统的设计中,分频器是一种应用十分广泛
- 2024-10-18正点原子新起点V2开发板FPGA关于SDRAM代码解读
正点原子新起点V2开发板FPGA关于SDRAM代码解读1.SDRAM概述SDRAM(SynchronousDynamicRandomAccessMemory)是一种同步动态随机存储器,广泛用于FPGA项目中。通过SDRAM控制模块,可以实现数据读写、刷新等操作。本文对SDRAM的控制模块进行详细解读,分析代码中的命令控制、数据传输、
- 2024-10-17Tang Primer 25K学习记录
TangPrimer25KTangPrimer25K是基于GW5A-LV25MG121所设计的一款极小封装的核心板(23x18mm),并配套全引脚引出(除MIPI高速脚外)的25KDock底板。(国产高云FPGA),作为学习使用,非常小巧,大家可以购买(底板的3d保护壳可以使用博主的,建议打印一个,因为fpga开发板这种海上比较脆弱,如果
- 2024-10-17Verilog代码规范
历史修改信息版本更改描述更改人批准人修订日期/生效日期A01发布首版ldy一、目的作为我司verilog开发过程中的输入文件,用于统一FPGA开发人员的代码风格。从而在满足功能和性能目标的前提下,能够规范代码和优化电路,增强代码的整洁度、可读性、
- 2024-10-15基于FPGA的16PSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
1.算法仿真效果VIVADO2019.2仿真结果如下(完整代码运行后无水印): 设置SNR=30db 设置SNR=20db: 系统RTL结构图如下: 2.算法涉及理论知识概要 十六进制相位移键控(16PSK,16-PhaseShiftKeying)是一种数字调制技术,它通
- 2024-09-29sdram控制器设计(五)- 读操作问题排查
实验背景在(四)中介绍了sdram读操作的实现和仿真过程,现在介绍读操作实现过程中出现的一些问题。实验内容介绍sdram控制器读模块的实现和仿真验证过程中的问题。实验步骤在(四)中,读操作的波形图如下:写数据正常,从sdram的sdram_dq(与读模块read_dq连接)端口读出的数据也是正确
- 2024-09-14fpga学习日志
学习目标:高速、复杂协议或算法、神经网络加速本学习是以赛灵思Xilinx的Vivado为开发1.底层结构:FPGA主要有六部分组成:可编程输入输出单元(IO)、可编程逻辑单元(CLB)、完整的时钟管理、嵌入块状RAM、布线资源、内嵌的底层功能单元和内嵌专用硬件模块。其中最为主要的是可编程输出
- 2024-09-13SPI协议看这一篇就够了!(图文+代码+解析+仿真)
目录SPI协议简介SPI工作原理实验需求模块图时序图小结SPI协议简介1.高速传输,SPI作为三大低速总线(UART、IIc、SPI)之一,其传输速度是这个个中最快的一个。它是一种高速、全双工、同步串行通信总线。所谓高速,指的是传输速度,最高能达到几十M/s,具体速度取决于硬件实现和时钟
- 2024-09-13Vivado IP综合选项Global和Out-Of-Context区别
当我们在使用Vivado进行IP综合时,通常需要选择适合当前设计的综合选项,其中全局综合和上下文外综合是两个常用选项,但它们之间有哪些差别呢?首先全局综合会将整个设计代码一起综合成为一个顶层模块,这种综合方式可以提高设计的时序分析和优化效率,同时也能避免时间浪费在综合子