- 博客(7)
- 收藏
- 关注
原创 定点量化和无损量化
硬件电路里面数据位宽都是一定的。在处理数据流是,数据的位宽也是一定的。所以浮点数需要先转变成定点数进行运算。举例说明。12.918,定点量化时对整数部分和小数部分分别量化。(1)整数部分12,最少使用4位量化,4-bit表示范围0~15;(2)小数部分0.918,假设12.918整体使用12位量化,整数已使用4-bit,则小数部分还能使用8-bit量化,能够表示2的8次方共计256个刻度,每个刻度的间隔是1/256 = 0.00390625,这个值也就是量化精度。小数0.918需要多少个刻度
2021-03-19 16:38:38 3438
原创 vcs仿真中一个简单的makefile
VCS(Verilog Compiled Simulator)是常用的RTL仿真工具。下面介绍一个简单的makefile,可以完成RTL编译,仿真和erdi启动。comp: $(VCS) +incdir+catalog\ -f file.frun: $(SIMV)VCS = vcs -full64+nospecify +nottimingcheck -sverilog -timescale=1ns/1ns +lint=TFIPC-L\ +warn=noM
2021-03-19 15:11:34 659
原创 异步FIFO的深度一定要是2的整次幂吗?
在芯片设计中,遇到多比特数据跨时钟操作时,我们通常使用异步FIFO。在使用FIFO之前,我们要计算FIFO的深度,有事后计算出的FIFO深度不一定是2的整数幂,这时候我们需要向上取整到2的整次幂。因为异步FIFO里面读写地址做跨时钟之前把地址做了格雷编码,然后使用格雷编码的地址做跨时钟处理。格雷码的特点是相临(十进制表示)数字只有1bit变化,这样做跨时钟时,可以降低亚稳态的概率。如果FIFO深度不是2的整次幂,那么地址从最大跳变到0时,相应的格雷码地址变化就不止1bit了,这样会增加亚
2021-03-16 10:30:20 5354
原创 异步FIFO控制代码
在芯片设计中,遇到跨时钟操作时,经常用的哦啊异步FIFO,下面整理了异步FIFO控制代码。module async_fifo #( parameter DT_WID =8, parameter ADR_WID =9)(//write portinput wr_rst_n,input wr_clk,input wr_en,input [DT_WID-1:0] w
2021-03-15 16:34:26 294
原创 异步RAM模型
异步ram长用于异步FIFO中。其模型如下:module async_ram #(parameter DT_WID= 8, parameter ADR_WID= 9)(input wr_clk,input wr_en,input [ADR_WID-1:0] wr_addr,input [DT_WID-1:0] wr_dt,input rd_cl
2021-03-15 15:44:40 345
原创 ASIC中的同步复位和异步复位
芯片设计中需要复位操作使电路进入稳定状态。复位操作分为同步复位和异步复位。同步复位同步复位指在时钟上升沿时复位信号才起作用,复位时需要时钟。always @(posedge clk) begin if(!rst_n) dout <= 0; else dout <= din;end如上,当rst_n为0时,只有clk上升沿时,dout才为0,dout被同步复位。同步复位优点:1.电路都是同步复位;2.可以过滤毛刺。同步复位缺点:1.复位
2021-03-15 15:20:56 1010
原创 数字芯片设计中FIFO问题总结
在数字芯片设计中FIFO是经常遇到的,但是如果但把FIFO相关问题拿出来提问别人,有时候不一定能块速解答,下面总结经常遇到的一些问题。1.一个读写时钟相同的FIFO,每100个时钟周期会写入10个数据,写入的时间是随机的。每10个时钟周期会读1个数据,输出没有反压,计算FIFO最小深度。既然是计算FIFO最小深度,那么我们就要考虑极端情况,保证在极端情况下FIFO可以满足需求。基本要求就是来的数据都能存下,不能丢。那么当在第一个100时钟周期后的10个cycle和第二个100时钟周期的前10个cyc
2021-03-15 12:09:00 1721
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人