{"action":"created","issue":{"url":"https://api.github.com/repos/LarsAsplund/vunit/issues/42","labels_url":"https://api.github.com/repos/LarsAsplund/vunit/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/LarsAsplund/vunit/issues/42/comments","events_url":"https://api.github.com/repos/LarsAsplund/vunit/issues/42/events","html_url":"https://github.com/LarsAsplund/vunit/pull/42","id":73447840,"number":42,"title":"Added a communication mechanism as discussed in issue #23","user":{"login":"LarsAsplund","id":6681689,"avatar_url":"https://avatars.githubusercontent.com/u/6681689?v=3","gravatar_id":"","url":"https://api.github.com/users/LarsAsplund","html_url":"https://github.com/LarsAsplund","followers_url":"https://api.github.com/users/LarsAsplund/followers","following_url":"https://api.github.com/users/LarsAsplund/following{/other_user}","gists_url":"https://api.github.com/users/LarsAsplund/gists{/gist_id}","starred_url":"https://api.github.com/users/LarsAsplund/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LarsAsplund/subscriptions","organizations_url":"https://api.github.com/users/LarsAsplund/orgs","repos_url":"https://api.github.com/users/LarsAsplund/repos","events_url":"https://api.github.com/users/LarsAsplund/events{/privacy}","received_events_url":"https://api.github.com/users/LarsAsplund/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-05-05T22:13:08Z","updated_at":"2015-05-11T20:27:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/LarsAsplund/vunit/pulls/42","html_url":"https://github.com/LarsAsplund/vunit/pull/42","diff_url":"https://github.com/LarsAsplund/vunit/pull/42.diff","patch_url":"https://github.com/LarsAsplund/vunit/pull/42.patch"},"body":"Added placeholder for communication package and an almost empty testbench.\r\n\r\nAdded empty create_actor function and a few failing test cases.\r\n\r\nAdded test cases for find and destroy.\r\n\r\nImplemented create, find, and destroy\r\n\r\nRefactoring of communication mechanism.\r\n\r\nAdded test cases for doing a find without deferred creation in case of missing actor and for asking for the number of deferred creations. These functions can reduce the risk associated with trying o find a misspelled actor.\r\n\r\nImplemented num_of_deferred_creations.\r\n\r\nRemoved unused deferred_creation function.\r\n\r\nAdded test cases for normal client/server operation.\r\n\r\nImplemented client/server test cases.\r\n\r\nAdded test case for the publisher/subscriber pattern.\r\n\r\nAdded more test cases and implementation for the client/server communication pattern\r\n\r\nMerged all status types into one.\r\n\r\nAdded example for the communication mechanism. Unit under test is not implemented, just the unit tests.\r\n\r\nMoved receive status into the message to reduce a variable declaration for a variable often not used\r\n\r\nAdded support for synchronous request/reply\r\n\r\nAdded support for a bounded actor inbox. Also changed behavior when an already existing actor is created again. Instead of returning the existing actor a null actor is returned.\r\n\r\nAdded support for encoding and decoding of VHDL built-in types as well as ieee standardized types. Also added support functionality for writing custom codecs.\r\n\r\nAdded support for automatic generation of codecs for enumeration and record types\r\n\r\nAdded codec generation for array types\r\n\r\nPerformance enhancements on memory allocations, notify mechanism, and codec grouping\r\n\r\nCreated more dense and less readable encodings to increase performance\r\n\r\nUpdated run scripts to use add_com() in order to enable the com functionality\r\n\r\nSeparated codec templates into its own file.\r\n\r\nMade it possible to decode message type with a single command when several message type types are present.\r\n\r\nPacking two bits per character when encoding std_ulogic_vector to improve performance.\r\n\r\nRefactoring\r\n\r\nMade a behavioral model for card shuffler to make example test bench pass\r\n\r\nUpdated license test to ignore generated codecs.\r\n\r\nAdded com tests to acceptance test suite"},"comment":{"url":"https://api.github.com/repos/LarsAsplund/vunit/issues/comments/101038624","html_url":"https://github.com/LarsAsplund/vunit/pull/42#issuecomment-101038624","issue_url":"https://api.github.com/repos/LarsAsplund/vunit/issues/42","id":101038624,"user":{"login":"kraigher","id":4018223,"avatar_url":"https://avatars.githubusercontent.com/u/4018223?v=3","gravatar_id":"","url":"https://api.github.com/users/kraigher","html_url":"https://github.com/kraigher","followers_url":"https://api.github.com/users/kraigher/followers","following_url":"https://api.github.com/users/kraigher/following{/other_user}","gists_url":"https://api.github.com/users/kraigher/gists{/gist_id}","starred_url":"https://api.github.com/users/kraigher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kraigher/subscriptions","organizations_url":"https://api.github.com/users/kraigher/orgs","repos_url":"https://api.github.com/users/kraigher/repos","events_url":"https://api.github.com/users/kraigher/events{/privacy}","received_events_url":"https://api.github.com/users/kraigher/received_events","type":"User","site_admin":false},"created_at":"2015-05-11T20:27:30Z","updated_at":"2015-05-11T20:27:30Z","body":"@LarsAsplund I have successfully run all the tests on Linux using Python 3 and Python 2.7.\r\n\r\nBtw I ran GHDL on it as well, after removing all contexts and it finds some issues with the code. Mainly reading of output parameters of procedures notify, reply and decode. Also it thinks that the max_timeout_c constant of 1000 hr is overflowed. Also the procedure clear_reply_stash had an \"in\" keyword in the body but not the definition causing an error.\r\n\r\nAnyway I think the GHDL errors are not enough to stop the pull request so go ahead. I am satisfied now. We can fix the GHDL errors in later commits."}}