Verilog功能模块
FIFO
自编FIFO,含同步FIFO、异步FIFO、不同位宽转换、FWFT(首字直通)、实现方式可选分布式或block。 信号名称与Vivado FIFO IP保持一致。
Uart收发
一种通用的Uart收发模块,可实现Uart协议所支持的任意波特率,任意位宽数据(5~8),任意校验位(无校验、奇校验、偶校验、1校验、0校验),任意停止位(1、1.5、2)的数据传输。
时钟分频
模块功能:对输入时钟进行任意倍数分频。 应用场景:1.需要对时钟进行分频,而PLL不能满足要求或者使用起来不方便; 2.需要固定倍数关系的时钟; 3.需要运行时不断变化频率的时钟。
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脚本

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)。

