abs-tudelft / fletcher-oc-accel Goto Github PK
View Code? Open in Web Editor NEWFletcher OpenCAPI Acceleration Framework platform support
License: Apache License 2.0
Fletcher OpenCAPI Acceleration Framework platform support
License: Apache License 2.0
oc-accel does not assert reset from the very beginning. That causes some stuff to be in an undefined state for a little while, which causes some assertions in fletcher to trigger a failure. These need to be converted into warnings for a fletcher design to work in oc-accel (see the patch in the README). I want to automate that.
The runtime code expects the fletcher submodule to be checked out. However, the demo code expects FLETCHER_DIR to be set. This should be streamlined (preferably with it integrates with the oc-accel flow ).
This platform is called "snap", but this collides with the original fletcher-snap for capi1.0/2.0.
It should be called "oc-accel"
The scripts in oc-accel generate a simulation project without the needed flags to support vhdl2008.
We should try to add this flag, while making sure this does not create compatibility issues.
Right now, the workaround is to replace a process sensitivity list (all) with all the actual signals.
Setting these pins outside of a process:
snap_regs(SNAP_REG_CONTROL)(1) <= '1'; -- dirty hack to always be done.
snap_regs(SNAP_REG_CONTROL)(2) <= '1'; -- dirty hack to always be idle.
snap_regs(SNAP_REG_CONTROL)(3) <= '1'; -- dirty hack to always be ready.
and also resetting them in a clocked process:
-- Reset
if action_rst_n = '0' then
snap_regs(SNAP_REG_CONTROL) <= (others => '0');
end if;
causes a critical warning for multiple drivers.
The available address range on the AXI4 lite bus for actions has been increased in oc-accel w.r.t. snap.
In Snap we only had 8 bits, now we have 21 bits.
Also see: https://opencapi.github.io/oc-accel-doc/deep-dive/registers/#hdl-design
If the data width differs between the config of oc-accel (the option in the menuconfig to select between 1024 and 512 bits) and the C_M_AXI_HOST_MEM_DATA_WIDTH
generic in action_types.vhd
, there is no error or warning, the simulation will start (seemingly without problems), but the application will just not work.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.