笔记
文章平均质量分 87
亦可西
这个作者很懒,什么都没留下…
展开
-
vivado中的OOC技术
一、什么是OOCOOC(Out-of-context)是Vivado提供的一项技术,选择将HDL对象当作一个隔离模块运行,完成自底向上的综合流程。底层的OOC模块相对于顶层模块独立运行,并且拥有自己的约束集合; 运行了OOC模块之后,再运行顶层模块综合时可以直接调用OOC综合结果,而不需要重新运行一次综合(除非修改了RTL设计或约束)。由于不需要每次综合时都运行整个设计,这项技术可以大大减少顶层模块的综合运行时间。IP核就是典型的采用OOC技术的代表,配置好IP核后可以选择综合模式为global原创 2020-09-02 22:04:42 · 5444 阅读 · 3 评论 -
verilog中的定点数、浮点数、定点小数、定点整数的表示及运算
1、定点数: 顾名思义定点数就是小数位固定不变的数叫做定点数,也就是小数点是定在某个位置不变的数。2、定点数的分类: (1)定点整数:定点整数的小数点后面没有其他的数值,即小数点定在了数的最后面 定点整数又分为以下两类: ...原创 2020-05-05 12:14:55 · 37754 阅读 · 7 评论 -
VIVADO常见警告、错误及解决方法
1、综合中出现警告:[Synth 8-5788] Register Packet_header_reg in module RXDDSP is has both Set and reset with same priority. This may cause simulation mismatches.解决方法:在复位时将寄存器Packet_header_reg的初值设置为0;2、r...原创 2019-12-04 17:39:36 · 84961 阅读 · 19 评论 -
聊一聊FPGA的片内资源相关知识
主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、DCM和DSP)的硬核(ASIC型)模块。如图所示,FPGA芯片主要由7部分组成,分别为:可编程输入输出单元(IOB)、基本可编程逻辑单元(CLB)、完整的时钟管理(DCM)、嵌入式块RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。 1.可编程输入输出单元...转载 2019-07-23 17:50:54 · 1428 阅读 · 0 评论 -
verilog之门级相关知识
1、veriog中有关门的关键字总共有26个,本篇只介绍简单的几个 (1)and-------与门 (2)nand-------与非门 (3)nor ---------或与门 (4)or-----------或门 (5)xor---------异或门 (6)xnor--------同或 ...原创 2019-07-12 15:38:05 · 3516 阅读 · 3 评论 -
I/O接口标准(1):LVTTL、LVCMOS、SSTL、HSTL
转自FPGA开发圈2016-10-19I/O接口标准1.单端信号接口标准 LVTTL和LVCMOS(JESD8-5,JESD8-B) SSTL(JESD8-8,JESD8-9B,JESD8-15) HSTL(JESD8-6) LVTTL和LVCMOS结构通常是简单的push-pull。最简单的例子就是CMOS反向器,需要满足的唯一参数是VIL/V...转载 2019-08-02 15:20:58 · 4544 阅读 · 0 评论 -
如何理解FPGA的配置状态字寄存器Status Register
赛灵思FPGA开发圈今天Xilinx的FPGA有多种配置接口,如SPI,BPI,SeletMAP,Serial,JTAG等;如果从时钟发送者的角度分,还可以分为主动Master(即由FPGA自己发送配置时钟信号CCLK)和被动Slave(即由外部器件提供配置所需要的时钟信号);另外还可由板上稳定晶振提供时钟信号,经由FPGA的EMCCLK接口,再从CCLK端口送出。如此多的...转载 2019-08-02 15:28:35 · 8949 阅读 · 2 评论 -
LUT与移位寄存器
LUT表是最基本的逻辑单元,入门书籍必有的内容,基本原理这里不说了。一般的,有SLICEM和SLICEL两种,M代表存储,L代表逻辑,好记吧。L的功能M也能实现,M比L更复杂,所以我们直接去看SLICEM。图上面时直接从工具里面截的,这里面包括了:6位读地址输入(A1-A6)8位写地址输入(WA1-WA7)写时钟(CLK)写使能(WEN)数据输入(DI1)...转载 2019-08-02 15:47:53 · 2733 阅读 · 1 评论 -
示波器的触发功能使用详解
前言:在使用示波器进行测量时,首先就是需要掌握选择何种触发方式来捕获特定的事件,所以充分理解触发的概念、原理以及设置方法是有效使用示波器的前提。 本文以TO1000系列平板示波器为例,用最简洁的讲解从零开始建立对示波器触发的认识。 一、触发的定义 在文章的开始,我们给示波器的触发下一...转载 2019-07-21 15:22:06 · 28323 阅读 · 3 评论 -
8位二进制数的原码、反码、补码以及它能表示的范围
=====================================================================================1、正数的反码和补码都与原码相同。 2、而负数的反码为对该数的原码除符号位外各位取反。 3、负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加11、原码表示法规定:用符号位和数值表示带符号数,正数的符号位用“0...原创 2019-07-12 15:19:02 · 39239 阅读 · 2 评论 -
verilog系统任务之$random
这个系统函数提供了一个产生随机数的手段,当函数被调用时返回一个32位的随机数。它是一个带符号的整形数。$random的一般用法:$random%b,其中b>0。它给出了一个范围在(-b+1)到(b-1)的随机数。例如:reg[23:0]rand;rand = $random%60;上述例子是产生-59-59之间的随机数;reg[23:0]rand;ran...原创 2019-07-11 21:46:13 · 6400 阅读 · 1 评论 -
ALTERA 命名规则
参考文献:https://www.cnblogs.com/luckybag/articles/3844247.html https://blog.csdn.net/doghan11/article/details/69262535主流FPGA产品Altera 的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如C...转载 2019-07-18 15:41:56 · 2225 阅读 · 0 评论 -
verilog中的initial块、always块详细解释
一、两者的关系 一个程序块可以有多个initial和always过程块。每个initial和always说明语句在仿真的一开始同时立即开始执行initial语句只执行一次,而always语句则不断重复的活动着,直到仿真结束。但always块语句后面跟着的过程快是否运行,满足则运行一次,满足则运行一次,直到程序结束。一段程序中使用的initial和always语句的次数不受限制,他们都...原创 2019-07-11 10:38:10 · 33263 阅读 · 4 评论 -
verilog 中generate(生成块)的相关知识详解
介绍:生成块可以动态地生成Verilog代码。这一声明语句方便了参数化模块的生成。当对矢量中的多个位进行重复操作时,或者当进行多个模块的实例引用的重复操作时,或者在根据参数的定义来确定程序中是否应该包括某段Verilog代码的时候,使用生成块语句能够大大地简化程序的编写过程。生成块语句能够控制变量的声明、任务或者函数的调用,还能对实例引用进行全面的控制。编写代码时必须在模块中说明生成的实例范...原创 2019-07-10 23:39:48 · 11062 阅读 · 1 评论 -
verilog 中生成块的相关知识
介绍:生成块可以动态地生成Verilog代码。这一声明语句方便了参数化模块的生成。当对矢量中的多个位进行重复操作时,或者当进行多个模块的实例引用的重复操作时,或者在根据参数的定义来确定程序中是否应该包括某段Verilog代码的时候,使用生成块语句能够大大地简化程序的编写过程。生成块语句能够控制变量的声明、任务或者函数的调用,还能对实例引用进行全面的控制。编写代码时必须在模块中说明生成的...原创 2019-07-10 22:21:45 · 1506 阅读 · 3 评论 -
verilog之编程应该注意的事项
一、综合的一般原则1) 综合之前一定要进行仿真,这是因为仿真会暴露逻辑错误,所以建议大家这样做。如果不做仿真,没有发现的逻辑错误会进入综合器,使综合的结果产生同样的逻辑错误。2) 每一次布局布线之后都要进行仿真,在器件编程或流片之前要做最后的仿真。3) 用Verilog HDL描述的异步状态机是不能综合的,因此应该避免用综合器来设计,如果一定要设计异步状态机则可用电路图输入的方法来设计。...原创 2019-07-14 17:30:10 · 1014 阅读 · 0 评论 -
verilog之状态机详细解释(二)
一、有限状态机设计的一般步骤:1) 逻辑抽象,得出状态转换图就是把给出的一个实际逻辑关系表示为时序逻辑函数,可以用状态转换表来描述,也可以用状态转换图来描述。这就需要:• 分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。通常是取原因(或条件)作为输入变量,取结果作为输出变量。• 定义输入、输出逻辑状态的含意,并将电路状态顺序编号。• 按照要求列出电路的状态转换表或画出状...原创 2019-07-14 15:46:22 · 5693 阅读 · 0 评论 -
verilog 中if....else语句以及case语句详细理解
1、if else:(1)if(表达式)语句;(2)if(表达式) 语句一 else 语句二(3)if(表达式1) 语句一; else if(表达式2) 语句2; else if(表达式3) 语句3; else if(表达式4) 语句4;#语句使用要点:(1)条件语句必须在过程块中使用。所...原创 2019-07-10 11:10:59 · 33444 阅读 · 3 评论 -
FPGA里面的时钟管理
一般情况下,FPGA器件内部的逻辑会在每个时钟周期的上升沿执行一次数据的输入和输出处理,而在两个时钟上升沿的空闲时间里,则可以用于执行各种各样复杂的处理。而一个比较耗时的复杂运算过程,往往无法一个时钟周期完成,便可以切割成几个耗时较小的运算,然后在数个时钟上升沿后输出最终的运算结果。时钟信号的引入,不仅让所有的数字运算过程变成“可量化”的,而且也能够将各种不相关的操作过程同步到一个节拍上协同工作。...转载 2019-07-25 15:21:53 · 2927 阅读 · 1 评论 -
Xilinx Altera FPGA中的逻辑资源(Slices VS LE)比较
前言经常有朋友会问我,“我这个方案是用A家的FPGA还是X家的FPGA呢?他们的容量够不够呢?他们的容量怎么比较呢?”当然,在大部分时候,我在给客户做设计的时候,直接会用到最高容量的产品,因为我们的产品对成本不敏感。不过,在此还是比较一下两家的产品,简单写写一些自己的想法,供大家参考,如有不对的地方,还请指正!进入正题要比较Xilinx和Altera的FPGA,就要清楚两个大厂F...转载 2019-08-02 21:20:44 · 2626 阅读 · 0 评论 -
FPGA核心板内部各类型资源总结(xilinx)
1 查找表LUTFPGA是基于查找表的设计电路,查 找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4 位地址线的 的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM,这样,每输入一个信号进行逻辑运算就...转载 2019-07-23 11:33:17 · 3546 阅读 · 0 评论 -
模拟角频率和数字角频率的关系
概念:模拟频率f:每秒经历多少个周期,单位Hz,即1/s;模拟角频率Ω:每秒经历多少弧度,单位rad/s;数字频率w:每个采样点间隔之间的弧度,单位rad。数字频率与模拟频率相互转化:w=2*pi*f/fs解释我们通常所说的频率,在没有特别指明的情况下,指的是模拟频率,其单位为赫兹(Hz),或者为1/秒(1/s),数学符号用f来表示。这是因为现实世界中的信号大多为模拟信号,频率是...转载 2019-10-11 10:57:27 · 4339 阅读 · 1 评论 -
基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成
一、摘要 除了采用编程的方法实现滤波器之外,Matlab中自带工具箱FDATool也能很方便快速的实现滤波器的设计。另外FPGA、DSP等实现数字滤波器算法时,经常要用到滤波器系数,采用FDATool工具箱也能快速的得到滤波器系数。二、实验平台 Matlab7.1三、实现步骤3.1滤波器指标若需要设计一个16阶的FIR滤波器(h(0)=0),给定的参数如下:(1)...转载 2019-10-10 20:18:09 · 2100 阅读 · 0 评论 -
存储器的分类
转载:https://www.cnblogs.com/Forever-LJX/p/5807816.html1.存储器1.1 简介 存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。1...转载 2019-09-25 11:17:45 · 1765 阅读 · 0 评论 -
触发器、锁存器、寄存器以及它们之间的区别
一、基本概念(1)锁存器 1. 锁存器(latch):是电平触发的存储单元,数据存储的动作(状态转换)取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。分为普通锁存器和门控锁存器: 2.普通锁存器无控制信号,输出状态始终直接由输入决定。 3.门控锁存器在控制信号无效时,输出保持不变,不随输入变...原创 2019-09-24 20:16:02 · 5448 阅读 · 0 评论 -
DDS信号发生器原理与经典DDS信号发生器设计方案
DDS信号发生器采用直接数字频率合成(Direct Digital Synthesis,简称DDS)技术,把信号发生器的频率稳定度、准确度提高到与基准频率相同的水平,并且可以在很宽的频率范围内进行精细的频率调节。采用这种方法设计的信号源可工作于调制状态,可对输出电平进行调节,也可输出各种波形。 DDS原理 在介绍DDS信号发生器原理之前我们先了解一下DDS原理。 若...转载 2019-09-22 15:24:51 · 55347 阅读 · 4 评论 -
功分器原理详解
一、什么是功分器 功分器全称功率分配器,英文名Power divider,是一种将一路输入信号能量分成两路或多路输出相等或不相等能量的器件,也可反过来将多路信号能量合成一路输出,此时可也称为合路器。一个功分器的输出端口之间应保证一定的隔离度。功分器按输出通常分为一分二(一个输入两个输出)、一分三(一个输入三个输出)等。功分器的主要技术参数有功率损耗(包括插入损耗、分配损耗和反射损耗)、各端口...转载 2019-09-18 22:25:35 · 40333 阅读 · 0 评论 -
建立时间和保持时间关系详解
图1 建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。如图1。数据稳定传输必须满足建立和保持时间的要求,当然在一...转载 2019-09-18 11:34:51 · 2640 阅读 · 0 评论 -
verilog之按键消抖的理解
按键在按下时会产生抖动,释放时也会产生抖动,所以在设计键盘扫描程序时必须考虑按键的消抖,我们一般只考虑按下时的抖动,而放弃对释放时抖动的消抖。抖动时间一般为20ms左右。按下的最终结果是低电平。 按键去抖思路是:检测到按下时延时20ms,再检测,如果状态仍为按下,则确认是按下的;如果状态为弹起的,则确认是干扰,无按键按下。 假如rst_in 为一个按键,直接连接至FPGA里面的复位引...原创 2019-09-17 10:35:48 · 5233 阅读 · 3 评论 -
MATLAB函数fliplr
fliplr将数组从左向右翻转全页折叠语法B = fliplr(A)说明示例B = fliplr(A)返回A,围绕垂直轴按左右方向翻转其各列。如果A是一个行向量,则fliplr(A)返回一个相同长度的向量,其元素的顺序颠倒。如果A是一个列向量,则fliplr(A)只返回A。对于多维数组,fliplr作用于由第一个和第二个维度构成的平面。示...原创 2019-09-11 17:21:51 · 14791 阅读 · 1 评论 -
扫盲篇:PCB设计钻孔知识详解
转自:电子发烧友网关于钻孔,15年PCB生产经验资深PCB生产工程师总结了以下几点较为基础的钻孔方面的知识。a.孔的类型孔有三大类别:过孔(Vai)、 插件孔(Pad孔) 、无铜安装孔(Npth)过孔(via):只是起电气导通作用不用插器件焊接,其表面可以做开窗(焊盘裸露)、盖油或者塞油。插件孔(Pad孔):需要插器件焊接的引脚孔,焊盘表面必须...转载 2019-09-10 10:30:29 · 13694 阅读 · 1 评论 -
FPGA中数的表示方法
转自FPGA之家1. 概述基于FPGA实现各种设计的首要前提是理解并掌握数字的表示方法,计算机中的数字表示方法有两种:定点数表示法和浮点数表示方法。其中,对于浮点数尽管当前应用最为广泛的是基于IEEE 754所设计的浮点数表示方法,Xilinx(忘记Altera中是否有对应的IP核)的IP核中也提供了相应的设计方法,但其表示方法缺乏FPGA设计应有的灵活性,而且资源消耗相对严重,因此可以...转载 2019-08-15 09:39:26 · 2697 阅读 · 0 评论 -
Vivado中的Incremental Compile增量编译技术详解
Incremental Compile增量编译是Vivado提供的一项高阶功能。目的旨在当设计微小的改变时,重用综合和布局布线的结果,缩短编译时间。下图是增量编译的流程:增量编译需要已经编译完成的原始设计的dcp文件作为参考,当我们在原始设计上做微小的改动时,就可以使用增量编译的流程。这些改动包括:- RTL代码的微小修改- 网表的微小修改,比如增加或者改变ILA...转载 2019-08-10 15:20:43 · 2510 阅读 · 0 评论 -
Vivado中电路结构的网表描述
在vivado集成环境中,网表时对设计的描述,如网表由单元(cell)、引脚(pin)、端口(port)和网络(Net)构成。(1)单元是设计单元 1、设计模块(Verilog HDL)/实体(VHDL)。 2、元件库中的基本元素(Basic Elements ,BLEs)实例。如LUT、FF、DSP、RAM等。 3、硬件功能的类属表...原创 2019-08-10 15:14:13 · 1130 阅读 · 0 评论 -
AD常用快捷键总结
1:shift+s 键 切换单层显示2:q 英寸和毫米 尺寸切换3:D+R进入布线规则设置。其中 Clearance 是设置最小安全线间距,覆铜时候间距的。比较常用4:CTRL+鼠标单击某个线,整个线的NET 网络 呈现高亮状态5:小键盘上的 * (星号键)可以在top、bottom layer切换,达到快速切换上下层。另外 +- 可以把所有显示的层轮流切换。6:CTR...转载 2019-07-23 15:40:16 · 95915 阅读 · 4 评论 -
FPGA内部资源总结
原文链接https://blog.csdn.net/times_poem/article/details/51351997 目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理 和DSP)的硬核(ASIC型)模块。如图1-1所示(注:图1-1只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯...转载 2019-07-23 11:35:19 · 9283 阅读 · 0 评论 -
verilog之状态机详细解释(一)
一、有限状态机定义有限状态机(Finite-State Machine,FSM),又成为有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。笔者常在电机控制、通信协议解析等应用场景下应用FSM。 本文所讲的是基于硬件描述语言Verilog HDL的有限状态机的编写技巧及规范。众所周知FPGA以其并行性和可重构性为世人所知,而在当今的电子世界,基本所有的器...原创 2019-07-14 11:28:39 · 44816 阅读 · 0 评论 -
verilog之状态机的结构
原创 2019-07-13 17:43:29 · 861 阅读 · 0 评论 -
数字电路信号逻辑电平标准详解
信号的逻辑电平经历了从单端信号到差分信号、从低速信号到高速信号的发展过程。最基本的单端信号逻辑电平为CMOS、TTL,在此基础上随着电压摆幅的降低,出现LVCMOS、LVTTL等逻辑电平,随着信号速率的提升又出现ECL、PECL、LVPECL、LVDS、CML等差分信号逻辑电平。 而什么是逻辑电平呢,个人的理解是,在数字电路中的高低电平都是相对与某个特定的电压来说的,...转载 2019-05-03 21:00:34 · 24584 阅读 · 0 评论 -
FPGA基础知识之主要的FPGA生产厂商介绍
FPGA各大厂商,不可不知引言:FPGA市场前景诱人,但是门槛之高在芯片行业里无出其右。全球有60多家公司先后斥资数十亿美元,前赴后继地尝试登顶FPGA高地,其中不乏英特尔、IBM、德州仪器、摩托罗拉、飞利浦、东芝、三星这样的行业巨鳄。近几年,全球半导体行业的关键词就是:收购、兼并、重组,FPGA领域也发生了不小的变化。三大FPGA(Field-Programmabl...转载 2019-04-14 17:22:39 · 5617 阅读 · 0 评论