自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 数字IC设计之脚本语言

首先需要了解一下脚本语言在数字IC设计中的作用,C、C++等编程语言是为了开发软件或高性能计算应用,要是开发简单的应用,脚本语言更为简单,缩短了传统的“编写-编译-链接-运行”过程。IC设计中常用的脚本有Tcl、Perl、Shell、Python等。其中,Tcl最简单。1.Tcl脚本语言工具控制语言(Tool Control Language, Tcl)是图形工具箱的扩展,提供各种GUI接...

2020-04-11 11:07:23 4090

原创 UVM验证方法学

对于验证,各设计语言的特点分别如下:(1) Verilog:主要针对设计,在验证方面最大的问题是功能模块化和激励随机化。(2) SystemC:主要针对算法开发,SystemC本质上是一个C++库,缺点是管理内存,避免内存泄露。(3) SystemVerilog: 具有面向对象的特性:封装、继承和多态。对于验证,SystemVerilog语言提供了功能覆盖率、约束等特点,与Verilo...

2020-04-10 13:42:14 2660

原创 PAL/PLA/GAL/CPLD/FPGA

PAL: Programming Array Logic可编程阵列逻辑,或阵列固定,只有与阵列可编程PLA:Programming Logic Array可编程逻辑阵列GAL:Generic Array Logic通用阵列逻辑器件,采用EEPOM工艺,可重复编程。CPLD:复杂可编程逻辑器件,内部结构基于乘积项(Product term),程序存储采用EEPROM/FLASH,组合逻辑...

2020-04-06 12:09:12 7307

转载 FPGA中的流水线设计(Pipeline Design)

流水线设计前言:本文从四部分对流水线设计进行分析,具体如下:第一部分什么是流水线第二部分什么时候用流水线设计第三部分使用流水线的优缺点第四部分流水线加法器举例第一 什么是流水线流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能...

2019-09-14 19:04:13 15610

转载 Vivado中的TCL脚本语言

本文介绍了Tcl在Vivado中的基础应用,希望起到抛砖引玉的作用,指引使用者在短时间内快速掌握相关技巧,更好地发挥Vivado在FPGA设计中的优势。Vivado TCL脚本语言使用Tcl作为它的命令语言的好处:1 Tcl提供了标准语法,一旦用户掌握了Tcl就可以很容易的发布命令给基于Tcl的程序2 Tcl可作为程序间通信的接口3 通过Tcl, Vivado具备了强大的设...

2019-09-12 09:39:24 1813

转载 ZYNQ结构简介

ZYNQ-7000是第一代可扩展处理平台(Extensible Processing Platform,EPP),同时具有软件可编程、硬件可编程、IO可编程的特性,为此Xilinx强调了“All Programmable的”概念。下面对其做一简要介绍,便于读者建立初步框架。ZYNQ芯片内包含一个丰富特性的基于双核ARM Cortex-A9的处理子系统(Processing System,PS)...

2019-09-06 09:53:54 5044

转载 task与function的区别

Task 和 Function https://www.cnblogs.com/icelyb24/archive/2011/05/04/2036379.html

2019-09-05 20:50:48 1385

原创 FPGA内部资源与开发流程

FPGA原理结构以及内部资源 https://blog.csdn.net/qq_32164245/article/details/81025841FPGA内部资源总结 https://blog.csdn.net/maxwell2ic/article/details/81116271FPGA开发流程(详述每一环节的物理含义和实现目标) https://blog.csdn.n...

2019-09-01 10:11:15 274

原创 时钟抖动与时钟偏斜

时钟抖动(Clock Jitter)和时钟偏斜(Clock Skew) https://www.cnblogs.com/zeushuang/archive/2012/07/04/2575849.html时钟偏差、时钟抖动都是什么呢?https://www.cnblogs.com/PG13/p/10341285.html...

2019-08-30 22:20:25 921

原创 DDR的相关信号种类,读写时序要求,带宽计算

DDR:Double Data Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器,双倍速率传输的SDRAM,在时钟的上升沿和下降沿都可以进行数据传输。我们电脑的内存条都是DDR芯片。相关文章:DDR3 内存带宽计算https://blog.csdn.net/zsj100213/article/details/82496893...

