草庐IT

CPU-FPGA

全部标签

【深入浅出 FPGA】同步复位、异步复位以及异步复位同步释放

文章目录一、FPGA复位二、同步复位三、异步复位四、异步复位同步释放五、小结一、FPGA复位复位的目的是什么?通俗的讲复位的目的就是让寄存器、电路以及系统处于一个已知的初始状态。未曾触碰复位按键,为何程序也能复位?FPGA内部存在有上电复位功能的上电复位电路POR(PowerOnReset)。FPGA有上电检测模块,一旦检测到电压超过检测门限后,即会产生上电复位脉冲传输至所有寄存器。二、同步复位同步复位只有在时钟触发沿来到时,复位信号才有效。Verilog代码如下:moduleSync_rst( input sys_clk , input sys_rst_n , inputdata_in

读书笔记《FPGA之道》第三章

前言        接触FPGA有一段时间了,期间也做了一些实践实验,虽然最终也是能做出来,可是接触的越多越觉得自己对于这个方向的基础知识的了解还不够系统,很多地方似懂非懂,看网上的教程也都是为了当前实验服务,这让我心里很是没底。对比我的导师们,我认为那个年代的人学东西都是很系统很详细的,简单来说就是功夫足够扎实。如今因为各种博客、B站视频教程等等,都为我们的学习带来了便利,但与此同时,我们很难再沉下心来认认真真读一本书了,与舍友的沟通也得出了不能光做项目,要多抓底层理论知识的结果。所以,我认为既然选择入行FPGA就应该扎扎实实的去啃基础知识。无意间读到了《FPGA之道》这本书,虽然超级厚,但

c++ - 为什么在 C 和 C++ 的设计中没有对 CPU 状态寄存器的内在访问?

在溢出标志的情况下,访问此标志似乎对跨体系结构编程大有裨益。它将提供一种安全的替代方法来依赖未定义的行为来检查有符号整数溢出,例如:if(a我知道有一些安全的替代方案,例如:if(a>(INT_MAX-100))//detectedoverflow但是,C和C++语言似乎都缺少对状态寄存器或其中的各个标志的访问。为什么没有包含此功能,或者做出了哪些语言设计决定禁止包含此功能? 最佳答案 因为C和C++被设计为与平台无关。状态寄存器不是。如今,二进制补码普遍用于实现有符号整数运算,但情况并非总是如此。一个人的补码或符号和绝对值曾经很常

c++ - 使用 QThreads 未正确使用 CPU 内核

使用:C++(MinGW),Qt4.7.4,Vista(OS),intelcore2vPro我需要以完全相同的方式处理2个大文件。所以我想从2个单独的线程为2个单独的文件调用处理例程。GUI线程不做任何繁重的事情;只显示一个标签并运行一个事件循环来检查线程终止条件的发射并相应地退出主应用程序。我预计这会在某种程度上平等地利用两个内核(intelcore2),但相反,我从任务管理器中看到其中一个内核的利用率很高,而另一个则不是(尽管不是每次运行代码时);处理2个文件所花费的时间也比处理一个文件所花费的时间多得多(我认为它应该相等或多一点,但这几乎等于在非线程中一个接一个地处理2个文件应用

【重磅新品】小眼睛科技推出紫光同创盘古系列FPGA开发板套件,盘古200K开发板,紫光同创PG2L200H,Logos2系列

FPGA,即现场可编程门阵列,作为可重构电路芯片,已经成为行业“万能芯片”,在通信系统、数字信息处理、视频图像处理、高速接口设计等方面都有不俗的表现。近几年,随着国家战略支持和产业发展,国产FPGA迎来迅猛发展。国产FPGA由于拥有高性价比、完整自主可控知识产权产业链,越来越成为行业热门选择。作为国产FPGA专业厂商紫光同创生态合作伙伴,小眼睛科技一直深耕FPGA产品和解决方案,基于紫光同创器件,推出100%国产化高性能盘古系列FPGA方案和开发套件,为客户提供专业且高效的FPGA产品和服务支持。2024年,小眼睛科技全新打造盘古系列新品,满足全方位的开发需求,产品覆盖Logos/Logos2

学fpga和还是嵌入式?

具体要选哪个,更多还是看个人喜好还有基础知识结构。我们先来明白下两者区别在哪?1、嵌入式:分两部分,第一是嵌入式软件开发,主要与嵌入式操作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件设计、模拟仿真、PCB设计等技能。2、FPGA:它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA是硬件电路设计,嵌入式是一种应用。FPGA的开发是逻辑实现+约束+综合+仿真,嵌入式的开发是编码+编译+调试,如果是对数字电路设计感兴趣,可以考虑FPGA

FPGA时序约束篇之时序分析与时序约束的作用

FPGA时序约束篇之时序分析与时序约束的作用一、写在前面二、名词解释三、举个栗子3.1降低时钟频率3.2提升时钟频率END一、写在前面  在每个初学者学习FPGA设计时,都会听前辈说:时序约束对FPGA设计很重要。那么,听了这么多次,时序分析到底是什么?时序约束的作用是什么?  网上巴拉巴拉看了一些杂七杂八的资料,简单写个学习笔记。二、名词解释  先用比较官方一点的语言来描述一下时序分析与时序约束?时序分析:时序分析是指通过分析FPGA设计中各个路径之间的数据传输和时钟传输路径,根据路径延迟与数据延迟,判断是否符合我们预期的要求:在工作时钟信号的锁存沿(LatchEdge)是否可以正确寄存我们

使用 FPGA 播放 SD 卡中的音频文件

使用FPGA播放音频(一)这篇重点:如何从SD卡读取音频文件并将其输出到扬声器上。开篇第一步在上一篇教程中,创建了一个I2S发送器用来发送来从FPGA内部ROM的音频数据。下一步,我们向该I2S发送器添加AXI-Stream接口,这样我们就可以将发送器与ZYNQ的处理系统连接,还可以从SD卡读取音频数据。为此,创建一个新的top设计。本设计应具有以下接口:该块设计产生以下代码:entity AXIS_I2S is    Generic (   RATIO   : INTEGER := 8;                WIDTH   : INTEGER := 16              

基于伪随机数LFSR和Box Muller变换的可综合的高斯白噪声FPGA生成器,AD/DA回环输出采集HDMI显示(已通过matlab、仿真和板级验证)

硬件平台基于XLINX公司生产的AX7035开发板,具有HDMI输出输出,可以满足在没有示波器条件下输入输出回环测试。项目中仅使用了ROMip核用来存储查找表计算根号、对数、cos、sin,可以移植到其他任意开发中,但HDMI输出波形可能无法观测到,只能通过示波器显示。设计内容设计内容主要分为两部分:高斯分布序列产生和HDMI显示。该项目侧重点是高斯白噪声产生,我主要介绍LFSR序列发生器和BoxMuller转换设计思路。LFSR伪随机数生成该模块产生32位均匀分布序列,循环周期是2^64=1.8*10^19。利用64位斐波那契型LFSR,反馈多项式为x^64+x^63+x^61+x^60+1

FPGA时序分析与时序约束(五)——使用Timing Analyzer进行时序分析与约束

    Quartus的安装路径下会自带有例程,通过fir_filter进行学习如何使用TimingAnalyzer进行时序分析与约束。1.1创建时序网表    打开fir_filter并进行综合后可通过菜单栏Tool->TimingAnalyzer或工具栏按钮运行TimingAnalyzer。    根据前面提到的,时序分析工具需要网表来执行时序分析,因此先创建Post-Map时序网表。在菜单栏Netlist->CreateTimingNetlist,选择Post-Map会自动生成Tcl命令。1.2 时钟约束         时序约束可以分为四个主要步骤,即时钟约束(CreateClock)