- Aug 11, 2020
-
-
Philipp Spilger authored
Change-Id: I8b1271440ffd76af981b472b8caf4544e300f04b
-
- Aug 05, 2020
-
-
* autogeneration is not possible if there exist connections which can't generically be defined as a templated class which only takes the specific ConnectionParameter, which is the case e.g. if specializations are to be made depending on the actual usage Depends-On: 11765 Change-Id: I1ff982ae4f03e1f99e926fe9a91a2235f3cdcab3
-
Philipp Spilger authored
Depends-On: 11361 Change-Id: I5ed7189f793495f99e0bc1e9e7d9373f11a126f8
-
- Jul 31, 2020
-
-
Oliver Breitwieser authored
Change-Id: Iacac09a15f5a7debac5116de999dd21e7dfb0b61
-
- Jul 28, 2020
-
-
Philipp Spilger authored
* API-wise almost the same, but easier to understand, use, provide Change-Id: Icf448f1e5902191c4cdf2d1f19f8a9ce41e02bec
-
- Jul 24, 2020
-
-
Philipp Spilger authored
Depends-On: 11627 Change-Id: If99e9d3fcdce0cc21889e7d2054c741b667500c2
-
- Jul 22, 2020
-
-
Philipp Spilger authored
* has_leading_comma(word) is now static * message-type specific decode_message lambda is separate templated member function * code common to all message-types split out of specific function -> less code size Change-Id: I8b41e4af9aa6efab88963f2fa519f36c3e3f9ed0
-
Philipp Spilger authored
* use logger instead of direct cout in throughputtests Change-Id: I343e55338499c827e8afab79c7ffd687413e8bdb
-
Philipp Spilger authored
* use get_connection_from_env followed by a visit * remove unused dispatch headers Change-Id: I4b69d959443e4d1a6a57284ae8e96ffad69a6519
-
Philipp Spilger authored
* no performance drop * less code complexity Change-Id: I8c7513ca5cd883d5f4420a7812983356a4fdbe98
-
- Jul 21, 2020
-
-
Philipp Spilger authored
Change-Id: I8c934d68f775412d681681a07d24f2542bc271ec
-
- Jul 17, 2020
-
-
* Add support for filling standard-layouted data types with random data prior to serialization so that the test fails if not all members are serialized. * Performed manual verification that test breaks if not all members of ConnectionTimeInfo are serialized. Change-Id: I0b7e257e776ec71e7b5e7131375fb069c6388dcf
-
- Jul 14, 2020
-
-
Change-Id: I424e77ae6e6e9071e911debe99c63ec78768393e
-
- Jul 13, 2020
-
-
Philipp Spilger authored
Depends-On: 10416,10485,10678,11485 Change-Id: If9a4d0f49cd6d7e837a80e4c52f89e1e45b45bfa
-
- Jul 06, 2020
-
-
Philipp Spilger authored
* size(Loopback) == 1 * Loopback encodes halt (0) and tick (1) Depends-On: 6909 Change-Id: I7b8cdee316a3a54f35873f3cc220387fa97a4f47
-
Change-Id: I025fdc00e2dc1433fd26edc66618e6171100284b
-
- Jul 03, 2020
-
-
Philipp Spilger authored
* A connection logs time of encode, decode, commit and execute operations * Add logging to execute_messages, which logs in/out message count and time expenditure as difference of the time information before and after execution * change default loglevel from info to warning in order to be able to have the time info print in execute_messages on info loglevel without spamming the normal user Depends-On: 11111 Change-Id: I17835a9ae7f089da72a9004a18b967c117b6132d
-
- Jun 12, 2020
-
-
In preparation of the upcoming integration of quiggeldy, some more test-helper will be added that are also to be used in fisch tests. Hence properly seperating helpers into different namespaces will prevent possible clashes in the future. Change-Id: I5786fde928674435f19323a27259faa09b936e50
-
Philipp Spilger authored
* allows mutual exclusion in all higher layers * mutual exclusion mechanism bound to connection instance instead of placed aside of connection Change-Id: I2cb74e775aa532ecccf08b3418e16cbd1dd0096b
-
Change-Id: Iaff5843bc979a3672d7ed76c66cfad8ab6ce62eb
-
Philipp Spilger authored
Change-Id: I1d4634254d3164499ddddd1a080598c14f2282d5
-
Philipp Spilger authored
Depends-On: 10730 Change-Id: Ifcba7e1d4f27d9d7372e0bb6b6ae9d6d358daecc
-
- Jun 11, 2020
-
-
Oliver Breitwieser authored
In order to emulate unique_ptr interface that moves the connection object from the connection handle. Needed to move the ownership of connections to hxtorch. Change-Id: Ib999fdf5a4ca6aa9ecd1085515797f6802fde73e
-
- Jun 10, 2020
-
-
Oliver Breitwieser authored
* As discussed on 2020-04-07 after the Softie's meeting (ECM, YS, PSP, CM, OJB), we want to have a streamlined connection interfaces for all the possible ways we turn FPGA words into other FPGA words in hardware. * C++-API: Split old Connection objects into two parts: * The connection object that the user can only create and destroy but which holds state necessary for communication with the backend (hw, CoSim, QuiggelyClient, etc) and allows some state to be set. * Introduce hxcomm/common/stream.h: * The Stream-object featuring a uniform interface handling how to feed and read words to/from the backend. * The interface is defined via templated `Stream`-class that has to be befriended in the corresponding connection implementations * The Stream-interface is verified at compile time via the Streamable helper-struct. * Move `execute_words` from fisch as more generic `execute_messages`-function that is the entry point for all upper layers when communcating with backends. * Overloading is possible by fully or partially-specializing the detail::ExecutorMessages-helper struct's operator() method (not needed once partial function specialization arrives, so never) * default implementation in common namespace by adding explicit `send_halt_message_type` to ConnectionParameter template argument * Rework hxcomm/common/{arq,sim}connection.{h,tcc} to use the new Stream interface. * Update all tests to use streams for interacting with the hardware. * Rename init_parameters_t -> init_parameters_type to be consistent (they will be used by quiggeldy but that change is not merged -> no API break) * Provide get_connection_from_env-function that returns a connection variant over all possible connections (and is used in pyhxcomm, see below). * Introduce seperate `pyhxcomm`-namespace that is private to hxcomm and only to be accessed from Python. It adds convenience context-wrappers for connections ensuring connections get closed upon exiting contexts in Python * pyhxcomm::Managed<Connection> provides enter/exit-methods * enter() returns pyhxcom::Handle<Connection> holding the connection * if Handle<Connection> gets destroyed, connection gets freed (i.e. disconnected) * Managed<Connection> also holds a weak-ptr to the returned ConnectionHandle object and disconnects the Handle upon exit()-ing * Expose union over all Connections as `pyhxcomm_vx.ConnectionHandle` that can be used in type annotations in Python. * Expose special context manager `pyhxcomm_vx.ManagedConnection` that automatically creates a new connection from the environment and returns `ConnectionHandle` (which is a concrete `<Connection>Handle` in python rather than the cumbersome variant type). * Introduce hxcomm::visit_connection that allows for applying operations on connections wrapped in Handle-objects such as variants for hxcomm and pyhxcomm::ConnectionHandles. It is used in hxcomm::execute_messages as well as stadls::run-pybind11 bindings. * Functions templated over connections can be easily specialized for all wrapped connections via: * `ConnectionIsPlainGuard<Connection> = 0` * `ConnectionIsWrappedGuard<Connection> = 0` * Another possibility is to perform compile time checks using `ConnectionIsPlain<Connection>::value` (see `run`-implementation in haldls for example). * Add `static char const name[]` attributes for all connection for more informative logging. Depends-On: 10346,10335,10703,10978,11027 Change-Id: I3ff901db53a5cb94a1faa50b18dc36786246f389
-
- May 25, 2020
-
-
Philipp Spilger authored
Change-Id: I3a003e27bddb3633b7c79ce71db23b2041c3dc22
-
- May 24, 2020
-
-
Philipp Spilger authored
Change-Id: I193c5b92bb79151bf75a16984c7ee8d1f1461ecb
-
- May 21, 2020
-
-
Philipp Spilger authored
* needed for run to terminate within gdb Change-Id: Iacef0cf1cbcafe83b11068885bc1ac520a5a83da
-
- May 20, 2020
-
-
Johannes Weis authored
This reverts commit 149edd5b. Reason for revert: Connection to chip hangs frequently, a script running for 10 minutes is hard to complete. The problem was introduced in this change, but there may be better solutions than only reverting. Change-Id: I463bc0692a265a69b49d71f64714cc52980d233e
-
- May 18, 2020
-
-
Philipp Spilger authored
Change-Id: I7aca0378ef8b793c1289836f5a0a73bae170fbda
-
- May 13, 2020
-
-
Philipp Spilger authored
* saves >200MB space on install Change-Id: Ieca3ddf5ea245bddf6b8577ee3e67a145b97881e
-
Philipp Spilger authored
* exponential backoff of waiting until word-data is ready to be received * because of event-based inter-thread signalling leads to blocking in both fetching and decoding thread * 1ms max latency * solves the problem that two threads are busy waiting Change-Id: I6419fec729d69cf067d8c614eb8c58109cac1664
-
- May 12, 2020
-
-
Philipp Spilger authored
Change-Id: I5b025d3a4b74dc9adf6e31d64bf3ac9ed87429d0
-
Philipp Spilger authored
Change-Id: I3974261a0c3960115f12a48c5f1a6a348f9a4b54
-
- May 06, 2020
-
-
Philipp Spilger authored
Change-Id: I75f5fcc76870406696f6b8da1e7041ed041105ff
-
Philipp Spilger authored
Change-Id: Ieb8fb41f8a2c174a81000fd4af9446485d0b6292
-
- Apr 30, 2020
-
-
Yannik Stradmann authored
* Use dls-core for core-software stack * Drop 'visionary' prefix Change-Id: I8aacbd7276d87269fd9f21082321ca42eb5303a9
-
- Apr 26, 2020
-
-
Philipp Spilger authored
Change-Id: Ieb32f507bc3a58a260f6648ca37224d30cc22c34
-
- Apr 20, 2020
-
-
Philipp Spilger authored
Change-Id: I9cc2524a50772b31160c76130bb65ef070e9887d
-
- Apr 17, 2020
-
-
Philipp Spilger authored
Change-Id: Ib57bf96b4b2b1991eca81d446d66dd522904b64d
-
- Apr 15, 2020
-
-
Philipp Spilger authored
* use rant directly for only case (num-bits of JTAG data) * use bitset for bit-aligned data in spike/MADC sample from chip Depends-On: 10242 Change-Id: Ica7ea95caa84d228545ace9ff671f2a50940b39e
-