• 博客(813)
  • 收藏
  • 关注

原创 资料汇总更新|FPGA软件安装包、书籍、源码、技术文档…(2021.01.04更新)

今天给大侠带来资料汇总,这是一篇汇总篇,汇总的内容就是,“FPGA技术江湖”公众号从2020年年初开始更新至今(2021.01.04),所有自动回复能获取的软件安装包、书籍、技术文档等,本次更新添加了之前软件安装包的其他不少版本以及不少学习资料。话不多说,上货。其他自动回复获取不了的电子版资料基本都在论坛,可以自行去论坛下载。论坛网址:www.sxznfpga.com说在前面,看着各位大侠在公众号内的回复私信,一顿猛虎操作,然后啥也没有,汇总之前提醒一下,公...

2021-01-05 22:55:48 6320 5

原创 国庆节快乐

祝大家国庆节快乐!

2024-10-01 05:46:56 218

原创 如何用FPGA实现一个通信系统的发射端&接收机?

请注意,这只是一个非常基础的示例,实际的通信系统可能需要更多的功能和优化,如错误检测、校验和、流控制等。:用FPGA实现一个通信系统(5GHz频段,通信距离越10km)的发射端&接收机,如何规划学习路线?以下是一个简单的基于 FPGA 的通信系统发射端和接收端的 Verilog 代码示例,仅供参考。1. 数字信号生成:使用 FPGA 内部的逻辑资源生成要发送的数字信号,例如编码、调制等。1. 时钟管理:确保 FPGA 内部的时钟稳定和准确,以支持高速的数据处理。

2024-09-24 17:18:01 444

原创 怎么实时查看触控采样率?

在实际应用中,可能需要查阅 DSP 的技术文档、参考手册或相关的开发资料,以确定具体的寄存器地址、配置方法和 API 函数,从而准确地获取触控采样率信息。1. 配置 ADC:使用相应的寄存器设置 ADC 的工作模式,例如采样模式(同步或顺序采样)、模拟输入范围等。:要在 DSP中实时查看触控采样率,具体的实现方式可能会因 DSP 的型号和所使用的开发环境而有所不同。4. 在代码中读取 ADC 转换结果的寄存器或相关变量,以确定采样的时间间隔或次数。5. 根据采样时间间隔或次数计算出触控采样率。

2024-09-24 17:13:13 215

原创 FFT在实际工程应用中有什么作用,有没有什么事情没有FFT就做不成?

若不使用 FFT,对音频信号的特征提取将极为耗时,难以满足实时处理的需求,使得音频压缩效率低下,语音识别准确率和实时性无法保障。在雷达系统中,FFT 用于对回波信号的处理,以检测目标的速度和位置。如果没有 FFT 的快速处理能力,雷达系统难以在短时间内对大量的回波数据进行分析,无法及时准确地探测到目标,严重影响雷达的性能。

2024-09-24 17:11:54 34

原创 Verilog和system Verilog应该怎么自学?

• 在 GitHub 等代码托管平台上查找高质量的 Verilog 和 System Verilog 代码,学习别人的编程风格和技巧。• 在掌握 Verilog 的基础上,逐步学习 System Verilog 的高级特性,如面向对象编程、断言等。• 根据自己的时间和进度,制定合理的学习计划,保持学习的连贯性和系统性。

2024-09-24 17:11:18 81

原创 为什么FPGA属于硬件,还需要搞算法?

至于 PCB设计,对于单纯的 FPGA 开发,通常不是必需的。FPGA 虽然是硬件,但它具有可编程性,要实现特定的功能,如数字信号处理、图像处理、加密解密等,就需要设计相应的算法来指导硬件资源的配置和利用,以达到期望的性能和功能。总的来说,学习 FPGA 需要综合掌握语法、硬件架构、算法设计等多方面的知识,随着学习的深入,你会逐渐理解它们之间的关系和相互作用。单纯搞算法就行了吗?单纯搞算法是不够的,还需要理解硬件的架构和资源,以便更有效地将算法映射到 FPGA 上,实现最优的性能和资源利用。

