verilog学习笔记(一)--基础知识

说明:本文是一个学习笔记。

verilog基础知识

个人理解,verilog是一种简化数字电路开发的硬件描述语言。它和其他编程语言不太一样,它核心在描述,既学习的重点应该落在电路上,用verilog如何搭出想要的电路。

verilog的语言特点

在一般的思想中,人们习惯于将复杂的功能划分为简单的部分,所以verilog提出了模块的概念。一般书里都提到“自定向下”的设计思路?,所实话我没理解这个概念,以后补充。

ASIC与FPGA

ASIC的设计流程:
ASIC的设计流程

这里的RTL综合就是把代码转换为电路的过程。
FPGA的设计流程:
FPGA的设计流程
FPGA和ASIC相比的优势时,在完成设计后可以更改设计。而ASIC在设计完成后则不能更改。

时序约束

竞争与冒险的存在

组合逻辑电路中,同一信号经不同的路径传输后,到达电路中某一会合点的时间有先有后,这种现象称为逻辑竞争,而因此产生输出干扰脉冲的现象称为冒险。
竞争( Competition)定义为:在组合逻辑电路中,某个输入变量通过两条或两条以上的途径传到输出端,由于每条途径的延退时间不同,到达输出门的时间就有先有后,这种现象称为竞争。把不会产生错误输出的竞争的现象称为非临界竞争。把产生暂时性的或永久性错误输出的竞争现象称为临界竟争。
冒险(Risk)定义为:信号在器件内部通过连线和逻辑单元时,都有一定的延时,延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。如果一个组合逻辑电路中有“毛刺”出现,就说它有竞争。
竞争和冒险由于电路中的延时造成的,导致信号到目的地的先后顺序不对。
竞争的例子:
在这里插入图片描述

一个信号分两路,由于通过的处理步骤不一样,造成其延时不一样,造成输出端接受的信号有相位差,而我们想得到是一个信号。
冒险的例子:
在这里插入图片描述
造成这些延时的原因有:1.电路设计不合理。
2.器件的差异。
3.布线的不合理。

时序约束

在组合逻辑电路中,时钟信号像一个指挥棒,指挥这电路的有序工作。但电路中的延时会造成电路工作的混乱。在实际中,当时钟频率越高,达到时钟要求的条件就越难。一般解决这个这个问题的主要方向有两个:1.降低布线延迟。2.降低组合逻辑的延时。FPGA的布线在芯片内部完成了,而逻辑器件的连接是编程实现的。下图给出一个直观的例子:
在这里插入图片描述
时序约束的主要包括时钟性质定义,输入路径时延定义,输出路径时延定义,多周期定义和虚假路径定义。时钟信号是数字逻辑系统里最重要的信号,时钟频率越高,时钟抖动越大,允许布线的时延及组合逻辑的时延就越小。
时钟信号的三个性质:周期与占空比,时钟间的偏移(两个同源时钟之间,固定的触发延时间差)和时钟的抖动(时钟信号相对于理想时钟,上升沿和下降沿可能变化的前后范围)。
在这里插入图片描述

FPGA的主要组成部分

1.可编程输入/输出单元(IOB)
2.可配置逻辑块(CLB)
3.数字时钟管理模块(DCM)
4.嵌入式块RAM(BRAM)
5.布线资源
6.底层内嵌功能单元
DLL,PLL
7.内嵌专用硬核

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值