随笔分类 -  FPGA

上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
FPGA技术交流
摘要:所谓流水线(pipeline)设计,通常来说是流水生产线。 同样,组合逻辑路径可以看作是一条生产线,路径上的每个逻辑单元都可以看作是一个阶段,都会产生时延。 如果不采用流水设计,前后级组合逻辑依次工作,那么这条路径的模型就是 如果不采用流水设计,前后级组合逻辑依次工作,那么这条路径的模型就是 原始的 阅读全文
posted @ 2018-06-19 10:08 alifpga 阅读(1993) 评论(0) 推荐(1)
摘要:通俗介绍coding style两点建议: 模块划分 这个如果做得不好,简直不能忍。有的代码非常莫名其妙,有些东西本身不复杂,非要将其拆成好几个部分,然后做成一个一个碎散的模块,这样并不好。举个例子,比如有的代码就是一个小fifo,单独搞成了一个模块,一个小队列搞成了一个小模块。然后,信号每进出一次 阅读全文
posted @ 2018-06-17 20:58 alifpga 阅读(197) 评论(0) 推荐(0)
摘要:从几个方面来介绍一下GPU和FPGA。 从峰值性能来说,GPU(10Tflops)远远高于FPGA(<1TFlops)。GPU上面成千上万个core同时跑在GHz的频率上还是非常壮观的,最新的GPU峰值性能可达10TFlops以上。GPU的架构经过仔细设计(例如使用深度流水线,retiming等技巧 阅读全文
posted @ 2018-06-16 15:53 alifpga 阅读(4532) 评论(0) 推荐(0)
摘要:作为纯数字电路的FPGA,实现平方根是比较麻烦的。毕竟硬件不支持这种算法。 好在厂家的IP核中有相关的平方根IP库,所以用起来也很方便。 上图是在QUARTUS下调用库中的IP核,综合适配后的资源使用情况,逻辑单元使用的1369个,占总资源的22%,片上硬件乘法器使用了16个。可以说是在资源有限的情 阅读全文
posted @ 2018-06-15 16:55 alifpga 阅读(2815) 评论(0) 推荐(0)
摘要:在通常的设计中,不建议使用浮点数计算,因为浮点数计算会消耗FPGA大量的逻辑单元。但很多情况下,又需要使用浮点数进行计算提高精度。 所以需要有合适的方法计算浮点运算。 正常情况下FPGA只能以整形数据进行计算,必须将浮点数转换为二进制整形数据进行输入。那么小数点就在你的心中。 比如,当输入123乘以 阅读全文
posted @ 2018-06-14 09:12 alifpga 阅读(458) 评论(0) 推荐(0)
摘要:DFT在实际应用中非常重要,可以计算信号的频谱,功率谱和线性卷积等。 离散傅里叶变换的公式: 其中: 称为旋转因子。 由欧拉公式可得: 直接按DFT变换进行计算,当序列长度N很大时,计算量非常大,所需的时间非常长。 FFT是 快速傅里叶变换。其算法原理这里不再赘述,网上资料或者相关书籍的介绍很多。主 阅读全文
posted @ 2018-06-13 11:58 alifpga 阅读(4272) 评论(0) 推荐(0)
摘要:网上对于FPGACNN加速的研究已经很多了,神经网络的硬件加速似乎已经满大街都是了,这里我们暂且不讨论谁做的好谁做的不好,我们只是根据许许多多的经验来总结一下实现硬件加速,需要哪些知识,考虑哪些因素。 很多人都说在做FPGA的神经网络加速,可是有多少人真正拿出了实际结果,可能大部分人就是用HLS(高 阅读全文
posted @ 2018-06-12 16:40 alifpga 阅读(2493) 评论(0) 推荐(0)
摘要:当今,FPGA和单片机的应用非常广泛,在有FPGA知识的基础上,笔者认为可以把FPGA作为主要的学习目标,单片机作为辅助技能。其实二者是相互促进的。不管是FPGA还是单片机的开发其实都是基于较强的逻辑性,在这一点上二者是有共同之处的,但是在程序编写的逻辑性上,FPGA所用的硬件描述语言是要超出C语言 阅读全文
posted @ 2018-06-11 21:16 alifpga 阅读(901) 评论(0) 推荐(0)
摘要:最近半个月,做个的项目。开始做测试,机器跑着,整个项目前后做了半年,有些小想法,分享于诸位: 1.前期的设计工作应该做到面面俱到,否则在未来的开发中,大概率将会遇到一些问题: 一,性能不满足需求,然后为了提升性能,资源又成了瓶颈; 二,功能设计频繁变更; 三,各个模块之间的耦合性问题,导致系统大了之 阅读全文
posted @ 2018-06-10 12:37 alifpga 阅读(254) 评论(0) 推荐(0)
摘要:数字电路: 这是大学里的基本课程 ,涵盖了一般数字电路的组合电路、时序电路、寄存器传输、储存器以及可编程逻辑电路(FPGA 就是其中一种),还有比较好的添加了计算机的指令集结构、处理器设计等计算机方面的内容,整个课程就很系统的介绍了硬件电路系统的整体框架。 语言学习: 初学 FPGA 的话,时序和组 阅读全文
posted @ 2018-06-09 15:17 alifpga 阅读(373) 评论(0) 推荐(0)
摘要:FIFO,没有想象的那么简单! 根据一般的原则,FIFO这件事情啊,如果能用IP先别自己手写。可以通过FPGA厂家的的IP生成工具生成相应的FIFO。 FIFO中的格雷码: 格雷码应用于异步FIFO的地址操作,格雷码的生成可以当做个入门练手的小模块,然后慢慢搭一个异步FIFO,把关于FPGA的时钟、 阅读全文
posted @ 2018-06-08 09:30 alifpga 阅读(1052) 评论(0) 推荐(0)
摘要:学习FPGA,一点小小的 建议或者总结分享。 语法层面搞懂阻塞和非阻塞语句,以及Verilog语言的时序描述方法,把自己想象成编译器,尝试去编译自己写的Module,不断总结自己设计的逻辑会综合出怎么样的电路。 搞明白同步和异步,最后,一定要熟练地掌握状态机的设计。这是最初级也是最基本的要求。 有人 阅读全文
posted @ 2018-06-07 19:51 alifpga 阅读(561) 评论(0) 推荐(0)
摘要:ASIC--专用集成电路 ASIC原本就是专门为某一项功能开发的专用集成芯片,比如摄像头里面的芯片,小小的一片,集成度很低,成本很低,可是够用了。一个低端摄像头价格很 便宜,买一片ARM费用就不可同日而语了。后来ASIC发展了一些,称为半定制专用集成电路,相对来说更接近FPGA,甚至在某些地方,AS 阅读全文
posted @ 2018-06-06 09:30 alifpga 阅读(963) 评论(0) 推荐(0)
摘要:xilinx推荐尽量不复位,利用上电初始化,如果使用过程中需要复位,采用同步高复位。 如果逻辑工程较大,复位扇出会较多,会很影响时序,有以下常用方法: 复位信号按照不同时钟域分为rst0..rstn,每个复位信号被对应时钟域的时钟打一拍输出,复位不同时钟域,同时对所有复位寄存器用max fanout 阅读全文
posted @ 2018-06-05 09:32 alifpga 阅读(2459) 评论(0) 推荐(1)
摘要:用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,能达到最高的实时性。因此在一些对实时性要求非常高的应用领域,做图像处理基本就只能用FPGA。例如在一些分选设备中图像处理基本上用的都是FPGA,因为在其中相机从看到物料图像到给出执行指令之间的延时大概只有几毫秒,这就要求图像处理 阅读全文
posted @ 2018-06-04 09:15 alifpga 阅读(9030) 评论(0) 推荐(0)
摘要:zynq并不能说是一个嵌入arm核的FPGA。从它的启动过程就可以发现,绝对是arm主导的,所以称它为以高性能FPGA为外设的双核arm或许更为合适。以下是优势: 第一个:开发环境的大集成。从hls到vivado到sdk,对于一个不熟悉FPGA的嵌入式软件工程师来说,完全可以把它当做简单的双核ARM 阅读全文
posted @ 2018-06-01 08:51 alifpga 阅读(5245) 评论(0) 推荐(0)
摘要:目前,在FPGA上嵌入ARM硬核的包括Xilinx的zynq系列以及Intel 的CYCLONEV系列。 Zynq出来有一定市场,但是这个市场不是传统FPGA的主流市场,而是为了和微处理抢一些控制领域的市场。但是目前在反响上,听说,不如预期,首先对小公司来说,同时熟悉ARM和FPGA的人不多,在大公 阅读全文
posted @ 2018-05-31 08:34 alifpga 阅读(4116) 评论(0) 推荐(0)
摘要:时序约束的一点总结。 打拍。掌握好时序。 手动分配位置,这个不是一定有效。 打破层级或者物理综合,或者自动加流水等综合优化参数调整。 根据实际情况使用异步时钟策略。 换速度更快的片子。 打拍。掌握好时序。 手动分配位置,这个不是一定有效。 打破层级或者物理综合,或者自动加流水等综合优化参数调整。 根 阅读全文
posted @ 2018-05-30 09:53 alifpga 阅读(896) 评论(0) 推荐(0)
摘要:尽量用硬核,比如硬件乘法器,这个应该都知道。 结构上的pipeline,简言之就是“拆",最极端的情形是拆到源和目的Reg间只有基本的组合逻辑门,比如说~a & b之类...;当然FPGA里实际不必这样,打个比方,两个xbit的数据做比较,若芯片内是4输入LUT,若有pipeline的必要,那么流水 阅读全文
posted @ 2018-05-29 09:28 alifpga 阅读(1220) 评论(0) 推荐(0)
摘要:学习FPGA的过程中,要想踏上一步台阶,需要注意一下几点: 时序约束的原因和使用方法,能熟练正确的应用最基本的时钟周期约束,时序例外约束,异步时钟域约束,同步复位的约束,高扇出约束。 清楚FPGA芯片内部时钟资源分布,能够知道自己的逻辑和约束能否让编译器用比较优化的走线布局布线。 清楚内部嵌入式硬核 阅读全文
posted @ 2018-05-28 08:26 alifpga 阅读(808) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 12 下一页