- 博客(20)
- 资源 (11)
- 收藏
- 关注
转载 Xilinx 7 Series FPGA时钟网络的区别(BUFG,BUFGR,BUFIO)
当Xilinx 7Series FPGA中,存在3种主要的时钟网络:BUFG,BUFR,BUFIO以及他们所衍生出的各种变种。那么他们有什么主要特点和区别呢?BUFIO是IO时钟网络,顾名思义,它只能驱动IO Block里面的逻辑,不能驱动CLB里面的LUT,REG等逻辑。BUFIO可以被如下节点驱动:1、SRCCs and MRCCs in the same clockregion2
2017-11-26 11:55:54 6339
转载 FPGA优化之高扇出
Fanout即扇出,模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛。因此,在写代码时应尽量避免高扇出的情况。但是,在某些特殊情况下,受到整体结构设计的需要或者无法修改代码的限制,则需要通过其它优化手段解决高扇出带来的问题。以下就介绍三个这样的方法: 首先来看下面这个实例,如图1所示为转置型FIR滤波器中的关键路径时序报告,在D
2017-11-26 11:47:45 9359
原创 PCB板上字母表示的含义
PCB板上的字母表示的是电子元器件的简称。往往在字母的后面还会跟上数字,这个数字表示的是这个电子元器件在PCB原理图中的图号。各个字母表示的含义如下:T :变压器C :电容器R: 电阻器L: 电感Q :三极管U: 芯片、集成电路(IC)D :二极管
2017-11-26 11:31:02 14162
原创 Matlab如何从dat或者txt文件读入数据
Matlab中可以使用命令: load 'data.dat' , 或者 load 'data.txt' ; 或者 data_in = textread('data.txt'), data_in = textread('data.dat')。以上两个命令,只适用于纯数据,且只有一列的情况。并且如果txt,dat文件不在当前目录下,需要添加文件的绝对路径
2017-11-26 11:07:53 75800 1
转载 误差向量幅度(EVM)介绍
误差向量幅度[EVM]:Error Vector Magnitude,误差向量(包括幅度和相位的矢量)是在一个给定时刻理想无误差基准信号与实际发射信号的向量差,能全面衡量调制信号的幅度误差和相位误差。EVM具体表示发射机对信号进行解调时产生的IQ分量与理想信号分量的接近程度,是考量调制信号质量的一种指标。 误差向量通常与QPSK等M-ary I/Q调制方案有关,且常以解调符号的I/Q“
2017-11-26 10:59:18 12208
转载 从TimeQuest角度看set_max_delay
今天开始看特权大大的《实战演练之时序收敛》,看到set_max_delay时跟着做了一下,设置了最大延时为3ns,然后report timing突然自动飘红了,很意外,于是看了看瓢红的路径的waveform,意外的发现set_max_delay中设置的值成了latch edge time,由于E文不好google了半天也没找到原因,于是再次祭法宝(从TimeQuest方向进行猜测)。由于repor
2017-11-14 00:04:31 5166
转载 FPGA 中 IO 口时序分析(Input Delay /output Delay)
1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛。因此,FPGA时序约束中IO口时序约束也是一个重点。只有约束正确才能在高速情况下保证FPGA和外部器件通信正确。1.2 FPGA整体概念 由于IO口时序约束分析是针对于电路板整个系统进行时序分析,所以FPGA需要作为一个整体分析,其中包括FPGA
2017-11-14 00:00:29 2553 2
转载 TimeQuest之delay_fall clock_fall傻傻分不清楚
这篇我想分享一个之前在用TimeQuest约束双边沿模块的input delay时犯得一个错误,有人看了可能会觉得傻傻的,什么眼神,falling delay和 falling clk怎么会分不清呢,字面意思好区分,可要深究在约束里的具体含义,还得花点功夫,下面以ddio接收模块为例说明它们的含义以及碰到的一些问题。ddio接收模块为双边沿工作模式,如图一所示,ddio_in接入DFFH和
2017-11-13 23:52:50 1959
转载 TimeQuest约束外设之诡异的Create Generated Clocks用法
最近在altera FPGA里设计一个外设的驱动模块,模块本身逻辑很简单如下图所示,但是模块和外设之间的时序约束问题搞的很头疼,今天先讲讲总结的一些Timequest下外设约束方法,特别是那毫无用户体验而言的Create Generated Clocks用法。要让外设正确接收FPGA发出的数据,需要dout和clkout满足外设的建立保持时间,如下图所示。 时序分析是基于源reg的
2017-11-13 23:50:11 1164
转载 FPGA静态时序分析基本概念
1.1延迟因素 第一,FPGA芯片内部的一些固有延迟,包括建立时间Tsu、保持时间Th和数据存入寄存器到输出管脚时间Tco,这些时间是由FPGA芯片决定的,不同的FPGA芯片这些延迟时间不一样。(如图1) 第二,路径延迟,包括时钟路径延迟和数据路径延迟,这两种延迟都与设计的逻辑有关,而最主要的延迟还是数据延迟,所以好的代码设计非常重要。(如图1) 图一 FPGA芯片内部
2017-11-13 23:47:32 3444
转载 静态时序分析的约束命令
Timequest共包括13条约束命令(从timequest工具constrants下拉菜单可选的约束命令,实际不止这么多),分别是: Creat clock Creat generated clock Set clock lantency Set clock uncertainty Set clock groups Remove clocks
2017-11-13 23:44:35 4797
原创 MATLAB2013a的license过期的解决办法
两种解决办法:自己亲测可以使用第一种办法:修改系统的时间到你的license未过期的时候,你就依然可以使用MATLAB2013a。但是这种方法治标不治本第二种方法:彻底解决,强烈推荐。打开text文本编辑器,新建一个license.lic的文件,文件中的内容如下。之后用这个文件覆盖掉MATLAB安装根目录的license文件夹里原来的license.lic文件。关机重启后,
2017-11-13 23:31:11 24736 2
转载 状态机跑飞的例子
调这个nrf24l01模块差不多半个月的时间了,期间真是千难万阻,困难重重啊!每每以为调通了时候,一测试,不是发送不行了就是接收不行了,或者是时间一长就莫名其妙地断开了,再也不能自动连接上!我将发送和接收写在同一个模块里,通过模式切换信号来切换,一开始就是用使能了自动应答的方式来调试的,代码前前后后改写了个无数版本。最痛苦的是刚开始就使用Signaltap II来调试的,谁知signaltap
2017-11-11 23:29:54 2311 1
转载 FPGA中状态机的稳定性
第一个:状态机输出信号填写问题,下面是我转载的一些能百度的到的东西。好像都比较正常。这里我还要强调的是,每个状态机的输出信号都需要全面。举例:always @ (posedge clk or negedge rst_n) 这里的状态机简单的描述,其实还有很多状态。...//初始化
2017-11-11 23:26:28 2178
转载 FPGA三段式状态机的思维陷阱
用三段式描述状态机的好处,国内外各位大牛都已经说的很多了,大致可归为以下三点:1.将组合逻辑和时序逻辑分开,利于综合器分析优化和程序维护;2.更符合设计的思维习惯;3.代码少,比一段式状态机更简洁。 对于第一点,我非常认可,后两点在Clifford E. Cummings著的(Synthesizable Finite State Machine Design
2017-11-11 23:23:00 1176 1
转载 彻底搞懂状态机(一段式、两段式、三段式)
实例:FSM实现10010串的检测状态转移图:初始状态S0,a = 0,z = 0.如果检测到1,跳转到S1。 下一状态S1,a = 1,z = 0.如果检测到0,跳转到S2。 下一状态S2,a = 0,z = 0.如果检测到0,跳转到S3。 下一状态S3,a = 0,z = 0.如果检测到1,跳转到S4。
2017-11-11 23:16:10 153194 11
转载 FPGA中状态机实现需要注意的地方
写状态机时需要注意的地方:1、状态机的状态编码大概有三种:二进制编码,格雷码,独热码。 其中二进制编码就是000、001、010、011、100这类的逐渐加一 格雷码就是相邻两个状态只有一位数不一样,000、001、011、010之类的 独热码的意思是有多少个状态那么状态码就有多少位,比如说状态机有六个状态,那么状态向量就有6位,其状态分别为000001、0
2017-11-11 23:01:31 1497
转载 Verilog中状态机编码方式的选择:二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码
一般的,在Verilog中最常用的编码方式有二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码。二进制码和格雷码是压缩状态编码。 若使用格雷编码,则相邻状态转换时只有一个状态位发生翻转,这样不仅能消除状态转换时由多条状态信号线的传输延迟所造成的毛刺,又可以降低功耗。 二进制编码也可称连续编码,也就是码元值的大小是连续变化的。如S0=3'
2017-11-11 22:57:22 9433
转载 verilog编译指令
编译指令 以`(反引号)开始的某些标识符是编译器指令。在Verilog 语言编译时,特定的编译器指令在整个编译过程中有效(编译过程可跨越多个文件),直到遇到其它的不同编译程序指令。完整的标准编译器指令如下:* `define, `undef* `ifdef, `else, `endif* `default_nettype* `include* `resetall* `t
2017-11-11 22:29:14 9849
转载 无线通信频率分配表(详细)
1、5G NR(标准未完成,建议关注) 2、LTE/LTE-Advanced/LTE-AdvancedPro 3、WCDMA/HSPA/HSPA+ 4、TD-SCDMA 5、GSM/GPRS/EDGE/EDGE Evolution/VAMOS备注:P-GSM,基准GSM-900频带E-GSM,扩展GSM-900频带(包括基准GSM-9
2017-11-06 13:23:45 19448
msk调制与gmsk调制
2014-01-13
matlab仿真qpsk gmsk msk fsk qam ask
2014-01-13
msk与QPSK调制解调
2013-06-03
GMSK与MSK调制解调
2013-06-02
msk 的调制解调
2013-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人