drichmond / pynq-hls Goto Github PK
View Code? Open in Web Editor NEWA Tutorial on Putting High-Level Synthesis cores in PYNQ
License: Other
A Tutorial on Putting High-Level Synthesis cores in PYNQ
License: Other
Hi, I tried to change the dimensions for matrix A and B into 1000*1000, and I just changed the size of matrix in mmilt.hpp and sharedmem.py. It did not work, the result of the matrix was wrong. Here are the codes I changed, the board I used is PYNQ-Z1. Can you tell me what else should I change, thx.
in mmult.hpp
// Dimensions for A and B (which determine C)
#define A_ROWS 1000
#define A_COLS 1000
#define B_ROWS A_COLS
#define B_COLS 1000
in sharedmem.py
__MMULT_A_SHAPE = (1000, 1000)
__MMULT_BT_SHAPE = (1000, 1000)
__MMULT_C_SHAPE = (1000, 1000)
(https://user-images.githubusercontent.com/34908328/49782331-deaeaa80-fd50-11e8-8177-13a968a5ca57.png)
I also want to know if i change the type to float would the ip work correctly?
Hi, i am new to pynq board and i want to run matrix mult on ultra96v2 pynq board.
I have to write the overlay using vivado hls and vivado to generate tcl and bit file.
But i meet some problem of this.
Can i use only mmult.cpp file which includes mmult.hpp to run C synthesis and export RTL using Vivado HLS?
Or i have to use mmult.cpp, mmult.hpp and main,cpp in Vivado HLS?
Any advice will be aooreciate!!!
Thanks a lot!
Tim
AttributeError Traceback (most recent call last)
in ()
1
----> 2 overlay = Overlay('/home/xilinx/pynq/overlays/mmult_test/mmult.bit')
/usr/local/lib/python3.6/dist-packages/pynq/overlay.py in init(self, bitfile_name, download, ignore_version)
292 tcl_path = get_tcl_name(self.bitfile_name)
293 if os.path.exists(hwh_path):
--> 294 self.parser = HWH(hwh_path)
295 elif os.path.exists(tcl_path):
296 self.parser = TCL(tcl_path)
/usr/local/lib/python3.6/dist-packages/pynq/pl.py in init(self, hwh_name)
807 self.match_ports()
808 self.match_pins()
--> 809 self.add_gpio()
810 self.init_interrupts()
811 self.init_hierachy_dict()
/usr/local/lib/python3.6/dist-packages/pynq/pl.py in add_gpio(self)
1009 self.ps_name, self.family_gpio))
1010 if mod is not None:
-> 1011 din = int(mod.find(".//*[@name='DIN_FROM']").get('VALUE'))
1012 for p in mod.iter("PORT"):
1013 if p.get('DIR') == 'O':
I have also tired with only the .tlc and .bit files which causes another problem:
UserWarning: Users will not get PARAMETERS / REGISTERS information through TCL files. HWH file is recommended.
warnings.warn(message, UserWarning)
which in turn leads to:
AttributeError Traceback (most recent call last)
in ()
----> 1 overlay = sharedmemOverlay('/home/xilinx/pynq/overlays/mmult_test/mmult.bit')
in init(self, bitfile, **kwargs)
61 # We will use this to set bits and start the core (see start())
62 # Do NOT write to __ap_ctrl unless __resetPin has been set to __NRESET_VALUE
---> 63 self.__ap_ctrl = Register(self.mmultCore.mmio.base_addr, 32)
64 self.__a_offset = Register(self.mmultCore.mmio.base_addr +
65 self.__MMULT_ADDR_A_DATA, 32)
/usr/local/lib/python3.6/dist-packages/pynq/overlay.py in getattr(self, key)
325 """
326 if self.is_loaded():
--> 327 return getattr(self._ip_map, key)
328 else:
329 raise RuntimeError("Overlay not currently loaded")
/usr/local/lib/python3.6/dist-packages/pynq/overlay.py in getattr(self, key)
599 else:
600 raise AttributeError(
--> 601 "Could not find IP or hierarchy {} in overlay".format(key))
602
603 def _keys(self):
AttributeError: Could not find IP or hierarchy mmultCore in overlay
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.