Felix

技术源于积累,成功始于执着! 个人邮箱:justlxy@mail.dhu.edu.cn QQ:1576109464

FPGA定点小数计算(Verilog版)第三篇——除法运算

定点小数除法运算,相比加法和乘法来说要复杂很多了,但是算法的基本思想还是很简单的。和整数除法类似,算法的核心思想就是,将除法运算转换为移位和减法运算。从具体实现的角度来看,一般有两种方式:

FPGA定点小数计算(Verilog版)第二篇——乘法运算

发布一下这两天的成果,用Verilog实现的FPGA定点小数计算,一共有N篇,包括加法、乘法、除法、浮点定点转换、平方根等……目前加法、乘法已完成调试,除法、浮点定点转换和平方根等尚未完成……时间仓促,此次博文直接贴程序、RTL结构图和功能仿真波形图,算法原理讲解部分后续有时间在补充……

FPGA定点小数计算(Verilog版)第一篇——加法运算

发布一下这两天的成果,用Verilog实现的FPGA定点小数计算,一共有N篇,包括加法、乘法、除法、浮点定点转换、平方根等……目前加法、乘法已完成调试,除法、浮点定点转换和平方根等尚未完成……时间仓促,此次博文直接贴程序、RTL结构图和功能仿真波形图,算法原理讲解部分后续有时间在补充……

关于CORDIC算法中的K值的补充说明

前几天写了一篇关于CORDIC算法的文章,可能关于K值并没有说的特别清楚,今天刚好遇到有人问我这个问题。正好借此机会来详细说明一下。首先,之前的文章是:http://blog.chinaaet.com/justlxy/p/510005227...

聊一聊CORDIC原理与Lattice相关IP使用说明

CORDIC算法最初设计用于使用硬件逻辑解决向量旋转计算的问题。其基本思想是使用迭代的方法,将原本的浮点乘法和三角计算转换为简单的减法、加法、移位和查表等操作,从而大大地提高计算效率。随着FPGA技术的发展,CORDIC算法被越来越多地被应用于FPGA上,来解决一些图像处理,数值计算等领域的问题。

Lattice FPGA中的Ripple Mode之——关于加法器实现的讨论

为什么写这篇博文呢?因为鄙人无意中发现了一个有趣的问题,所以和大家分享一下。其实加法器是很简单的东西,大部分人可能并不注意其在FPGA的具体实现方式。一般情况下,对于简单的加法运算(如三个4bits的数相加),大部分人都是在HDL中直接使用...

静态时序分析之——关于PAR_ADJ的补充说明

前面的文章中,有提到过(http://blog.chinaaet.com/justlxy/p/5100052121): 一般情况下,使用实际需求的FREQUENCY/PERIOD值作为约束条件是一个很好的习惯和选择。但是也有的场合,需要将约束设置得高一点,以测试当前的设计的最高性能等参数。此时,设计者在设置时钟约束的时候,可以使用PAR_ADJ选项,以避免过约束带来的问题。

静态时序分析工具介绍(Lattice Timing Analysis View篇)

今天,来聊一聊本次连载博文的最后一个内容(至少暂时是最后一篇)——Lattice的静态时序分析工具介绍,Lattice Timing Analysis View。其实Timing Analysis View也不是什么高级的玩意,基本上就是把PAR TRACE的Report搞成了一个GUI的形式,同时新增了一些横friendly的功能。个人而言,还是非常喜欢这个分析工具的,主要有如下几个方面:

静态时序分析的基本流程(Lattice Diamond篇)

如题,这篇博文来简单地聊一聊使用Lattice的IDE Diamond进行静态时序分析的一般步骤。

静态时序分析之——如何编写有效地时序约束(五)

不知不觉,就第十篇了……所以决定偷个懒……这一篇直接就是英文的复制粘贴过来了……

静态时序分析之——如何编写有效地时序约束(四)

这篇文章主要介绍三个内容,分别是: |-7、Timing Exception 1 — MULTICYCLE |-8、Clock over-constrained |-9、Timing Exception 2 — False Paths

静态时序分析之——如何编写有效地时序约束(三)

例子依然是(一)中给出的例子,这篇博文主要聊的是 |-4、INPUT_SETUP |-5、CLOCK_TO_OUT |-6、CLKSKEWDIFF 这三个方面。

静态时序分析之——如何编写有效地时序约束(二)

如题,这篇仍然使用的是上一篇所介绍的那个例子,主要分析的是两种案例: ​Insufficient FREQUENCY preference & Sufficient FREQUENCY preference,即不充分的频率约束和充分的频率约束。

静态时序分析之——如何编写有效地时序约束(一)

前面的几篇讲了静态时序分析一些基本概念等内容,接下来将以一个实际的例子来简单地介绍一下使用Lattice Diamond IDE进行静态时序分析的几种基本案例。此部分博文主要翻译自Lattice的一篇叫做Timing Closure的文章(在Diamond的Start Page的页面中就可以找到),有兴趣的可以自己去下载阅读。

Under-Constraining与Over-Constraining

如题,这篇博文主要讨论的内容为Under-Constraining与Over-Constraining,即欠约束和过约束。