随笔分类 - FPGA
FPGA技术交流
摘要:Verilog HDL作为现在最流行的FPGA开发语言,当然是入门基础。 从最简单的代码学起。找最简单的基础实例(带仿真例程),看不懂查阅工具书。看完之后用综合工具综合,然后看RTL图,能看到这些代码最终翻译成了什么样的数字电路。 紧接着就是仿真或者上板实测:用仿真的信号输入到编写的模块里面,才能清
阅读全文
摘要:逻辑写多了,有时候一些基本的错误忘了避免了。 昨天设计逻辑的时候就不小心触雷了,有个信号有激励没响应,后来看了时序报告,有这么一句话。 这是 什么呢?锁存器啊! 最容易产生的是在always(*)语句中,最后一定是所有分支条件都要描述并赋值。 状态机中,同样如此,不但需要有default的状态,每个
阅读全文
摘要:独热码在状态机里面使用比价广泛,这一块有些人爱用,有些人嫌烦,有时候可以用用格雷码跳转,不过格雷码只支持那种一步到底的,中间有分支就不好做了,所以后来还是回到了独热码的正道上。 说白了独热码的使用,在对状态判断时,会减少一级组合逻辑,关键路径上少一步,乍看没多少,用多了积累多了,还是一个很客观的数据
阅读全文
摘要:通俗讲讲什么是FPGA。 FPGA出现之前,所有集成电路都可以看成雕塑家,但是雕成一个成品,往往要浪费很多半成品和原料,这就是ASIC的制造。 后来FPGA出现了,FPGA就是块橡皮泥,什么硬件电路都能模仿,万用IC,想捏成什么样随你,捏的不行,可以重新再捏。这就是为什么被称为可编程。 也可以把FP
阅读全文
摘要:对于高速的定义,至少要100Msps以上的,这种高速采集多用在军工、航天、天文领域,通信现在用的也越来越多了(比如华为5G相关的项目,已经用到了3Gsps的ADC)。 当然有一些视频相关的领域也会用到高速采集。 对于采集这块的入门,说实话挺难的,因为成本实在是太高,通常高速的ADC价格都在千刀($美
阅读全文
摘要:FPGA与DSP比较 两者的优势不一样。在硬件层面,DSP是ASIC,如同CPU GPU一样,适宜于量产降低成本,缺点是(硬件)设计一旦确定,便不易于修改。 而FPGA较灵活,可以通过硬件描述语言进行快速设计和改进,但成本较高,传统上讲用于ASIC的prototype设计。 另外,在软件层面上,给D
阅读全文
摘要:做FPGA主要是要有电路的思想,作为初学者,往往对器件可能不是熟悉,那么应该要对数字电路的知识熟悉。 FPGA中是由触发器和查找表以及互联线等基本结构组成的,其实在逻辑代码里面能够看到的就是与非门以及触发器。 不要把verilog和c语言等同起来,根本就是不同的东西,没有什么可比性,在写一句程序的时
阅读全文
摘要:最近做电力方面的项目,由于跨行业,所以很长一段时间都在做前期准备工作。 项目设计前应尽量做到面面俱到,否则会在项目设计中遇到下面大概率问题: 性能不满足需求,然后为了提升性能,资源又成了瓶颈; 功能设计频繁变更; 各个模块之间的耦合性问题,导致系统大了之后,时序无法及时收敛。然后就是不断的复工,不断
阅读全文
摘要:菇凉提问: 做FPGA开发多年,每次菇凉问我,什么是FPGA,我,我,我,不知道如何说起,难以回答。 FPGA是一种器件。其英文名 feild programable gate array 。 通俗来说,是一种功能强大似乎无所不能的器件。通常用于通信、网络、图像处理、工业控制等不同领域的器件。 一直
阅读全文
摘要:优势一: 更大的并行度。这个主要是通过并发和流水两种技术实现。 A:并发是指重复分配计算资源,使得多个模块之间可以同时独立进行计算。这一点与现在的多核和SIMD技术相似。但相对与SIMD技术,FPGA的并发可以在不同逻辑功能之间进行,而不局限于同时执行相同的功能。举个简单例子说就是使用SIMD 可以
阅读全文
摘要:在学习FPGA的过程中,注意是在学习过程中,联系FPGA的使用技巧,强烈建议尝试设计一个SDRAM控制器,不要使用IP核。 学习SDRAM控制器设计,能让你掌握很多知识。 更好的使用状态机去精准控制时序。 学会高速设计中必要的技能,也就是时序约束方法,timing report的阅读方法,查找时序问
阅读全文
摘要:不管是学FPGA还是C语言,任何一种代码的学习都离不开大量的代码阅读,也就是多看,多学习别人的代码。初学者在学习的过程中更为重要的是模仿,模仿别人的代码算法怎么去处理的,模仿多了,代码看的多了,能力自然就有所提升了。 说到这里不免有人问,那是不是去抄袭别人的代码啊,这种行为多可耻啊。个人认为,如果有
阅读全文
摘要:在使用FPGA过程中,通常需要对资源做出评估,下面简单谈谈如何评估FPGA的资源。 FF和LUT的数目: 这个在写出具体代码之前,初学者通常没法估算,但资深FPGA工程师会估算出一个数量级。通常的做法是系统架构划分好后可以复用的模块根据以前设计中的资源消耗数来估,新的模块写完代码后估。 RAM: 这
阅读全文
摘要:在进行FPGA工程开发中,都会接触到仿真这个环节。FPGA开发一定要仿真,要养成仿真的习惯。 很多初学者或者学艺不精的工程师都比较排斥仿真。 但是,仿真真的很重要! 仿真可以让设计者能够很快知道模块输出值是否正确。说到这,就有读者想问,直接上板子不是更快吗?如果你以后的工作都是用FPGA来跑流水灯,
阅读全文
摘要:工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合设计需求的芯片。 器件特色 选片第一个关注的应该是FPGA器件的专用资源。 例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需要的最高收发速度是多少。 同样,如果需要实现运算量较大的算法模块时,则要求FPGA器件需要有大量的D
阅读全文
摘要:状态机几乎可以实现一切时序电路。 有限状态机(FiniteStateMachine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机。Moore型状态机输出仅仅与现态有关和Mealy型状态机不仅与现态有关,也与输入有关,所以会受到输入的干扰,可能会产生毛刺(G
阅读全文
摘要:上一步是硬件描述语言,下一步是FPGA。 学习了硬件描述语言(Verilog或者VHDL)之后,FPGA该如何继续。 世上没有捷径,每一步都得踏踏实实的走。学习FPGA也是这样,在有了硬件描述语言的基础之上,可以学习FPGA基础。 学习模块的划分和接口的定义,可参考FPGA厂商的一些实例设计,想办法
阅读全文
摘要:有些人比较差,做了一些介绍,有误导成分。有些人水平太高,介绍的很好,但是很多人依旧听不懂,得到的肯定很少。学习FPGA,在不同层次的人明显有不同的答案。 熟悉硬件描述语言语法,不需要什么都会,但是要记住几个经典的时序,逻辑电路的描述方式。 熟悉三个经典电路描述并仿真。学会用逻辑分析仪抓取数据。三个经
阅读全文
摘要:FPGA:即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 嵌入式系统(Embedded system),是一种“完全嵌入受控器件
阅读全文
浙公网安备 33010602011771号