2019-08-30 16:54:13 1465

原创 异步fifo,深度计算,空满标志的产生

Verilog设计异步FIFOhttp://ninghechuan.com/2018/12/15/Verilog%E8%AE%BE%E8%AE%A1%E5%BC%82%E6%AD%A5FIFO/异步FIFO---Verilog实现 https://blog.csdn.net/alangaixiaoxiao/article/details/81432144异步FIFO中的几个难点问题...

2019-08-30 11:28:20 1466

原创 几种基本通信协议

SPI IIC UART通信协议简单说明 https://blog.csdn.net/qq576494799/article/details/53197269UART、IIC、SPI通信协议https://wenku.baidu.com/view/1deaff2a360cba1aa911da9e.html

2019-08-29 22:26:37 2187

原创 奇数与偶数分频电路设计及verilog代码实现

相关文章:Verilog设计(二):分频电路设计 https://blog.csdn.net/qq_26652069/article/details/90759052基于verilog的分频器设计(奇偶分频原理及其电路实现:上) https://www.cnblogs.com/Fun-with-FPGA/p/4700631.htmlD触发器实现二分频电路(D触发器构成的2分...

2019-08-29 19:33:11 1042

原创 存储器(ROM、RAM、FLASH)

目前半导体存储器基本上可以分为两大类:只读存储器(ROM)和随机存取存储器(RAM,又称读写存储器)。ROM是一种永久性数据存储器,其中的数据一般有专用的装置写入,数据一旦写入,不能随意改写,在断电后数据不会消失。ROM常用于存放系统的运行程序或固定不变的数据,ROM是一种组合逻辑电路。ROM存储器由存储阵列、地址译码器和输出控制电路三部分组成。存储阵列可用二极管、MOS管或BJT管构成,也...

2019-08-29 16:59:40 3932

原创 寄存器、锁存器、触发器的区别

锁存器(Latch)锁存器是一种对脉冲电平敏感的双稳态电路,它具有0和1两种稳定状态,一旦状态被确定,就能自行保持,直到有外部特定输入脉冲电平作用在电路位置时,才有可能改变状态。锁存器是电平触发的存储单元,数据存储的动作取决于使能信号的电平。锁存器不锁存信号时,输出端的信号随输入端变化,相当于通过一个缓存器一样;锁存器锁存信号时,输入端信号不起作用。锁存器最大危害在于对毛刺敏感。在FP...

2019-08-29 15:46:02 5829

原创 FPGA中的时序约束和时序分析

相关文章链接:时序约束与时序分析 https://wenku.baidu.com/view/73c8376125c52cc58bd6bebb.html在FPGA设计环境下添加时序约束的方法 https://wenku.baidu.com/view/1c870dfc7cd184254a353587.htmlFPGA STA(静态时序分析) https://www.cnb...

2019-08-28 23:18:52 541

原创 FPGA中的竞争与冒险

当考虑逻辑门的延迟时间对电路产生的影响,信号经过逻辑门电路都需要一定的时间,由于不同路径上门的级数不同,信号经过不同路径传输的时间不同,或者门的级数相同但各个门延迟时间有差异,也会造成传输时间不同竞争与冒险是逻辑门因输入端的竞争而导致输出产生不应有的尖峰干扰脉冲(又称过渡干扰脉冲)的现象。在门电路中,两个输入信号同时向两个相反方向的逻辑状态转换,即一个从低电平变为高电平,一个从高电平变为低电平...

2019-08-28 21:04:22 4081

原创 FPGA中的亚稳态问题

相关文章:【转载】FPGA中亚稳态——让你无处可逃https://www.cnblogs.com/houxiliang/p/8990801.html亚稳态以及测试逻辑实现 https://blog.csdn.net/DdiIcey/article/details/77720197补充:负建立时间和负保持时间负保持时间触发器数据D端和时钟CK端从管脚到内部...

2019-08-28 20:28:41 469

原创 建立时间、保持时间与系统最高时钟频率

