FPGA知识点
通信牛肉干
这个作者很懒,什么都没留下…
展开
-
FPGA系列9——锁存器、触发器和寄存器的区别
锁存器(latch):电平触发的存储单元,数据存储的动作(状态转换)取决于输入锁存信号的电平值,当锁存信号有效时,输出才会随着数据输入发生变化;当锁存信号无效时,输出信号保持不变。下面列举了SR和D锁存器的功能表:锁存器特点:锁存器在控制信号有效时,输出信号等于输入信号。所以,输入信号的任何变化, 都将直接引起锁存器输出状态的改变。这时输入信号若发生多次变化,输出状态也可能发生多次变化,这一现象称为锁存器的空翻。 锁存器的控制信号有效时,锁存器就变成了一个组合电路,时序逻辑电路的模型就等.原创 2020-05-16 18:31:17 · 4674 阅读 · 1 评论 -
FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别
1、Block RAMXlinx的BRAM可以配置成单口RAM、伪双口RAM、真双口RAM、单口ROM和双口ROM五种类型。2、Block RAM使用的资源下图以36Kb的BRAM为例,不论BRAM配置成什么模式(上面提到的五种模式),存储的阵列的大小只和数据位宽和地址大小配置有关,和使用哪种模式无关。不同的模式只是读取同一个存储阵列的端口数不同而已。3、不同模式使用的端口...原创 2020-04-25 11:19:54 · 7414 阅读 · 3 评论 -
FPGA系列7——Xilinx复数乘法器(Complex Multiplier v6.0)使用小结
原创 2020-03-22 15:40:32 · 10643 阅读 · 3 评论 -
FPGA系列6——时序分析(周期约束)
create_clock -name <name> -period <period> -waveform {<rise_time> <fall_time>} [get_ports <input_port>]参数 含义 -name 时钟名称 -period 时钟周期,单位为ns -waveform ...转载 2020-01-12 18:16:33 · 806 阅读 · 0 评论 -
FPGA系列5——时序分析(时序模型)
上一篇文章讲了4中典型时序路径,都是可以基于一种时序模型进行时序的分析,进行书序的约束。典型的时序模型如下图所示,一个完整的时序路径包括源时钟路径、数据路径和目的时钟路径,也可以表示为触发器+组合逻辑+触发器的模型。该时序模型的要求为: Tclk≥Tco+Tlogic+Tr...转载 2020-01-12 16:52:41 · 1732 阅读 · 0 评论 -
FPGA系列4——时序分析(时序路径)
看了很多时序方面的资料,觉得这篇文章写得简单明了,典型的时序路径有4类,如下图所示,这4类路径可分为片间路径(标记①和标记③)和片内路径(标记②和标记④)。对于所有的时序路径,我们都要明确其起点和终点,这4类时序路径的起点和终点分别如下表:时序路径 起点 终点 应用约束 ①输入端口到FPGA内部第一级触发器的路径 ChipA/clk rega/D ...转载 2020-01-12 16:27:09 · 2736 阅读 · 0 评论 -
FPGA系列3——ModelSim仿真及do文件编写
原创 2019-11-23 17:45:54 · 475 阅读 · 0 评论 -
FPGA系列1——串口接收信号去毛刺
Matlab仿真代码链接:https://download.csdn.net/download/flypassion/11981732原创 2019-11-17 10:18:13 · 2015 阅读 · 0 评论 -
FPGA系列2——TestBench架构浅谈
FPGA代码仿真(功能仿真或者时序仿真)是必不可少的环节,合理的测试代码架构可以帮助我们快速编写测试代码节约测试代码的编写时间,本节将自己实际使用的测试代码最小架构进行整理(见下图),方便以后改进及使用。1.待测试代码module TaskTest(input i_clk ,input i_rst ,input [7:0] a ,input [7...原创 2019-11-12 22:42:31 · 353 阅读 · 0 评论 -
时序例外_Timing Exceptions_Min/Max Delays(set_max_delay/set_min_delay)
1、什么是Min/Max Delays?Min/Max Delays可以理解为端到端的延时大小。Min Delay约束直接影响的是保持关系,因为延时最小对应的保持关系最差的情况;Max Delay约束直接影响的是建立关系,因为延时最大对应的建立关系最差的情况。2、Min/Max Delays约束命令set_max_delay <delay> [-datapath_o...原创 2019-09-22 10:18:58 · 3525 阅读 · 0 评论 -
时序例外_Timing Exceptions_Multicycle Paths(set_multicycle_path)
1、多周期路径约束目的?多周期约束允许根据设计的时钟修改路径的建立保持时间。默认情况下Viavdo时序分析引擎是单周期分析的,这样的话不适合具体的逻辑路径,会对某些路径造成过约束。多周期路径最常见的例子就是数据在逻辑路径末端稳定需要多个时钟周期,而不是一个。路径的始端和末端允许路径控制,Xilinx建议使用多周期约束放松对建立时间的需求。保持时间需求保持与建立时间的默认关系,也可以根据设计...原创 2019-09-21 11:01:06 · 1443 阅读 · 0 评论 -
时序例外_Timing Exceptions_ 综述
1.什么是时序例外默认设置情况下,逻辑功能的时序不正确。2.如何解决时序例外使用时序例外命令去解决时序例外,时序例外命令如下:set_multicycle_path:表明数据form the start of the path to the end of the path传播需要多少个时钟周期。set_false_path:表明该路径不需要时序分析。set_max_dela...原创 2019-09-20 00:04:44 · 1437 阅读 · 0 评论 -
Xilinx FPGA 复位信号知识点
1、疑惑的几个知识点:a:复位信号是该高复位还是低复位,两者有何差异?b:同步复位和异步复位有何不同?c:异步复位如何同步化?(原始代码:Syn_Asy_Rst.v)2、知识点解惑:a:首先得明确一点就是复位信号只针对时序器件存在,LUT就不存在复位之说(本实验只针对D触发器而言)。对于Xilinx和Altera不同厂家的芯片内部触发器可能有不同设计,本文只研究了Xilin...原创 2019-07-20 17:54:29 · 2744 阅读 · 0 评论 -
Verilog乘法的实现——Xilinx Multiplier IP研究(1)
实验目的Verilog实现乘法用多种方法,可以直接使用官方现成的IP,也可以自己写RTL代码。本系列研究Xilinx乘法器IP核的配置使用方法、不同配置下资源占用情况,以及和自己设计的RTL多级流水乘法器对比,本文只针对Xilinx Multiplier IP的使用情况和不同配置下资源占用情况进行分析,下一篇文章将对比不同流水情况下的情况。实验代码及测试代码:https://download...原创 2019-08-02 20:24:35 · 13770 阅读 · 0 评论 -
Verilog乘法的实现——几种使用多级流水实现方法对比(2)
实验目的研究实现不同级流水下Verilog实现16位有符号乘法器使用的资源情况。实验内容1.XilinxMultiplier IP配置成DSP实现(Multiplier Construction:Use Mults) Pipeline Stages:1 资源使用情况 Pipeline Stages:3 资源使用情况 Pipeline ...原创 2019-08-02 23:42:09 · 2271 阅读 · 0 评论 -
Verilog实现16bits*16bits有符号型乘法(1)
实验目的1、利用纯逻辑实现16*16有符号型阵列乘法器;2、对比XilinxMultiplier IP纯逻辑实现16*16有符号型乘法器的资源使用情况及性能;源代码链接:https://download.csdn.net/download/flypassion/11470999 实现内容 1、纯逻辑实现16*16有符号型阵列乘法器(无流水) ...原创 2019-08-04 22:56:46 · 4627 阅读 · 3 评论 -
Verilog系统函数的应用总结
$random:产生32位的随机数,它是一个带符号的整形数;产生有符号随机数:data = $random % 10 ; //产生一个在-9—9范围的随机数;产生无符号随机数:data = {$random} % 10;//产生一个在0—9范围的随机数;...原创 2019-08-08 23:04:32 · 603 阅读 · 0 评论 -
Verilog TCL使用总结
1.Simulation启动仿真:launch_simulation关闭仿真:close_sim2.Synthesis复位综合:reset_run synth_1(启动综合必须复位Synthesis);启动综合:launch_runs synth_1 -jobs 23.保存ILA抓取的数据将抓取的ILA数据保存为csv格式:write_hw_ila_data -csv_...原创 2019-08-08 23:19:10 · 2096 阅读 · 0 评论 -
Xilinx仿真库文件永久添加到ModelSim的默认库
为了提高仿真效率,有时需要单独运行ModelSim,但是ModelSim默认库中没有Xilinx的仿真库,导致不能使用ModelSim单独进行仿真。本文介绍一种方法,可以将Xilinx仿真库文件永久添加到ModelSim的库中,每次打开ModelSim就会默认添加Xilinx所有的仿真库文件,不需要每次单独添加。前期准备1、Xilinx相关软件安装正确,并且已经生成仿真库文件(具体的生成仿真...原创 2019-08-25 23:52:24 · 1798 阅读 · 0 评论 -
时序例外_Timing Exceptions_False Paths(set_false_path)
今天拿到一个别人的工程,布局布线后发现有16个Critical Warning,在生成bit文件时,vivado卡死在布线步骤,说明时序是有问题的。打开综合后的时序报告,发现保持时间Slack为-18ns,而且都是保持时间违例,建立时间没有问题。通过对具体的违例线路分析,发现大部分都是异步fifo读写数据路径违例(如下图所示),最终通过set_false_path解决了问题。所以对false pa...原创 2019-09-18 23:17:51 · 6246 阅读 · 0 评论 -
FPGA 复位信号设计
1.问题在实际应用中发现使用PLL产生的locked信号与PLL产生的不同频率输出时钟信号是不同步的,即可以理解为PLL输出的locked信号与PLL输出不同频率时钟信号为异步关系,所以在使用locked作为多个时钟驱动模块的复位信号时,需要做异步复位同步释放的处理。2.问题仿真调用Xilinx PLL IP核,输入时钟40Mhz,输出40MHz、80MHz、90MHz、100MHz和...原创 2019-07-20 11:11:16 · 3246 阅读 · 0 评论