2024-09-24 17:10:37 156

原创 异步FIFO地址从快时钟域同步到慢时钟域的问题

2. 从快时钟域到慢时钟域,存在漏采样的可能性。在快时钟域中地址变化较快,如果慢时钟的采样频率跟不上快时钟域地址的变化频率,就可能出现漏采样的情况。为了减少漏采样的风险,通常会采用一些特殊的设计技巧,比如使用格雷码来表示地址,或者增加一些握手信号来确保数据的准确传输。:异步FIFO地址从快时钟域同步到慢时钟域的问题,谁能解答一下啊?2. 从快时钟到慢时钟,会不会漏采样,就是快时钟域的地址会被扣掉?我想问一下异步FIFO地址从快时钟域同步到慢时钟域,两个问题。1. 是多bit打拍,这样会不会有时延?

2024-09-24 17:09:32 51

原创 FPGA 中常用的编程语言有哪些?

3. SystemVerilog:是 Verilog 的扩展版本,增加了许多新的特性和功能,如面向对象编程、断言等,提高了设计的效率和可维护性。1. Verilog:这是一种硬件描述语言,广泛用于数字电路的设计和建模。它的语法类似于 C 语言,简洁明了,容易学习和理解。这三种语言是 FPGA 开发中最为常用的编程语言,开发者可以根据项目需求和个人偏好选择适合的语言。2. VHDL:也是一种硬件描述语言,具有严格的语法和结构,适用于大型、复杂的设计项目。:FPGA 中常用的编程语言有哪些?

2024-09-24 17:08:22 157

原创 SDRAM掉电能保持多长时间?

需要注意的是,SDRAM 通常用于需要快速读写数据的场合,例如计算机的内存。在实际应用中,为了避免数据丢失,系统通常会在掉电前采取措施将重要数据保存到非易失性存储器(如硬盘、闪存等)中,或者使用不间断电源(UPS)来维持系统的供电,以确保数据的安全性和完整性。在低温环境下,数据可能可以保存相对较长的时间,比如 1 个小时左右,但这也不是绝对的,而且长时间的低温保存并不常见。如果对数据的保存有较高要求,建议使用具有非易失性的存储介质来长期存储重要数据,而不仅仅依赖 SDRAM 的短暂数据保持能力。

2024-09-24 17:07:37 32

原创 答疑系列:深入应用FPGA技术,对于人形机器人的实用化可能产生哪些影响?

发挥FPGA高速、并行、运算及引脚资源极其丰富、定时精确(纳秒级)、硬件直接实现算法、操作数存取机制简单且高效、功能极其灵活、开发调试手段先进的优点,将FPGA用于实现(以及协助CPU实现)人形机器人控制系统之中基于多路高速并行协同采样、高速并行运行多路大运算量协作算法、运算结果的多通道精准协同输出、具备强实时性(低延迟量+低延迟抖动量)需求的高性能复杂反馈控制算法。6. 整体可靠性提升:硬件直接实现算法减少了软件层面的复杂性和潜在的错误,提高了系统的稳定性和可靠性,降低了故障发生的概率。

2024-09-24 17:06:58 156

原创 有源晶振和无源晶振有哪些区别?

1. 组成结构:有源晶振内部包含晶体和外围电路,一般有四个引脚,分别为电源、接地、信号输出端和空脚(NC);3. 性能精度:有源晶振的精度可达0.1ppm,无源晶振的精度为5ppm。有源晶振在稳定性方面优于无源晶振,但信号电平固定,灵活性较差。7. 体积大小:有源晶振由于自身增加了振荡电路,体积一般较大,但现在很多有源晶振采用表贴形式,体积得以缩小,与无源晶振差不多甚至更小。6. 成本方面:无源晶振电路的成本相对较低,而有源晶振电路在产品性能上有优势,但价格较高。:有源晶振和无源晶振有哪些区别?

