
农夫笔记
文章平均质量分 80
。
初雪白了头
种一棵树最好的时间一个是五年前,一个是现在~
——麦田守望者
展开
-
二阶RC滤波器
二阶RC低通滤波器是一种常用的电路,用于滤除输入信号中高频部分,只保留低频部分。原创 2023-10-14 14:57:01 · 22510 阅读 · 2 评论 -
补码与有符号数范围判断
先说概念,:一个数在计算机中的二进制表示形式,带符号,最高位是符号位,正数为0,负数为1:因为机器数带符号,直接按照二进制转换的话,得到的数值不一定是存储的真正的数值,所以机器数表示的实际的那个值,叫真值,例如1000 0001的真值 = –000 0001 = –1。:符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。对于8bit数,其取值范围是:[1111 1111 , 0111 1111],也就是[-127 , 127],这个被叫做人脑最容易理解和计算的表示法。原创 2023-08-30 19:50:17 · 891 阅读 · 1 评论 -
IIR滤波器
IIR的特点是:非线性相位、消耗资源少。IIR滤波器的系统函数与差分方程如下所示:由差分方程可知IIR滤波器存在反馈,因此在FPGA设计时要考虑到有限字长效应带来的影响。差分方程中包括两个部分:输入信号x(n)的M节延时网络,相当于FIR的网络结构,实现系统的零点;输出信号y(n)的N节延时网络,作为系统的反馈,实现系统的极点。原创 2023-08-30 19:48:25 · 5852 阅读 · 0 评论 -
串行FIR滤波器
串行设计,就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算,然后在时钟驱动下输出滤波值。考虑到 FIR 滤波器系数的对称性,计算一个滤波输出值的周期可以减少到 8 个。串行设计时每个周期只进行一次乘法运算,所以设计中只需一个乘法器即可。此时数据需要每 8 个时钟周期有效输入一次,但是为了保证输出信号频率的正确性,工作时钟需要为采样频率的 8 倍,即 400MHz。这种方法的优点是资源耗费少,但是工作频率要求高,数据不能持续输出。原创 2023-08-25 17:50:13 · 1489 阅读 · 0 评论 -
并行FIR滤波器
由 FIR 滤波器结构可知,阶数为 15 时,FIR 的实现需要 16 个乘法器,15 个加法器和 15 组延时寄存器。输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KHz 的信号。FIR 滤波器具有严格的线性相频特性,同时其单位响应是有限长的,因而是稳定的系统。这里选择的 FIR 实现方法是最小二乘法(Least-squares),不同的实现方式滤波效果也不同,对应的滤波器系数也不同。代码以功能实现为目标。原创 2023-08-10 17:53:34 · 1712 阅读 · 0 评论 -
低功耗设计
。原创 2023-07-02 15:59:54 · 858 阅读 · 0 评论 -
乘法器介绍
介绍了几种基本的乘法器结构,分析了他们的特点和优缺点,最后附上基2booth乘法器的代码,Verilog实现原创 2023-06-08 21:45:00 · 5101 阅读 · 0 评论 -
简单移位器结构介绍
其实是一个复杂的多路开关电路,根据不同控制信号,将输入左移或右移或不变。多位的移位可以简单串联这样的单元实现,但移位位数多时,该方法过于复杂,不实用并且速度很慢。由晶体管阵列构成,行数等于数据字长,列数等于最大移位宽度。桶形移位器实现为传输管的单个阵列,而对数移位器采用分级的方法。移位值分解为几个2的指数值。log2M。原创 2023-05-31 18:45:00 · 3402 阅读 · 0 评论 -
加法器种类介绍
总结了几种加法器结构原创 2023-05-30 19:00:00 · 5072 阅读 · 1 评论 -
跨时钟域数据同步
跨时钟信号直接传输在信号跳变时违背本地时钟域的时序要求(建立时间约束,保持时间约束),容易产生亚稳态,无法确定亚稳态何时结束以及结束时保持在何种状态上。原创 2023-05-20 18:18:52 · 2822 阅读 · 0 评论 -
IC 术语
ADC Analog to Digital Convert 模拟信号到数字信号的转换电路AHB Advanced High Performance Bus ARM公司推出的AMBA总线规范之一,主要用于高性能模块(如CPU、DMA和DSP等)之间的连接APR Auto place and route 自动布局布线,是数字后端版图实现的主要流程ARM Acorn RISC Machine 英国ARM公司,手机或者移动芯片中常用的CPU处理器,现在低功耗设计中基本都采用ARM CPUASIC Appl原创 2023-04-20 19:43:43 · 953 阅读 · 0 评论 -
FPGA | 延迟模型
实际逻辑元器件和它们之间的传输路径都会存在延迟。没有声明的路径会使用分布延迟,分布延迟也没有声明的话,将使用零延迟。如果路径延迟和分布延迟同时声明,将选择最大的延迟作为路径延迟。所以,大多数逻辑门单元库中的延迟信息,都是以路径延迟的方式给出的。可以定义的延迟路径个数为 1 个,2 个,3 个,6 个, 12 个,其他数量的延迟值都是错误的。分布延迟需要给电路中每个独立的元件进行延迟定义,不同的路径有不同的延时,如下图所示。门延迟(上升延迟、下降延迟、关断延迟)的数值也可以通过路径延迟的方法来描述。原创 2023-04-20 19:31:43 · 1973 阅读 · 0 评论 -
FPGA与ASIC的区别
根据该电路性能的要求(限制),在一个由制造商提供的包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一个门级逻辑网络结构的最佳实现方案,形成门级电路网表netlist;(1)了解数字IC设计:在VLSI时代,数字IC设计是VLSI设计的根本所在(更大的规模、更好的性能、更低的功耗、超深亚微米(VDSM)工艺技术:对互连问题的关注)优化与映射:对已有的初始电路进行分析,去掉电路中的冗余单元,并对不满足限制条件的路径进行优化,然后将优化之后的电路映射到由制造商提供的工艺库上。原创 2023-04-13 19:11:06 · 1386 阅读 · 0 评论 -
FPGA设计
1. 面积与速度的平衡与互换这里的面积指一个设计消耗FPGA/CPLD的逻辑资源的数量,对于FPGA可以用消耗的FF(触发器)和LUT(查找表)来衡量,更一般的衡量方式可以用设计所占的等价逻辑门数。面积和速度这两个指标贯穿FPGA/CPLD设计的时钟,是设计质量的评价的终极标准 —— 面积和速度是一对对立统一的矛盾体。要求一个同时具备设计面积最小、运行频率最高是不现实的。更科学的设计目标应该是在满足设计时序要求(包括对设计频率的要求)的前提下,占用最小的芯片面积。或者在所规定的面积下,是设计的时序余量更大、原创 2023-04-12 21:11:46 · 651 阅读 · 0 评论 -
高扇出的危害及优化
扇出过高也就是也就意味了负载电容过大,电路原理基础告诉咱们,负载电容越大,充放电速度越慢,电平跳变所需要的时间增加,即驱动能力下降,时序更加紧张。面对高扇出的情况,后端工具通常会通过插入buffer增加驱动能力,然后插入buff又会增加延时,造成时序紧张。高扇出的情况通常意味着负载end_point分布在block的各个位置。原创 2023-04-12 20:45:00 · 1566 阅读 · 0 评论 -
建立时间和保持时间约束
就是时钟触发事件来临之前,数据需要保持稳定的最小时间,以便数据能够被时钟正确的采样。就是时钟触发事件来临之后,数据需要保持稳定的最小时间,以便数据能够被电路准确的传输。建立时间和保持时间的由来:G1~G4 与非门是维持阻塞电路,G5~G6 组成 RS 触发器。时钟直接作用在 G2/G3 门上,时钟为低时 G2/G3 通道关闭,为高时通道打开,进行数据的采样传输。但数据传输到 G2/G3 门之前,会经过 G4/G1 与非门,将引入时间延迟。原创 2023-03-27 21:44:12 · 1787 阅读 · 1 评论 -
FPGA | 亚稳态小结
亚稳态是触发器的一个固有特性,正常工作时,触发器经历较短的亚稳态时间,随后会正确输出;而出现亚稳态时,触发器经历较长的亚稳态时间,最终输出稳定的值,但是输出值的是无法保证其正确性,可能是1也可能是0。如果触发器的输入电压采样时间过短,即时序不够,则触发器需要花很长时间来实现输出逻辑达到标准电平,也就是说,电路处于中间态的时间变长,使得电路“反应”迟钝,这就是“亚稳态”。触发器的输出会产生毛刺,或者暂时保持在不稳定状态而且需要很长时间才能回到稳定状态;原创 2023-03-25 12:19:44 · 269 阅读 · 0 评论 -
FPGA | BRAM和DRAM
1.BRAM是使用FPGA中的整块双口RAM资源2.DRAM是FPGA中的查找表(LUT)拼凑出来的,要占用逻辑资源。3.物理上看,BRAM 是单纯的存储资源,但是要一块一块的用,不像DRAM 想要多少bit都可以。4.DRAM可以是纯组合逻辑,即给出地址马上出数据,BRAM是有时钟的。原创 2023-03-22 19:39:43 · 2338 阅读 · 0 评论 -
FPGA | 可综合性设计
Verilog 主要用于数字电路设计的描述,但不是所有的描述方式都可以被综合成实际的硬件电路。例如一些用于仿真验证的关键字,属于仿真验证语言,只能在仿真时使用,不能被综合成电路,如系统任务 $dsiplay, initial 语句等。所以使用 Verilog 设计数字电路时,一定要注意电路的可综合性。testbench 可以随心所欲,只要能构造出需要的仿真激励条件即可。下面是一些记录所有综合工具都支持的结构所有综合工具都不支持的结构综合工具可能支持的结构。原创 2023-03-19 14:48:59 · 491 阅读 · 0 评论 -
FPGA | 流水线与全加器
硬件描述语言的一个突出优点就是指令执行的并行性。为了保障数据的快速传输,必须使系统运行在尽可能高的频率上,但如果某些复杂逻辑功能的完成需要较长的延时,就会使系统很难运行在较高的频率上。在这种情况下,可使用流水线技术,即在长延时的逻辑功能块中插入触发器,使复杂的逻辑操作分步完成,减少每个部分的延时,从而提高系统的运行频率。如果某个设计可以分为若干步骤进行处理,而且整个数据处理过程是单向的,即没有反馈运算或者迭代运算,前一个步骤的输入即使下一个步骤的输出,就可以考虑采用流水线设计方法来提高系统的工作频率。原创 2023-03-07 22:40:28 · 991 阅读 · 0 评论 -
FPGA | 时钟问题
无论是用可编程逻辑元件,还是用全定制元件实现任何数字电路,设计不良的时钟在极限温度、电压或制造工艺偏差的情况下将导致系统错误的行为,所以可靠的时钟设计是非常关键的。在FPGA设计时通常采用以下四种时钟:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。原创 2023-03-07 22:37:33 · 2453 阅读 · 0 评论 -
FPGA | 组合逻辑中的竞争与险象问题
(Setup Time):在时钟跳变前数据必须保持稳定的时间。(Hold Time):在时钟跳变后数据必须保持稳定的时间。如果建立时间或保持时间不满足,数据将不能进入触发器。竞争的结果若是导致冒险或者险象(Hazard)发生(例如毛刺),并造成错误的后果,那么就称这种竞争为临界竞争。若竞争的结果没有导致冒险发生,或虽有冒险发生,但不影响系统的工作,那么就称这种竞争为非临界竞争。原创 2023-03-07 22:32:08 · 2610 阅读 · 0 评论 -
FPGA | 异步复位同步释放的理解
异步复位的两种时序违例其实就是复位信号传过去的0和D端口传过去的D在争抢到达Q的资格,而在这里后级寄存器的D在复位撤销后的第一个时钟上升沿时希望传输的是0,和复位信号希望输的0一致,而且输出Q也已经是0了,所以此时的后级寄存器中的电路节点没有需要进行电平反转的地方,没有动态功耗。一般来说,系统复位释放的顺序,是需要保证的。复位阶段虽然同样是异步的,但我的理解是由于复位的优先级高,电路进入复位状态,但解复位失败又会导致复位状态丢失。亚稳态出现的问题或者麻烦是在信号变化的时候,不能保证第一拍采样的值是确定的。原创 2023-03-07 22:27:45 · 537 阅读 · 0 评论 -
TMDS编解码原理与实现
HDMI和DVI协议使用TMDS作为它们的物理层。支持高达225MHz的传输速率,一个传输链路能满足高2048*1536分辨率电视信号。一般来说,一个HDMI/DVI接口包含四个TMDS通道,三条数据通道和一条时钟通道,每条通道采用差分电平传输,即一条通道要2根线,正极和负极。TMDS编解码算法可以使得被传输信号过渡过程的上冲和下冲减小,传输的数据趋于直流平衡,使信号对传输线的电磁干扰减少,提高信号传输的速度和可靠性。原创 2023-03-04 15:32:46 · 4149 阅读 · 1 评论 -
Xilinx原语的使用
UDP英文全称为User Defined Primitive,是用户自定义原语的意思。Xilinx原语是软件集成开发环境所提供的一系列底层逻辑功能单元。由于是底层逻辑功能单元,所以它们往往跟目标FPGA芯片以及芯片厂商紧密相关,因此不同厂商、不同器件的原语往往不能通用。当编译器对我们的HDL代码进行编译时,其中间环节的一些输出往往就是由原语组成的逻辑网表。因此,原语往往是不参与综合过程的,而使用原语描述的逻辑往往也不会被综合工具所优化。其实这些并不是真正的原语,而是在原语的基础上又封装了一层,也泛称为原语。原创 2023-02-28 15:27:01 · 4380 阅读 · 0 评论 -
FPGA | 深入理解复位(补充)
针对上一篇复位中出现的一些相关概念进行补充,作为了解学习。原创 2023-02-20 09:04:28 · 1619 阅读 · 0 评论 -
FPGA | 深入理解复位
复位电路作为数字逻辑设计中一个重要电路,不管是FPGA还是ASIC设计中都会经常使用,可以说复位信号在数字电路里面的重要性仅次于时钟信号。复位的主要目的是使芯片电路进入一个已知的,确定的状态。主要是触发器进入初始状态。复位一般分为同步复位和异步复位,可以由硬件开关触发引起,也可以由复位逻辑控制引起。同步复位:同步复位指的是当时钟上升沿检测(有效沿)到复位信号,执行复位操作,有效的时钟沿是前提。综合出的RTL如下进行仿真测试(复位时间不足一个时钟周期、复位时间超过一个时钟周期、一个高频复位毛刺)原创 2023-02-18 21:51:20 · 2045 阅读 · 1 评论