跳至正文
Verilog功能模块

FIFO

自编FIFO,含同步FIFO、异步FIFO、不同位宽转换、FWFT(首字直通)、实现方式可选分布式或block。 信号名称与Vivado FIFO IP保持一致。

Uart收发

一种通用的Uart收发模块,可实现Uart协议所支持的任意波特率,任意位宽数据(5~8),任意校验位(无校验、奇校验、偶校验、1校验、0校验),任意停止位(1、1.5、2)的数据传输。

按键消抖

Verilog按键消抖模块,支持自动识别按键/抬起电平。

滑动平均值

应用场景:1.对平均值会变化,但变化速度较慢的信号求平均值;2.数字滤波中去除信号的直流偏置

时钟分频

模块功能:对输入时钟进行任意倍数分频。 应用场景:1.需要对时钟进行分频,而PLL不能满足要求或者使用起来不方便; 2.需要固定倍数关系的时钟; 3.需要运行时不断变化频率的时钟。

标准FIFO转首字直通FIFO

此模块能将Stardard FIFO读端口转为FWFT FIFO读端口,转换后端口的行为与真实的FWFT FIFO读端口完全一致。

ADC SGM58600驱动

与ADC芯片SGM58600(对标TI的ADS1255)对接,控制其放大倍数,输出速率等信息,接收其输出并转为24位数据。

AXI3/4 Lite/Full主机

模块均为标准的AXI接口,可在Vivado中对模块进行IP封装,之后在Block Design可以直接与其它AXI接口IP进行总线连接。

I2C主机

本文实现了几乎全功能的Verilog的I2C主机,可应用于同任意速率,任意地址宽度的I2C从机设备进行通信。 此主机模块还支持页读/页写、从机时钟拉伸、软复位并兼容SCCB协议,但模块未实现时钟同步于仲裁,故不支持多主机。

任意CRC实现

1.任意CRC算法的Python实现 2.任意CRC算法的Verilog实现,包含单步计算与多步计算 3.与Verilog模块配合使用的,能用于自动生成Verilog的CRC异或代码的Python脚本

Verilog仿真模块–真随机数生成器

通过DPI-C(Direct Programming Interface – C)功能,在SV中调用C语言函数实验真随机数

RAM与ROM

1. 自编RAM/ROM IP的接口信号和处理逻辑都参考Vivado的BRAM IP。 2. 实现了三种RAM类型:1.单端口RAM(SPRAM);2.简单双端口RAM(SDPRAM);3.真双端口RAM(TDPRAM)。 3. 实现了两种ROM类型:1.单端口ROM(SPROM);2.双端口ROM(DPROM)。

SPI主机和从机

本Verilog功能模块——SPI主机实现了SPI协议要求的完整时序控制,具体功能如下: 支持所有4种SPI工作模式 支持任意数据位宽 支持任意串行时钟频率fsclk 支持指定CS下降沿到第一个SCLK边沿的延时 支持指定最后SCLK边沿到CS上升沿的延时 支持指定CS高电平持续时间

Python自编模块

进制转换

Python实现2进制、10进制、16进制的互相转换,包含无符号数和有符号数,代码经过多轮测试,确保转换正确

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x