FPGA工具/原理
文章平均质量分 72
总结一些不错的知识分享帖,关于fpga,工具使用,还有设计方向。
Vuko-wxh
道阻且长 行则将至。
展开
-
以Vivado工具为例了解FPGA实现
FPGA的实现过程可以对综合后生成的网表进行逻辑综合优化、以及布局、布线方面的优化。针对特定的设计可以进行选择功率以及物理综合设计进行优化。右键实现的选项,点击实现设置即可看到实现有关的配置界面,可以在设置中选择指定的约束文件,综合策略。在strategy的下拉菜单中,可以针对不同的性能和指标要求尝试选择不同的策略应用与项目工程中。同时,在description中的各个部分也可以指定directive进行定制各个部分的实现方案。原创 2022-11-06 12:58:29 · 1749 阅读 · 0 评论 -
以Vivado工具为例了解FPGA综合
在设计过程中,各个阶段的生成的文件都是.dcp,Vivado使用的是通用的模型贯穿在设计。原创 2022-11-02 23:08:39 · 4632 阅读 · 0 评论 -
FPGA原理和结构- 理解FPGA的基础知识
写在前面阅读《FPGA原理与结构》(日本 田野英晴主编, 赵谦译) 的读书笔记,本文通过FPGA的电路原理结构介绍了一些FPGA常见的基本概念。理解FPGA的基础知识触发器在实际的数字系统中往往包含大量的存储单元,而且经常要求他们在同一时刻同步动作,为达到这个目的,在每个存储单元电路上引入一个时钟脉冲(CLK)作为控制信号,只有当CLK到来时电路才被“触发”而动作,并根据输入信号改变输出状态。把这种在时钟信号触发时才能动作的存储单元电路称为触发器,以区别没有时钟信号控制的锁存器。从电路结构理解亚原创 2021-08-07 14:12:37 · 2112 阅读 · 0 评论 -
FPGA-xilinx系列芯片的复位,你真的明白吗?
本文记录总结之前在FPGA分享会中关于赛灵思系列的复位功能操作的设计以及建议原创 2020-06-23 22:38:50 · 4517 阅读 · 1 评论 -
Modelsim使用TCL脚本编写do文件进行快速仿真(前仿真)
前言之前博主在使用modelsim进行仿真的时候是用图形化的界面进行仿真,但是如果仿真任务量很大的话,这就不是一个很好的办法来操作,这样我们TCL的脚本语言进行仿真的优势就出来了,ModelSim的tcl最大的优势就在于它可以让整个仿真自动运行,(方便快捷),下面我就简单的整理下这部分的内容。工作环境Modelsim (版本不限)流程介绍自动完成建库映射库到物理目录编译源代码启动...原创 2020-03-07 13:12:56 · 2006 阅读 · 0 评论 -
FPGA-for循环对应verilog代码
为啥要在FPGA上实现for循环的代码? 在现在的编程和算法中,有一部分的算法的速度已经到达了瓶颈,为了提高算法的速度,提高效率,经常会遇到将c或者c++的代码转换为Verilog语言进行在FPGA上实现。 下文中,我借鉴的是明德扬的FPGA专题for循环对应verilog代码,上面是视频链接,本文是博主的学习笔记,喜欢可以拿去借鉴。例1for(i=0;i<8;...原创 2019-09-26 14:55:15 · 2941 阅读 · 1 评论 -
Quartus中出现错误: Can't place multiple pins assigned to pin location Pin_101 (IOPAD_X53_Y21_N14)
在编译工程时出现Error (176310): Can't place multiple pins assigned to pin location Pin_101 (IOPAD_X53_Y21_N14)可以从提示中看出是一个引脚复用的原因但是在原工程中只是将PIN_101作为普通IO引脚分配给模块使用。查到关于nCEO的定义:大意是說,每顆FPGA都有nCE與nCEO兩根pin...原创 2019-07-25 20:54:56 · 1252 阅读 · 0 评论 -
FPGA浮点小数与定点小数的换算及应用
定点小数运算有些FPGA中是不能直接对浮点数进行操作的,只能采用定点数进行数值运算。所谓定点小数就是把小数点的位置固定,我们要用整数来表示小数。先以10进制为例。如果我们能够计算12+34=46的话,当然也就能够计算1.2+3.4 或者 0.12+0.34了。所以定点小数的加减法和整数的相同,并且和小数点的位置无关。乘法就不同了。 12*34=408,而1.2*3.4=4.08。这里1.2...转载 2019-04-17 21:00:32 · 1080 阅读 · 0 评论 -
FPGA-时序约束
时钟约束:1、时钟2、input delays3、output delays4、时序例外一、时钟1.输入时钟 A.输入是CLK B.输入是差分 C.G或者恢复时钟2.PLL等衍生时钟3.自己分频的时钟二、input delays1.系统同步2.源同步(常用)数据和时钟一起从上游输送到FPGA A.SDR: a)看数据手册...原创 2019-07-15 15:48:09 · 347 阅读 · 0 评论 -
FPGA-代码的化简(部分思路)
代码简化可以提高设计的效率,所以在编写代码的时候可以适当进行代码的化简,从而减少代码验证的工作量,减少代码的出错的可能性,方便修改代码化简技巧: 在代码编写的时候时刻想着将重复的代码和条件进行提取化简。 1、当遇到代码重复度高的代码比如(数码管的不同位的段选用到了多个case进行判断) 这时的代码量比较大,比较繁杂,在修改和编写的时候容易出错...原创 2018-11-29 21:07:42 · 478 阅读 · 0 评论 -
ISE使用rom初始化文件coe MATLAB将mif文件转换为coe
我在网上发现大部分的软件只提供mif的转换软件而没有coe的这就让我在使用ISE学习的时候很困惑,所以我就码了下转换的代码,现学现卖,哈哈哈哈。我的方法比较蠢:我这里以波形数据为例(最近在做DDS信号发生器)首先将生成好的mif文件放在同一文件夹中然后导入数据(文本的元胞)(不要全部清空,加载完数据后会看到工作台存在声明的变量)转换代码(ok了)详细见代码吧。。。有什么不懂的留...原创 2019-04-07 00:36:46 · 1598 阅读 · 2 评论 -
FPGA-亚稳态的情景和解决办法
关于的亚稳态情景:1、时序不满足的时候2、不同时钟域的信号3、按键和芯片的读写等4、有可能在时钟上升沿变化的信号就均可能出现亚稳态的情况。预防亚稳态的办法:1、对于控制信号来说,建议使用同步机制,打两拍2、对于数据流来说,使用fifo3、对于少量,发送可控的数据流,可以增加指示信号的办法。...原创 2019-04-03 20:22:29 · 920 阅读 · 0 评论 -
FPGA-流水线操作
为何要进行流水线操作?前面是时序分析里面进行了简单提到了:一个系统的最小时钟时间也就是最高时钟周期是:建立时间+数据延时(暂时这样叫吧,我的意思就是数据在传输过程中经过组合逻辑的一些延时)+输出相应的时间。如果你的设计中有一部分的延时超过了时钟的时间,就会造成时序为例。Tmin =Tco +Tdata +Tsu怎么解决时序违例?最简单的办法:改变时钟周期但是通常在工作设...原创 2019-04-03 19:52:58 · 1589 阅读 · 0 评论 -
FPGA-测试文件的编写
测试文件的编写流程:定义时间标尺 定义信号类型 例化V文件 编写输入信号驱动1、时间标尺:格式:`timescale 仿真时间单位/时间精度举例:`timescale 1ns/100ps表示时延单位为1ns/100ps时间单位>=精度;2、定义信号类型:原来模块中的输入信号,定义成reg 类型原来模块中的输出信号,定义为wire类型3、例化测试模块...原创 2019-03-06 21:28:59 · 7102 阅读 · 1 评论 -
FPGA-时序原理(更新)
建立时间和保持时间: 建立时间和保持时间都是针对触发器的特性说的。 时序图如下:建立时间(Tsu:set up time) 是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间。保持时间(Th:hold time) 是指在触发器的时钟信号上升沿到来以后,...原创 2019-02-16 01:19:22 · 2896 阅读 · 2 评论 -
FPGA-Moldelsim使用及仿真改错
如果是自己查看仿真没通过ise或者vivado等软件关联的话仿真查看步骤如下1、点击加载点击file -->new--->new project2、设置项目的基本信息3、下一步后如果已经写好源文件和测试文件,就点添加现存文件:adding existing file4、添加后点击加载编译 把自己想看的信号加载到波形窗口中就ok了仿真查看时候个人...原创 2019-01-27 17:23:21 · 490 阅读 · 0 评论