- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 一条代码实现Verilog时钟分频,奇偶分频
首先定义输入输出,其中clk是输入时钟,clk_out是输出时钟。clk_div_in是分频系数。然后定义一些内部寄存器,主要用于计数。
2024-08-19 11:07:03
414
原创 AXI总线介绍
一、AXI总线概述在Xilinx系列FPGA及其有关IP核中,经常见到AXI总线接口,AXI总线又分为三种:AXI-Lite,AXI-Full以及AXI-Stream,其中AXI-Lite和AXI-Full都是基于memory map的形式实现数据传输(即包括地址总线),而AXI-Stream是以数据流的形式传输,无地址。其中AXI-Lite是AXI-Full的简化版,适合小批量的数据传输,常用来进行命令的传输,IP核的初始化等。AXI-Full则适用于大批量,高性能的数据传输。文章将对
2022-05-20 16:04:22
10376
1
原创 ADC偏移二进制码与实际电压的换算
二进制移码(offset binary)型ADC实际电压值的计算首先介绍一下二进制移码,以上图四位二进制码为例,左边是二进制移码,中间是10进制数,右边是二进制补码。当ADC值高于1000时,用测到的ADC值直接减去1000就为它实际值对应的二进制数。以6为例,1110(移码)- 1000(偏移量)=110是6的二进制数。当ADC值小于1000时,此时的转换方式是,将ADC值的每一位按位取反再加一,得到的结果第一位是符号位,后几位是实际值对应的二进制数。以-4为例,0100(移码)取
2022-03-07 17:28:26
10539
2
原创 Verilog实现任意时钟周期延时的方法
方法一:非阻塞赋值延时打拍这个方法是最简单的实现延时的方法,缺点是如果延时的周期比较长的话,要写的东西也会变得很多always @ (posedge clk) begin d1 <= d; d2 <= d1; ....... dout <= dn;end通过这种方式可以把信号延时n个周期。方法二:移位寄存器延时这个方法也比较简单,实现起来也很容易,缺点是消耗的资源比较大//延时N个时钟周期parameter N=4;
2021-12-20 11:31:02
29316
6
原创 使用状态机实现1010序列检测器
一、需求分析使用状态机,对输入序列进行1010序列检测,当输入序列为1010时,输出为1,其它情况输出为0(101010认为是两个1010序列)。二、设计思路使用状态机进行实现,1010序列检测一共有5种状态。具体如下:Rst:复位,整体进入S0态;S0:检测到1输入,进入S1态,否则继续停留在S0;S1:检测到0输入,进入S2,否则留在S1态;S2:检测到1输入,进入S3,否则进入S0;S3:检测到0输入,进入S4,否则进入S1;S4:输出检测结果1;如果检测到0输入,进入
2021-04-03 14:02:09
11010
2
原创 使用verilog设计一个符合IEEE标准的浮点乘法器,RTL实现仿真
使用verilog实现了设计了一个符合IEEE标准的32位单精度浮点数乘法器,并使用Modelsim进行仿真。1、浮点数乘法器的流水线都知道IEEE-754标准的单精度浮点数有32位,其中又分为3个部分图一 IEEE浮点标准那么,浮点数乘法器也主要由下面几个步骤进行1)、Sign异或 对A,B的符号位异或:so = sa⊕sb;2)、Exponent相加 Exponent表示的数都是原来的浮点数加上127的结果,计算时A,B分别减去127后得到真实阶码,...
2020-11-26 22:17:11
10558
4
原创 quartus使用modelsim来仿真ROM
写在前面:大学四年生活结束,这是毕业设计用过的,把当时做的一些笔记发上来,也算是给自己一个交代。第一次写博客,如有问题,敬请担待:正文开始:ROM的仿真和其他IP仿真不同,此时需要做一些修改,这个是因为modelsim无法识别mif文件,如果需要使用modelsim仿真,rom的初始值必须为hex文件。如果需要仿真ROM需要先做以下几个步骤:ROM的仿真和其他IP仿真不同,此时需要做一些修改,这个是因为modelsim无法识别mif文件,如果需要使用modelsim仿真,rom的初始值必须为hex文件。
2020-05-29 15:49:21
3387
2
使用状态机完成序列检测器
2021-04-03
使用matlab创建.mif文件,作为FPGA的ROM中的初始数据
2020-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人