Giter Site home page Giter Site logo

zhangjialiang-tt / gowinddr3_axi4_spinalhdl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pasertech-hardware/gowinddr3_axi4_spinalhdl

0.0 0.0 0.0 22 KB

Gowin DDR3 Controller with AXI4 Implementation | 高云DDR3内存控制器AXI4接口实现

License: MIT License

Scala 100.00%

gowinddr3_axi4_spinalhdl's Introduction

Notice / 提示

This project may generate a verilog(vhdl) RAM, which may cause GowinIDE Synther ABSOLUTELY WRONG RESULT.

这个项目可能会使用到verilog(vhdl)的RAM, 这可能会导致高云IDE的综合器生成完全错误的结果.

To fix this problem, please open the gowin post synth netlist file (.vg), manually replace OCE(GND) to OCE(VCC) . Or your BSRAM will not work properly (4bit mode / 8bit mode will get wrong output).

要解决这个问题, 请手工打开高云综合后的网表文件(.vg), 手工替换 OCE(GND) 成为 OCE(VCC) . 否则BSRAM将会无法正常工作 (4bit / 8bit模式下将会输出错误的数据).

To fix this problem, please select "GW2A-18C" series in GowinIDE instead of "GW2A-18". Gowin fae said that "C" is the suffix of the newest chip, you can check the chip's 3rd line, the new chip will have a "C" mark follow the serial number.

要解决这个问题, 请在高云IDE中选择"GW2A-18C", 而不是"GW2A-18". 高云fae表示"C"后缀是新版芯片的标识, 可以查看芯片表面的第三行丝印, 新版芯片会在数字序列号后面跟着一个"C"标识.

Gowin DDR3 Controller with AXI4 Implementation

This is a SpinalHDL wrapper for Gowin GW2A series DDR3 soft IP (1:4 mode).

Please notice that Gowin's DDR3 soft IP uses a 128bit read/write interface, so it's not easy to connect this IP to AXI4 32bit directly.

So we implemented a bit length convertor to compatible this feature. And for performance reasons, we also implemented a 128bit simple cache to speed up AXI4 read/write.

And more, we also implemented a Arbiter Context for future use. It's easy to write a DMA with this wrapper.

File structure:

  • Paski_GowinDDR_AXI4.scala : AXI4 implementation (Top)

  • Paski_GowinDDR_AXI4WithCache.scala : AXI4 <==> DDR3 Controller wrapper, with 128bit cache implementation

  • Paski_GowinDDR14_Controller.scala : Gowin DDR3 wrapper implementation, which used command fifo & response fifo

  • DDR3_Interface.scala : The definition of DDR3 interface

  • Gowin_DDR3.scala : The BlackBox of Gowin GW2A series DDR3 soft IP (1:4 mode)

Licensed Under MIT with ABSOLUTELY NO WARRANTY.

高云DDR3内存控制器AXI4接口实现

这是高云GW2A系列DDR3软核的SpinalHDL对接实现 (1:4模式).

值得注意的是, 高云DDR3软核使用了一个128bit的读/写接口, 所以转接到AXI4 32bit接口是一件很麻烦的事情.

为了兼容这个问题, 我们实现了一个位宽转换器. 同时, 为了性能考虑, 我们还实现了一个简单的128bit缓存机制.

此外, 考虑到将来的应用, 我们还实现了一个仲裁器上下文, 这样你也可以很方便的通过这个wrapper写一个DMA.

文件结构:

  • Paski_GowinDDR_AXI4.scala : AXI4接口实现 (顶层)

  • Paski_GowinDDR_AXI4WithCache.scala : AXI4 <==> DDR3软核控制层, 其中包含了128bit的缓存系统

  • Paski_GowinDDR14_Controller.scala : 高云DDR3软核控制层实现, 使用了命令fifo、响应fifo的设计

  • DDR3_Interface.scala : DDR3接口的定义

  • Gowin_DDR3.scala : GW2A系列高云DDR3软核的黑盒定义 (1:4模式)

本代码采用 MIT 授权, 无任何担保.

gowinddr3_axi4_spinalhdl's People

Contributors

angelic47 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.