笔记
tschu_
这个作者很懒,什么都没留下…
展开
-
UVM 寄存器模型中常用的方法
https://www.cnblogs.com/east1203/p/11584283.html转载 2020-09-18 17:10:30 · 403 阅读 · 0 评论 -
UVM简单测试平台
一:验证平台代码DUT是一个简单的存储器。就六个信号,时钟信号clk,复位信号reset(高有效),读使能信号rd_en,写使能信号wr_en,写数据信号wdata,读数据信号rdata。对于写操作:address, wr_en和wdata 在同一时钟进行驱动。对于读操作:address和rd_en在同一时钟进行驱动,系统在下一时钟出现反应。/* -----...原创 2020-04-06 18:52:14 · 1478 阅读 · 0 评论 -
跨时钟域通信
如果是快时钟到慢时钟有可能会采样不到,所以需要打拍延时,例如快时钟是慢时钟的2倍时候。clka前面接两个寄存器并且或输出。原创 2020-03-13 09:00:57 · 208 阅读 · 0 评论 -
fpga实现VGA显示
计算机显示区的显示有许多标准,常见的有VGA、SVGA等。在这里我们用VGA接口来控制显示器,VGA即Video Graphics Array的缩写,也就是视频图形阵列。作为一种标准的显示接口得到广泛的应用。常见的彩色显示器一般由CRT(阴极射线管)构成,色彩是由R、G、B(红、黄、蓝)三基色组成。显示是用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生RGB三基色,合成一...原创 2020-03-05 20:06:03 · 4132 阅读 · 0 评论 -
fpga实现dds和混频器
DDS产生不同频率的原理是如下,采样时钟频率经过相位累加器后才生的地址到ram中读取之前的波形文件,最后产生出去。公式如下 f = fclk * M /(2^n)。其中系统的时钟频率,f是将要产生的时钟频率,n是相位累加器的寄存器位数。有公式看出,当想要提高产生的频率时候,在不改变系统时钟的前提下可以提高相位累加器的位数,由8位扩展到32位,快要极大的提高改变时钟频率的分辨率。混频器原理:就是时...原创 2020-03-03 21:34:02 · 2866 阅读 · 0 评论 -
fpga实现浮点数计算
浮点数的定点化浮点数例子:2.918 3.1415926转成定点数要定义小数需求多少位,整数需求多少位。第一步:3位整数位宽,12位的小数位宽,最高位的符号位1位。第二步:最大值16’d32767最小值-32768//取低15位,其中第14,13,12位最大能表示7,小数最大12位能表示多大精度呢?最大精度0.000244140625第三步:2.918进行定点化的过程为2.918/(...原创 2020-03-03 19:22:40 · 1800 阅读 · 0 评论 -
verilog实现异步fifo
首先要理解fifo的写满和读空,用多出来的一位来扩充地址使用格雷码判断当,写指针追上读指针时候就是写满,为了方便判断当写满时候即,写地址地最高和次高位与读地址相反其他位相同时就是写满,当读地址的所有位和写地址的所有位相等就是读空代码根据图可以轻松得到:下图是地址计数器的增加图写控制器:module w_ctrl( input wire w_clk,//写时钟 input wi...原创 2020-03-02 18:00:21 · 808 阅读 · 0 评论 -
异步通信时钟亚稳态打拍
为了降低亚稳态出现的概率把异步信号单比特打两排将下面的即可,最后用第三位的数据就是打两拍后的结果在这里插入代码片reg [2:0] wr_n_r;always@(posedge clk or nesedge rst_n) beginif(!rst_n) wr_n_r <= 3'b0;else wr_n_r <={wr_n_r [1:0],wr_n};end...原创 2020-03-01 10:41:10 · 906 阅读 · 0 评论 -
分频计数
时钟分频,分频计数分别是偶数分频时候n等于N/2-1,n1等于N-1。 奇数分频n等于(n-1)/2,n2等于N-1。原创 2020-02-21 11:02:32 · 1250 阅读 · 1 评论