GithubHelp home page GithubHelp logo

roalogic / ahb3lite_apb_bridge Goto Github PK

View Code? Open in Web Editor NEW
39.0 5.0 19.0 1.16 MB

Parameterised Asynchronous AHB3-Lite to APB4 Bridge.

License: Other

SystemVerilog 77.29% HTML 13.11% SCSS 9.46% Fortran 0.14%
amba apb-bridge ahb3-lite apb

ahb3lite_apb_bridge's People

Contributors

rherveille avatar sphardy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ahb3lite_apb_bridge's Issues

Issue on multi requests

Hi,
I'm using the IP to integrate some APB peripherals in my bus but it seems to be not managing to answer correctly when a sequence of two requests appears spaced by one clock cycle. What happens in the end is that the first request it's corrected routed to the bus but the last one doesn't as showed in the image below. The requests are simple with no burst (NONSEQ_HTRANS) and the slave it's inside the mask range as mentioned in the datasheet.
error
If the requests are spaced by more than 5 clock cycles, then I can request again with no problems but if a new request arrives in the following next 2 clock cycles it happens again.
Screenshot from 2019-07-27 11-54-51
Top file with the modules are in the zip below...
sim.zip

DC compiler incorrectly synthesises ahb to apb bridge

First of all thanks for this IP, I'm using it in a research project on the University of Twente in the Netherlands.

However in commit 18d9aee you introduced resetting some state to 'X's. When using the DC compiler in optimizing mode (compile_ultra) this generates logic that is incorrect. I'm not sure if this is a bug in the DC compiler or not, but my issue was fixed by changing the x's in the file to 0's.

It's even worse that this was not caught by formality.

To be clear when doing a post-synthesis simulation it would end up in a undefined (x's) state when trying to convert an ahb to apb transaction.

PADDR incrementing incorrectly

Hi @rherveille,

I believe there may be an issue with PADDR incrementing incorrectly. I'm using the ahb3lite_apb_bridge with a single instance of apb4_gpio directly connected. the AHB3 bus is 32-bit data/address while the APB bus is only 8-bit address/data. When performing byte wise accesses from the CPU everything works as expected. However when trying 32 bit accessing via the bridge I see PADDR increment by 4 (per beat) due to:
line 498: PADDR <= PADDR + (1 << ahb_hsize);
I believe this should be:
line 498: PADDR <= PADDR + (PDATA_SIZE/8);

With this change word and hword accesses appear to work as expected.
Cheers,

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.