2024-09-23 21:21:20 56

原创 OFDM里面如何将发射数据添加到载波上面?

IFFT 将数据从频域转换到时域,从而将数据分配到各个子载波上。每个子载波都有特定的频率,经过 IFFT 后,数据就被添加到了不同频率的载波上。首先,将待发射的数据进行调制。常见的调制方式有 QPSK、16QAM等。调制的目的是将数字信号转换为适合在信道上传输的模拟信号形式。将调制后的串行数据转换为并行数据。这是因为 OFDM 是一种多载波技术,需要将数据分配到多个子载波上。:咨询各位大佬个问题,OFDM里面如何将发射数据添加到载波上面?通过以上步骤,就可以将发射数据添加到 OFDM 的载波上。

2024-09-23 21:20:28 131

原创 SDRAM掉电能保持多长时间?

需要注意的是,SDRAM 通常用于需要快速读写数据的场合,例如计算机的内存。在实际应用中,为了避免数据丢失,系统通常会在掉电前采取措施将重要数据保存到非易失性存储器(如硬盘、闪存等)中,或者使用不间断电源(UPS)来维持系统的供电,以确保数据的安全性和完整性。在低温环境下,数据可能可以保存相对较长的时间,比如 1 个小时左右,但这也不是绝对的,而且长时间的低温保存并不常见。如果对数据的保存有较高要求,建议使用具有非易失性的存储介质来长期存储重要数据,而不仅仅依赖 SDRAM 的短暂数据保持能力。

2024-09-23 21:19:48 39

原创 自定义IP核给他人使用,不想显示源码,有什么办法?

除了生成.dcp 文件,还可以将 IP 核封装为网表(Netlist)形式提供给他人使用。不过生成.dcp 是一种较为常见和有效的方式,能够在一定程度上保护源码的隐私性。:自定义的IP核给他人使用,不想显示源码。是不是只有生成.dcp这一种办法?

2024-09-23 21:19:13 29

原创 为什么电路要设计得这么复杂?

1. 功能需求多样化 :现代电子设备需要实现众多复杂的功能,如高速数据处理、精确的信号传输、强大的计算能力等。2. 性能优化 :要实现高效的能量利用、低噪声、高速度、高精度等性能指标,电路的设计就需要考虑各种因素,如元件的选择、布线的优化、信号的完整性等,这必然导致设计的复杂性增加。在有限的空间内集成大量的元件和功能,需要精心设计电路的布局和连接,以避免干扰和冲突。5. 兼容性和标准化 :电路需要与其他设备和系统兼容,遵循各种行业标准和规范,这要求在设计中考虑众多的接口和协议,使得电路设计更加复杂。

2024-09-23 21:18:23 86

原创 ADC中全差分开关工作原理

例如,如果VIP大于VIN,那么输出数字码的最高位为1,同时通过切换电容阵列上的开关使VIP减小VREF/4,VIN增大VREF/4(这里的VREF/4是根据逐次逼近的算法确定的第一步调整量)。然后进行第二次比较,此时是基于第一次比较后调整的VIP和VIN的值继续比较,确定次高位,依此类推,逐步确定各个位的值,直到完成整个转换过程。在全差分ADC的工作过程中,第一次比较是VIP和VIN的比较,而不是与参考电压Vref比较,这是由其工作原理和逐次逼近的算法决定的。:请教一下ADC中全差分开关工作原理?

2024-09-23 21:17:04 68

原创 FPGA芯片内有哪两种存储器资源?

2. 分布式存储器(Distributed RAM):由 FPGA 中的查找表(LUT)等逻辑资源构建而成。适用于小规模的存储需求,具有灵活的地址线和数据线配置。1. 块存储器(Block RAM):可以实现较大容量的数据存储,常用于存储大量的数据表格、图像数据等。具有较高的存储密度和可配置性。:FPGA芯片内有哪两种存储器资源?