1、建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间:触发器在时钟上升沿到来之后,其数据输出端的数据必须保持不变的最小时间。【补】建立时间违约怎么办1)增大时钟周期,但这意味着速度下降,一般不会这么处理2)重新分配关键路径,将过长的关键路径中的一部分逻辑从关键路径中剥离出来,放到相邻的时序级里,使每一级里面的时序长度相差无几。前提是不破坏系统...

2019-08-28 15:09:35 9724 5

转载 跨时钟域处理(快时钟域到慢时钟域,慢时钟域到快时钟域)

单bit:两级触发器同步(适用于慢到快) 多bit:采用异步FIFO,异步双口RAM 加握手信号 格雷码转换链接:跨时钟域处理https://www.cnblogs.com/ninghechuan/p/9828705.html跨时钟域信号传输(一)——控制信号篇 https://www.cnblogs.com/IClearner/p/6485389.html跨时钟...

2019-08-28 10:07:41 13416

转载 FPGA中组合逻辑和时序逻辑的区别

数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。1.组合逻辑概念组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关,不涉及对信号跳变沿的处理,无存储电路,也没有反馈电路。通常可以通过真值表的形式表达出来。2.组合逻辑的Verilog HDL 描述根据组合逻辑的电路行为,...

2019-08-24 20:50:18 2289

转载 FPGA功耗那些事儿(转载)

在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的。笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右,有点过高了,功耗过高则会造成发热量增大,温度高最常见的问题就是系统重启,另外对FPGA内部的时序也不利,导致可靠性下降。其它硬件电路的功耗是固定的,只有FPGA的功耗有优化的余地,因此硬件团队则极力要求笔者所在的FPGA团队...

2019-04-10 13:58:10 1180

转载 Xilinx Vivado .coe文件生成

一、.COE格式文件生成由于Quartus ii软件ROM用的是mif格式的文件,且可以用软件Guagle_wave生成正弦波、三角波、锯齿波。我们可以利用这个软件先生成数据,然后再将其转化为符合COE格式的文件。具体请参考以下步骤:1. 先打开Guagle_wave软件;2. 菜单栏-->查看-->全局参数设定(如下图所示):3. 设定波形-->我们选择...

2018-12-25 09:25:55 2191 2

转载 vivado----fpga硬件调试 ----找不到ila核问题及解决

