RTL库

开始使用

RTL库 FPGA开发框架 概览,下载、使用,模板示例,二次开发……

开始使用 RTL库 框架


RTL库 FPGA开发框架是一个比较全面的开发框架,包含了接口、算法、数据存储等各个方向的代码模板,加快用户设计,大家降低FPGA开发难度。

手机如何浏览

获取 RTL库 框架

下载文件

离线文档:

项目地址:

代码片段:

Sublime 代码块使用方法详细见,代码块使用方法章节。Sublime 使用方法

使用 Sublime

设置模板

将下载好的Sublime 代码片段模板复制到如下路径。

        
方法1:
打开如下目录
C:\Users\computer name\AppData\Roaming\Sublime Text 3\Packages
在此文件夹内建立一个RTL库的文件夹,把Sublime 代码片段模板复制到此文件夹中
方法2:
打开安装好的Sublime 3,点击菜单栏Preferences->Browse Packages,点击后会打开一个文件件,在此文件夹内建立一个RTL库的文件夹,把Sublime 代码片段模板复制到此文件夹中
        
      

测试代码片段模板

打开sublime 软件 新建一个.v文件。

        
//输入always 会自动提示 always_rst,选择后会自动补全如下代码,证明模板安装成功
always @ (posedge sclk) begin
  if(rst == 1'b1)
    <= 'd0;
  else
    <=
end
        
      

获取源码

你可以从 GitHub 项目主页获取源代码。

文件及版本说明

文件说明

  • xxxx.v:verilog HDL源码文件。
  • xxxx.vh:参数配置头文件、功能开关设置文件。
  • xxxx.do:仿真启动脚本文件,可以在modelsim中使用。

以上每个文件都有内部注释。

下载包目录结构

下载包中包含 RTL库 框架的 的example示例文件:

  • V3eduExampleTop.v - 全功能顶层示例模板;
  • V3eduExampleHighSpeedSerial.v - 高速接口顶层模板(预览);
  • V3eduMemoryCtrl.v - 内存控制器模板(预览);
  • V3eduEthernet.v - 千兆万兆以太网模板(预览);
  • V3eduVideoPort.v - 视频接口模板(预览);
  • V3eduPCIE.v - PCIE通信接口模板(预览);
  • V3eduXADC.v 赛灵思XADC模板 (预览);
  • V3eduPartConfig.v 在线升级&部分可重配 (预览);
V3edu
|-- HdlSourceFile
|   |-- Uart
|   |   |-- hdl             // Uart 功能代码
|   |   |-- sim             // 模块仿真代码
|   |-- PCIE              
|   |   |-- hdl             //pcie 功能代码
|   |   |-- sim             //模块仿真代码
|   |-- Ethernet                          
|   |   |-- hdl
|   |   |-- sim
...............
此处省略
...............            
|   |-- MemoryCtrl                          
|   |   |-- hdl             //内存控制器功能代码
|   |   |-- sim             //仿真模块代码

创建一个Uart功能

  1. 新建一个.V的文件;
  2. 在Sublime软件中打开并输入v_uart 回车即可自动例化Uart代码;
  3. 一个简单Uart功能完成,Uart的功能代码在RTL库框架中。

自动调用功能库

    
top_rs323 #(
  .CLOCKRATE(50000000),//50Mhz
  .BAUDRATE(115200)
  )
top_rs323_inst
(
  .sclk     (sclk ),
  .rst      (rst  ),
  .tx       (tx   ),
  .rx       (rx   ),
  //user port rs232 Rx fifo port
  .RX_RD_DATA (RX_RD_DATA ),      //RX_RD_DATA[7:0] Read data output (RD_CLK) 
  .RX_RD_EN   (RX_RD_EN   ),        //RX_RD_EN Read enable, high active (RD_CLK)
  .RX_WR_FULL (RX_WR_FULL ),      //RX_WR_FULL Full condition (WR_CLK)
  .RX_RD_EMPTY(RX_RD_EMPTY),      //RX_RD_EMPTY Empty condition (RD_CLK)
  //user port rs232 Tx fifo port
  .TX_WR_DATA (TX_WR_DATA),       //TX_WR_DATA[7:0] Write data input (WR_CLK)
  .TX_WR_EN   (TX_WR_EN),         //TX_WR_EN Write enable, high active (WR_CLK)
  .TX_WR_FULL (TX_WR_FULL),       //TX_WR_FULL Full condition (WR_CLK)
  .TX_RD_EMPTY(TX_RD_EMPTY)       //TX_RD_EMPTY Empty condition (RD_CLK)
  
);
    

参与讨论

有任何使用问题,请在评论中留言,也欢迎大家发表意见、建议。

感谢大家对 RTL库 的关注和支持!

侧栏导航