2024-09-23 21:15:10 193

原创 Xilinx ddr3 仿真时,有什么办法能快速初始化完成?

要快速完成 Xilinx DDR3 Modelsim 仿真的初始化,可以从优化测试平台、调整模型参数和利用脚本及自动化工具等方面入手。在进行任何调整时,都要确保仿真结果的正确性,并进行充分的测试和验证。• 仔细阅读 Xilinx DDR3 模型的文档,了解是否有特定的参数可以调整以加速初始化。• 尝试调整 DDR3 初始化序列中的参数,如延迟时间、等待周期等。• 减少不必要的逻辑和模块,只保留与 DDR3 初始化相关的关键部分,以降低仿真的复杂性,从而加快初始化过程。2. 调整初始化序列参数。

2024-09-23 21:14:28 314

原创 slicem中lut是6输入的,但实现移位寄存器深度是32,不是64,原因是什么呢?

3. 性能和功耗平衡:较深的移位寄存器可能会增加功耗和延迟,为了在性能和功耗之间达到平衡,选择了 32 的深度。1. 资源限制:芯片的物理资源有限,设计上可能对移位寄存器的深度进行了权衡和优化,以适应整体的资源分配。:请问slicem中lut是6输入的,但实现移位寄存器深度是32,不是64,原因是什么呢?2. 功能需求:在特定的应用场景中,32 的深度已经能够满足功能要求,无需扩展到 64。

2024-09-23 21:13:31 31

原创 直接调用一个双端口192KB的SRAM,和调用12个大小为16KB的SRAM,占用资源是一样的吗?

但是,调用一个大的双端口 SRAM 可能在控制逻辑上相对简单,占用的控制逻辑资源可能会少一些。另一方面,使用 12 个小的 SRAM 需要更多的地址译码逻辑来分别选中不同的小 SRAM,并且可能在布局布线时需要更多的空间,占用更多的芯片面积资源。:直接调用一个双端口 192KB 的 SRAM 和调用 12 个大小为 16KB 的 SRAM 占用的资源不完全一样。:请教一个问题,直接调用一个双端口192KB的SRAM,和调用12个大小为16KB的SRAM,占用资源是一样的吗?

2024-09-23 21:12:33 34

原创 生成的mcs文件和bit文件的效果不一样,是不是因为在xdc文件中没有约束好?

请教一下,我生成的mcs文件和bit文件的效果不一样,mcs文件固化到flash中,以太网ping不通,bit文件能ping通。虽然 xdc 文件约束问题可能导致 mcs 文件和 bit 文件效果不一样,但也需要综合考虑其他可能的因素,通过逐步排查来确定具体原因。• 不同的加载方式(bit 文件通过下载器直接加载,mcs 文件固化到 flash)可能会因为硬件的一些特性差异而导致不同的表现。:生成的 mcs 文件和 bit 文件效果不一样,有可能是因为在 xdc 文件中没有约束好,但也可能有其他原因。

2024-09-23 21:11:55 72

原创 在初学电子信息工程,进行自学系统学习一个逐渐过程中,在什么阶段需要学什么呀?

每个阶段的学习都需要扎实的掌握,通过理论学习、实验实践和项目设计相结合的方式,逐步提高自己的综合能力。学习欧姆定律、基尔霍夫定律等基本电路定律,掌握电路的分析方法,包括串联、并联电路的分析。• 此阶段可以通过一些基础的电路教材、在线课程进行学习,同时结合简单的电路实验,如使用面包板搭建简单的电路,加深对电路原理的理解。• 深入学习模拟电路的设计方法,包括放大器的设计、滤波器的设计、电源电路的设计等。掌握模拟电路的仿真和优化技术。• 通过模拟电路实验,如放大器的搭建和测试,了解模拟电路的实际性能和调试方法。

2024-09-23 21:08:45 225

原创 如何快速地将信号中两个频率很接近的信号成分识别出来?

