前言开发环境: LattePanda(拿铁熊猫)开发板, arduino, windows10 开发语言: python3.7,首先说一下思路,这里的控制思路是通过对mcu中烧录 Firmata协议的控制代码(同官方),然后再通过python的 pymata模块根据firmata协议对mcu进行信息发送达成mpc与mcu的信息交互, 从而达到控制 gpio 13口, 由于13口的状态对应着下图开发
转载
2023-12-02 16:20:12
291阅读
1、管脚兼容性设计 FPGA在芯片选择的时候尽量选择兼容性好的封装,那么在硬件设计时,就要考虑如何兼容多种芯片问题;在相同封装、兼容多个型号的FPGA设计中,一般原则是按照通用IO数量少的芯片来设计电路2、根据电路布局来分配管脚功能 FPGA的通用IO管脚功能定义可以根据需要来指定,在电路图设计过程中,根据PCB布局来对应的调整更改原理图中FPGA管脚的定义3、预留测试点 将剩余的IO做测试
转载
2023-10-21 20:30:01
92阅读
在 FPGA 上快速构建 PID 算法副标题:优秀的IC/FPGA开源项目(四)-使用HLS构建PID算法 《优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《优秀的 Verilog/FPGA开源项目》内容介绍更加详细,包括但不限于综合、上板测试等。两者相辅相成,互补互充~作为一名工程师,在项目实施阶段多多少少会遇到需要使用控制理论的应用程序。一种非常常用的算法是比例积分微分控
转载
2024-05-06 09:08:56
70阅读
题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢。这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一个有志于FPGA/CPLD方面发展的工程师学习的。 1、硬件设计基本原则 (1)、速度与面积平衡和互换原则:一个设计如果时序余量较大,所能跑的频率远高于设计
FPGA总体设计—硬件相关 FPGA在项目开始阶段需要考虑的设计主要有3大方面:一个是硬件做板相关的FPGA升级电路的设计以及外围IO设计;一个是与软件配合相关的软硬件接口设计;一个是FPGA内部的逻辑功能规划。本文先针对硬件设计相关进行阐述:
转载
2023-09-11 20:52:08
351阅读
FPGA 内部详细架构FPGA 芯片整体架构1.可编程输入输出单元(IOB)(Input Output Block)2.可配置逻辑块(CLB)(Configurable Logic Block)3.互连线资源(Interconnect)4.嵌入式块 RAM(BRAM)(Block RAM)5.底层内嵌功能单元6.内嵌专用硬核7.致谢 FPGA 芯片整体架构FPGA 芯片整体架构如下所示,大体按照
转载
2024-01-26 10:17:46
208阅读
FPGA设计算法依次需要完成MATLAB浮点仿真 MATLAB定点仿真 verilogHDL定点运算以及数据对比的流程。其中浮点到定点的转换尤为重要,需要在数据表示范围和精度之间做出权衡。另外掌握定点运算规则是硬件实现算法的前提。这篇博文介绍了在用FPGA设计实现算法中的一些基础知识,比较全面。介绍FPGA是纯粹的硬件设计,当进行算法设计时,Verilog综合后的就是硬件逻辑电路。因此,进行算法设
转载
2023-09-01 08:36:43
306阅读
我们知道FPGA内部有很多可供用户任意配置的资源,其中包括:可编程逻辑、可编程I/O、互连线、IP核等资源,很多学过数字电路的人都知道与或非门可以构成几乎所有的数字电路,但是FPGA内部最基本的主要单元并不是这些与或非门,而是由无数个查找表(Look Up Tabe,简称为LUT)和寄存器构成。 虽然FPGA的内部结构对于初学者来说是云里雾里,一头雾水,但是了解FPGA的内部结构能让我们更好的
转载
2023-10-26 13:54:13
172阅读
1.硬件设计基本原则FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。速度与面积平衡和互换原则:一个设计如果时序余量较大,所能跑的频率远高于设计要求,能可以通过模块复用来减
转载
2023-09-21 23:27:00
160阅读
CNN神经网络算法刚出来的时候,就采用了FPGA作为物理机来实现,为何会率先采用FPGA作为算法加速器而非通用CPU,本文谈谈个人的理解。 首先明确FPGA与通用CPU的区别,CPU里设置流水线结构,而FPGA则是采用自定制的并行结构。就比如CPU最经典的5级流水线结构,一条指令的操作过程可以拆分为取指、译码、执行、访存、写回五个独立的子指令,通过流水线架构,使5条流水线分别执行上述5个独立指令,
转载
2023-07-26 20:52:32
185阅读
如何利用FPGA生成SPWM调制信号实验目标稍微说一下原理SPWM即正弦波宽度脉冲调制冲量等效原理双极性的的SPWM信号具体步骤1.用matlab生成三角波和正弦波的coe文件2.调用ROM的ip读取coe文件3.调用pll的ip核来提供三角波和正弦波的控制时序4.调用ROM的ip来获取数据,进行比较5.建立wave.v调用wave_clk和wave_comparator7.进行管脚约束8.ge
转载
2024-09-15 12:42:47
140阅读
需要对输入Verilog或VHDL的设计进行仿真,以检查设计的功能正确性。对于HDL RTL功能,需要使用不可综合的Verilog结构编写测试台。阻塞和非阻塞赋值的仿真不可综合Verilog RTL由示例9.1中所示的阻塞赋值组成。在本例中,程序“always”块每次在时钟“clk”上的事件上执行,“initial”块仅执行一次,用于将值赋值给“a”、“b”、“c”和“d”。非阻塞赋值的仿真结果
转载
2024-05-24 20:01:39
82阅读
1.前言 高频交易,硬件加速,这两个词,不管是金融领域从业人员,还是FPGA开发从业人员,对于这两个词应该都不会太陌生。 对于金融行业从业人员来说,高频交易,是用来指代从开仓到平仓只有很短的时间间隔,主要目的是通过市场短暂的价格波动进行获利的交易行为,这种交易行为,对时间十分敏感,这种交易从以前的人工进行操作,交易的时间量级大概是分钟(min)乃至秒(s)级;到后来使用繁杂的计算机程序进行操作,定
转载
2023-11-12 22:03:59
149阅读
基于FPGA硬件架构的科普文章
## 什么是FPGA?
FPGA(Field-Programmable Gate Array)是一种灵活可编程的集成电路,可以根据需要灵活地重构其硬件结构。与专用集成电路(ASIC)相比,FPGA具有更高的灵活性和可重构性。FPGA通常由大量的逻辑单元(Look-Up Tables或LUTs)和可编程的连线资源组成,可以通过编程来实现各种不同的功能。
## F
原创
2024-02-07 08:22:12
64阅读
在之前的文章中,我们利用start_tx作为网口数据传输的开始,今天就介绍一下这个start_tx信号如何产生首先我们要了解,网口数据的发送依赖一个芯片:PHY芯片(RTL8211)1、PHY芯片的基本作用(1)收到MAC过来的数据(PHY没有帧的概念,都是数据而不管什么地址数据还是CRC),进行处理*,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去。
转载
2023-10-22 08:51:54
224阅读
文章目录项目背景RAID模式实现架构设计独立RC主控,独立控制器架构独立RC主控,共享控制器架构共享RC主控及控制器架构架构实现测试验证准确性测试数据写入测试数据读出测试个人的一点感受(兼回答网友的一些问题)声明 项目背景 课题组使用FPGA实现了NVMe SSD高速读写,在前文中介绍了系统的架构以及不同硬盘在高速存储系统下的读写测试。 前文中实现NVMe持续写入带宽为2.3GB/s,因项目
转载
2023-10-13 09:47:06
587阅读
如何使用Python实现FPGA编程“自动化”之前读到过一个公众号文章,写了关于《使用Python实现Vivado和Modelsim仿真的自动化》,连接https://mp.weixin.qq.com/s/2YR_LjpQNtJr9beqnCz7CA。根据该文章,基于自己的编程习惯和工作需要,我做了一些修改和便于自己编程的一些python代码,这里和大家介绍一下。 文章目录如何使用Python实现
转载
2023-09-15 22:28:37
141阅读
OFweek电子工程网讯 我的许多朋友都是经验丰富的嵌入式设计工程师,但他们都是微控制器(MCU)背景,因此对于FPGA是什么以及FPGA能做什么只有一个模糊的概念。如果问急了,他们会说“你可以通过配置FPGA让它做不同的事情”诸如此类的话,但他们真的不是很清楚FPGA里面有什么,或者如何在设计中使用FPGA。 事实上,MCU对有些任务来说是很适合的,但对其它一些任务来说可能做的并不好。举例来说
转载
2024-07-29 18:41:42
38阅读
实验一 用一个拨码开关控制所有的LED灯亮灭实验二2—1 放置2个2-4译码器模块,则总共有2组SW, 每组2个,2组LED,每组4个,每组SW分别控 制其对应的LED组。module dec_2to4(
IN ,
OUT);
input [2-1:0] IN ;
output [4-1:0] OUT ;
reg [4-1:0] OUT ;
always @ (IN) begin
c
转载
2023-08-28 16:47:24
467阅读
基于FPGA的图像卷积(or 滤波?)图像的卷积和滤波在某种程度上很类似,在实现的细节上存在一些区别。滤波一般需要在图像周围补0,将滤波掩膜划过整副图像,计算每个像素点的滤波结果(可以理解为补零之后图像在stride为0下的卷积操作)。 而卷积操作通常需要对卷积核进行翻转,同时会改变图像大小(除非kernel==1)。给出的代码分三个部分: 1.测试图像(128*128)的导入;2.图像的padd
转载
2024-06-07 13:14:53
150阅读