06 2018 档案

摘要:中断是什么? 中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢? 举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。等啊等啊,外边突然传来了惊奇的叫 阅读全文
posted @ 2018-06-29 09:35 alifpga 阅读(862) 评论(0) 推荐(0)
摘要:在设计有限脉宽响应的滤波器中,除了之前提过的等波纹滤波器去,还可以使用窗函数实现滤波器。 matlab下使用fdatool,使用窗函数设计FIR滤波器,截止频率下衰减默认为6分贝。 部分窗函数如下: 具体窗函数的实现形式,这里不再赘述。 矩形窗特点:矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗 阅读全文
posted @ 2018-06-28 09:55 alifpga 阅读(2470) 评论(0) 推荐(0)
摘要:数字滤波器通常用于修正或者改变时域或频域中信号的特性。最为普通的数字滤波器就是线性时不变LTI滤波器。 有限脉冲响应FIR滤波器是一种LTI滤波器。N阶的FIR滤波器的输出对应于输入时间序列xn的关系形式如下: hk为滤波器系数。 y0 = h0*x0 y1 = h0*x1 + h1*x0 y2 = 阅读全文
posted @ 2018-06-27 08:31 alifpga 阅读(1064) 评论(0) 推荐(0)
摘要:分布式算法(distributed arithmetic,DA)是一种以实现乘法运算为目的的运算方法。它与传统实现乘法运算的不同之处在于:执行部分积运算的先后顺序不同。简单地说,分布式算法在完成乘加功能时时通过将各输入数据每一对应位产生的部分积预先进行相加形成相应部分积,然后再对各部分积进行累加形成 阅读全文
posted @ 2018-06-26 10:36 alifpga 阅读(4331) 评论(0) 推荐(0)
摘要:学习FPGA,先要有数电知识,最好有点C语言,,学好硬件描述语言,verilog或者vhdl。在有这些基础上,做一些小的模块不断积累。这里不再赘述。 下面介绍一下关于FPGA学习过程中的一些理论知识。 1、信号处理——信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器 阅读全文
posted @ 2018-06-25 09:06 alifpga 阅读(494) 评论(0) 推荐(1)
摘要:前面的文章我们介绍了关于FFT的硬件实现。关于FFT的逆运算IFFT,其实就是将实现FFT的过程反过来执行就可以了。 在实现过程中要注意很多问题。 同 FFT一样,效率问题。以2048点为例,根据理论值计算,计算一次2048点的IFFT的时间应为130us。在采用流水线的方式下,实部计算和虚部计算均 阅读全文
posted @ 2018-06-24 10:43 alifpga 阅读(516) 评论(0) 推荐(0)
摘要:PIC:Peripheral Interface Controller。 FPGA:Field Programmable Gate Array。 关于二者: 区别: FPGA是逻辑门器件,可以配置成为并行逻辑模块。FPGA最大优点是并行处理。例如构建一百个与非门,FPGA可以在一个周期同时完成信号输 阅读全文
posted @ 2018-06-23 10:11 alifpga 阅读(566) 评论(0) 推荐(0)
摘要:前面的文章,我们对用硬件实现FFT做了简单介绍。前面文章我们使用的是控制器方式实现FFT,也就是说将一组数据放入FFT模块的RAM中,计算一次蝶形计算,完成后从RAM中读出数据继续计算。 以2048点为例的话,这个FFT计算周期是2048*11*DT,DT为计算一次蝶形运算的时间,按照上述算法,整个 阅读全文
posted @ 2018-06-22 08:42 alifpga 阅读(1149) 评论(0) 推荐(0)
摘要:在千兆以太网的MAC 子层,除了支持以往的CSMA/CD介质访问控制协议外,还引入了全双工流量控制协议。其中,CSMA/CD协议用于解决共享信道的争用问题,即支持以集线器作为星型拓扑中心的共享以太网组网;全双工流量控制协议适用于交换机到交换机或交换机到站点之间的点-点连接,两点间可以同时进行发送与接 阅读全文
posted @ 2018-06-21 09:27 alifpga 阅读(1674) 评论(0) 推荐(0)
摘要:MARVEL出产的高端千兆以太网交换芯片,对每个端口支持不同的交换模式。 包括4种模式: Secure模式:所带VLAN tag必须存在于VTU表中,且入端口必须是该VLAN成员,否则丢弃报文。 Check模式:所带VLAN tag必须存在于VTU表中,否则丢弃报文。 Fallback模式:入端口报 阅读全文
posted @ 2018-06-20 10:34 alifpga 阅读(1041) 评论(0) 推荐(0)
摘要:所谓流水线(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 阅读(2814) 评论(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 阅读(4269) 评论(0) 推荐(0)
摘要:网上对于FPGACNN加速的研究已经很多了,神经网络的硬件加速似乎已经满大街都是了,这里我们暂且不讨论谁做的好谁做的不好,我们只是根据许许多多的经验来总结一下实现硬件加速,需要哪些知识,考虑哪些因素。 很多人都说在做FPGA的神经网络加速,可是有多少人真正拿出了实际结果,可能大部分人就是用HLS(高 阅读全文
posted @ 2018-06-12 16:40 alifpga 阅读(2492) 评论(0) 推荐(0)
摘要:当今,FPGA和单片机的应用非常广泛,在有FPGA知识的基础上,笔者认为可以把FPGA作为主要的学习目标,单片机作为辅助技能。其实二者是相互促进的。不管是FPGA还是单片机的开发其实都是基于较强的逻辑性,在这一点上二者是有共同之处的,但是在程序编写的逻辑性上,FPGA所用的硬件描述语言是要超出C语言 阅读全文
posted @ 2018-06-11 21:16 alifpga 阅读(900) 评论(0) 推荐(0)
摘要:最近半个月,做个的项目。开始做测试,机器跑着,整个项目前后做了半年,有些小想法,分享于诸位: 1.前期的设计工作应该做到面面俱到,否则在未来的开发中,大概率将会遇到一些问题: 一,性能不满足需求,然后为了提升性能,资源又成了瓶颈; 二,功能设计频繁变更; 三,各个模块之间的耦合性问题,导致系统大了之 阅读全文
posted @ 2018-06-10 12:37 alifpga 阅读(253) 评论(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 阅读(1050) 评论(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 阅读(2457) 评论(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 阅读(5242) 评论(0) 推荐(0)