然而,如果系统对数据流量的控制要求不高,或者能够容忍 FIFO 偶尔的溢出,或者有其他机制来处理数据写入和读出的平衡,那么 near full 信号可能就不是必需的。2. 锁相放大器技术:锁相放大器对与参考信号频率相同的输入信号具有很高的检测灵敏度和选择性,可以用于提取特定频率的信号成分。5. 希尔伯特变换:希尔伯特变换可以将实信号转换为解析信号,从而可以提取信号的瞬时频率和幅度信息,有助于分析频率接近的信号。:在锁相环的设置中,通常是根据输入频率和期望的输出频率来确定分频或倍频的参数。

2024-09-23 21:07:51 109

原创 FPGA科学高效的编程方法有哪些?

3. 模块化编程:将功能独立的部分封装成模块,每个模块具有明确的输入、输出和功能。2. 系统架构设计:设计清晰的系统架构,将复杂的功能模块划分成较小的、可管理的子模块。这有助于你在未来的项目中避免类似的错误。1. 学习新的技术和工具:FPGA 技术不断发展,持续学习新的编程技巧、优化方法和工具可以提高你的编程效率和质量。2. 资源共享:对于一些可重用的逻辑资源,如加法器、乘法器等,可以考虑资源共享,以减少硬件资源的消耗。2. 参考优秀的设计案例:学习他人的优秀设计,可以获得灵感和经验,提高自己的设计水平。

2024-09-23 21:05:47 327

原创 ZYNQ7020的PL端引脚可以配置为上拉输入或者下拉输入吗?

另外,ZYNQ7000 系列芯片的 PS(处理系统)端还提供了 MIO(多功能 I/O)和 EMIO(扩展多功能 I/O)。ZYNQ7000系列引脚主要分为 PSIO(ARM 处理系统的专用引脚)、SELECTIO(普通的 FPGA 引脚)、CONFIGURATION PINS IN BANK0(JTAG 类引脚等)、GTX PINS(高速串行收发引脚)、XADC PINS(模数转换引脚)等。在进行引脚配置时,需要使用相关的开发工具(如 Vivado 等),通过设置引脚的属性来实现上拉或下拉输入的配置。

2024-09-23 21:04:35 69

原创 关于以太网通信,mac和phy芯片是怎么样稳定连接的?

我可以确认phy芯片和电脑的链接是稳定的,读过phy芯片里面的状态寄存器,不管设置什么速率都是正常链接的。而且phy芯片所发出的时钟rx_clk也一直符合我设置的速率,电脑端设置百兆模式,rx_clk就是25M,电脑端设置十兆模式,rx_clk就是2.5M。驱动程序可能需要进行适当的配置,例如设置 MAC 相关的控制位,以建立与 PHY 芯片的通讯并启用数据包的接收。所以我认为是gmac和phy芯片的连接状态有问题导致通信不稳定的,所以想咨询下gmac和phy芯片之间有什么确认连接的步骤。

2024-09-23 21:03:52 103

原创 两块fpga怎么做时钟同步呢?

总之,实现两块 FPGA 的时钟同步需要综合考虑时钟源、时钟分配、同步协议、数据通信等因素,并根据具体的应用需求选择合适的方法。• 可以使用同步时钟协议,如 IEEE 1588(Precision Time Protocol,精确时间协议)或其他自定义的同步协议,来实现两块 FPGA 之间的时钟同步。• 在接收端的 FPGA 中,使用时钟恢复电路或算法,从接收到的数据中提取时钟信号,并与本地时钟进行同步。• 可以通过调整时钟同步算法的参数、增加时钟同步的频率等方式来提高同步精度。

2024-09-23 21:01:39 499

原创 祝大家中秋节快乐

皓月闪烁,星光闪耀,中秋佳节,美满快乐!

2024-09-17 07:40:33 115

原创 端午节安康

2024-06-10 07:42:26 245

原创 五一国际劳动节快乐

祝大家五一快乐!

2024-05-01 08:29:24 300