问题 一:WARNING: [Xicom 50-38] xicom: No CseXsdb register file specified for CseXsdb slave type: 0, cse driver version: 0. Slave initialization skipped. INFO: [Labtools 27-1434] Device xc7k410t (JTAG ...

2018-10-18 22:10:08 21388 1

原创 数据接口的同步方法

数据接口同步是数字系统设计的重要问题,是造成系统不稳定工作的重要原因。(1)前级输出的延时是随机的,或者有可能变动,在后级完成数据的同步。对于随机到达的数据,需要建立同步机制。可以采用使数据通过RAM或者FIFO缓存再读取的方法,实现数据同步。将前级模块提供的时钟作为基本时钟,将数据写入RAM或FIFO,然后使用后级模块基本时钟产生读信号,将数据读出来。关键是必须有堆栈满和空的指示信号...

2018-09-28 15:58:36 6695

原创 FPGA基础概念

一、FPGA与ASICFPGA (Field-Programmable Gate Array),即现场可编程门阵列;ASIC (Application Specific Integrated Circuit),即专用集成电路;FPGA 是作为ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA与ASIC的主要区别为:...

2018-09-26 11:27:39 1568

原创 verilog知识点(二)

五、赋值语句和块语句5.1 赋值语句在Verilog HDL中,信号有两种赋值方式:非阻塞赋值和阻塞赋值;(1)非阻塞赋值(b<=a)在语句块中,非阻塞赋值语句所赋的变量值不能立即就为下面的语句所用;块结束后才能完成这次赋值操作,而所赋的变量值时上一次赋值得到的;在编写可综合的时序逻辑模块时,这是最常用的赋值方法;(2)阻塞赋值(b=a)赋值语句执行完后,块才...

2018-09-20 22:18:57 672

原创 verilog知识点(一)

一、Verilog_HDL模型所谓不同的抽象类别,实际上是指同一个物理电路,可以在不同层次上用Verilog语言来描述。如果只从行为功能的角度来描述某一电路模块,就称作行为模块。如果从电路结构的角度来描述该电路模块,就称作结构模块。根据抽象的级别将Verilog的模块分为5种不同的等级:(1)系统级(system-level):用语言提供的高级结构能够实现待设定模块的外部性能的模型;(...

2018-09-13 19:44:33 7974

转载 C语言与Linux知识 [转载自https://blog.csdn.net/wqx521/article/details/79662877]

一、C语言1、C语言——关键字2、C语言——位操作3、C语言——数组、函数、指针4、C语言——结构体5、C语言——预编译6、C语言——宏定义7、C语言——字符串函数8、C语言——可变参数9、C语言——回调函数10、数据结构——链表11、数据结构——堆栈12、数据结构——队列13、C语言小项目——电子词典 二、Linux1、Linux—...

2018-09-13 09:28:45 5182 1

转载 一位资深工程师FPGA设计经验精华,吸收后你也能强大!

从大学时代第一次接触FPGA至今已有10多年的时间。至今依然记得当初第一次在EDA实验平台上完成数字秒表,抢答器,密码锁等实验时,那个兴奋劲。当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建起来的。后来读研究生,工作陆陆续续也用过Quartus II,Foundation,ISE,Libero,并且学习了verilogHDL语言,学习的过程中...

2018-09-06 20:51:28 2358

转载 常见数字IC设计、FPGA工程师面试题

1:什么是同步逻辑和异步逻辑?同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。   异步时序逻辑电路的特点:电路中除可以使用带时钟的触发...

2018-09-06 20:47:16 717

转载 [转载] verilog经典例程整理

【例5.6 】用fork-join 并行块产生信号波形`timescale 10ns/1ns module wave2; reg wave; parameter cycle=5; initialforkwave=0;#(cycle) wave=1;#(2*cycle) wave=0;#(3*cycle) wave=1;#(4*cycle) wave=0;#(5*cyc...

2018-08-09 23:54:20 5790

转载 新版本Vivado打开老工程IP锁住的问题("...."is locked and cannot be customized)

新版本Vivado打开老工程IP锁住的问题("...."is locked and cannot be customized)1.生成IP核的状态报告Tools -&gt; Report -&gt; Report IP Status2.点击Upgrade Selected3.更新完成后IP Status从此,被锁住的IP就可以正常配置了。...

2018-07-27 10:22:41 7501 3

转载 Verilog不可综合结构

基础知识:verilog 不可综合语句 (1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,i...

2018-07-06 21:31:05 925

转载 (转载)xilinx FIFO的使用及各信号的讨论

FIFO的使用非常广泛,一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集,另一端是计算机的PCI总线,假设其AD采集的速率为16位100K SPS,那么每秒的数据量为100K×16bit=1.6Mbps,而PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为33*32=1056Mbps,在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。另外对于不同宽度的数据接口...

2018-04-27 16:05:00 2684 2

原创 学习笔记-DQPSK系统的调制与解调

DQPSK,就是四进制相移键控技术,利用前后相邻两个码元的相位差传递数据,DQPSK信号编码方式通常有两种:A方式和B方式,A方式相位差取值分别为:0°、90°、180°和270°,B方式取值45°、135°、225°和315°,这里我采用的是A方式编码规则。这篇文章是利用MATLAB工具对DQPSK系统的调制与解调系统进行仿真,系统框图如下:(1)发送数据:从TXT文件中导入数据,本次以32位数...

2018-04-15 21:44:15 18223 4

原创 数据结构-一种连续存储数组的算法

线性结构是数据结构的一个重要知识点,它就是把所有节点用一条直线连接起来。线性结构分为连续存储(数组)和离散存储(链表),连续存储就是节点之间是连续的,离散存储是节点之间是离散和分开的。本文章主要介绍了一种连续存储数组的算法,以及这个算法中用到的C语言知识点,还有自己的一些体会与感想。该算法实现一个数组元素的初始化、追加、查找、插入、删除、倒置、排序、输出等功能。一.基本算法定义一个结构体数据类型,...

2018-02-27 21:21:00 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除