原创 以太网自协商

自动协商模式是端口根据另一端设备的连接速度和双工模式,自动把它的速度调节到最高的公共水平,即线路两端能具有的最快速度和双工模式。自协商功能允许一个网络设备能将自己所支持的工作模式信息传送给网络上的对端,并接受对方可能传递过来的相应信息,从而解决双工和10M/100M速率自协商问题。自协商功能完全由物理层芯片设计实现,因此并不使用专用数据包或带来任何高层协议开销。

2024-04-25 21:02:57 362

原创 简谈FPGA研发设计相关规范(很实用)

今天聊一聊FPGA研发设计相关规范,养成良好的个人习惯,代码设计风格等,都有助于日后发展。有哪些设计规范,从文档到工程建立等,聊一聊也许你会学到很多东西,少走很多弯路哦。话不多说,上货。在团队项目开发中,为了使开发的高效性、一致性、正确性,团队应当要有一个规范的设计流程。按照规范来完成项目的设计开发工作,归类清晰明了的工程文件夹级别;项目应拥有良好风格和完整的文档,如设计思路与调试记录及器件选型等;代码书写高效,即统一的书写规范,文件头包含的信息完整,无论自己还是团队他人阅读便一目了然。

2024-04-07 18:46:23 395

原创 清明听风雨,最忆是故人

清明听风雨,最忆是故人!

2024-04-04 00:10:06 253

原创 基于FPGA的TMDS编码

在我们之前的学习中,了解到HDMI是一种全数字化视频和声音发送接口,可以发送音频以及视频信号。HDMI向下兼容DVI,DVI只能传输视频信号。HDMI和DVI接口协议在物理层均使用TMDS标准来传输音频或视频信号,接下来就着重了解一下TMDS编码。TMDS(最小化传输差分信号)中,有四个通道,其中包含了三个数据通道和一个时钟通道。其中数据通道用来传输颜色、音频、控制等信号。HDMI默认使用RGB(RGB888)三个数据通道,当然也可以是亮度和色度信息(YCrCb,4:4:4或者4:2:2)。image。

2024-03-22 19:30:03 651

原创 Matlab生成fir滤波器抽头系数

在Vivado调用fir滤波器时,我们会遇到需要填充滤波器抽头系数的问题,手工计算又不现实,所以在此向大家介绍一个生成系数的工具。首先,我们打开matlab软件,在命令窗口输入fdatool并回车,就会弹出滤波器设计工具。在图中第一个红色框内,我们根据自己需要选择低通或者高通,第二个框,在fir的设计方法中,我们也是可以根据自己需要进行选择,在此,比如我选择窗函数。在窗函数中,我们选择合适的窗口。对于计算阶数大家可以根据需要进行选择,默认是最小,但是有时候滤波效果不是很好,所以我们可以自定义。

2024-03-19 18:14:42 1015

原创 ISE 关联 Modelsim 详细操作

然后打开这个文件,从47行到274行,全部复制一下,然后在Modelsim的安装目录下,找到modelsim.ini文件,在文件中找到Library和vcom这两个词,粘贴在两者之间即可,然后保存。我们在使用ISE时,有部分同学可能还是习惯使用Modelsim,在此,我们就ISE和Modelsim的关联做一下介绍。设置好之后就到了最后一步,在新建工程时,选择对应的modelsim即可,在看仿真时正常打开就行了。下一步默认就行,全选上,下面两行需要设置的内容可以忽略,直接下一步。

2024-03-12 19:17:25 1221 1

原创 祝大家元宵节快乐

今宵月圆白如昼,千年轮回人依旧。元宵团圆夜,祝大家元宵节快乐!

2024-02-23 18:03:51 509

原创 祝大家新年快乐,龙年大吉大利

祝大家新年快乐,龙年大吉大利!

2024-02-10 08:50:53 509 1

原创 除夕团圆夜

2024-02-09 09:06:46 491

空空如也

空空如也

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

TA关注的人

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