{ "info": { "author": "Stefan Wallentowitz", "author_email": "stefan@wallentowitz.de", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "RISC-V Model\n============\n\nThis is a python model of the RISC-V ISA. It is intended to be a resource for Python-based automated testing and verification.\nIt is under development and not very useful yet, but can be used to generate random assembler code.\n\nDocumentation: https://riscv-python-model.readthedocs.io/en/latest/\n\nQuick Start\n-----------\n\nFirst install it:\n\n::\n\n pip3 install riscv-model\n\nCreate random assembler sequences\n`````````````````````````````````\n \nCreate a random assembler sequence:\n\n::\n\n riscv-random-asm\n \nYou can tweak the assembler output:\n\n::\n\n usage: riscv-random-asm [-h]\n [-i {add,sub,sll,slt,sltu,xor,srl,sra,or,and,jalr,addi,slti,sltiu,xori,ori,andi,lb,lh,lw,lbu,lhu,slli,srli,srai,sb,sh,sw,beq,bne,blt,bge,bltu,bgeu,lui,auipc,jal}]\n [--version]\n [N]\n\n Generate sequence of assembler instructions.\n\n positional arguments:\n N Number of assembler instructions\n\n optional arguments:\n -h, --help show this help message and exit\n -i {add,sub,sll,slt,sltu,xor,srl,sra,or,and,jalr,addi,slti,sltiu,xori,ori,andi,lb,lh,lw,lbu,lhu,slli,srli,srai,sb,sh,sw,beq,bne,blt,bge,bltu,bgeu,lui,auipc,jal}\n Restrict to instructions\n --version Display version\n\nFor example to generate 100 assembler instructions only with ``add``, ``or`` and ``slti`` instructions:\n\n::\n\n riscv-random-asm 100 -i add -i or -i slti\n\nDisassemble machine code\n````````````````````````\n\nYou can disassemble a machine code to the assembly code on instruction level:\n\n::\n\n riscv-machinsn-decode hexstring 0x007938b3 0xc9650993\n\nYou can also directly disassemble object files:\n\n::\n\n riscv-machinsn-decode objfile file.o\n\n\nAutomatically test random assembler sequences\n`````````````````````````````````````````````\n\n``riscv-random-asm-check`` generates random assembler sequences, compiles them, reads back the machine codes and matches them.\nYou can use that to test your compiler, but it is also used as sanity check for riscv-model itself.\n\n::\n\n riscv-random-asm-check\n\nIt will by default use ``riscv32-unknown-elf-gcc`` and ``riscv32-unknown-elf-objcopy``, but you can configure the tools with ``--compiler`` and ``--objcopy``.\n\nThe automated tests will test all instructions, you can again restrict the number of instructions and the instructions:\n\n::\n\n riscv-random-asm-check 1000 -i xor\n\nFinally, you can run the checks for the individual instructions seperately (used in combination with the other options:\n\n::\n\n riscv-random-asm-check -s", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wallento/riscv-python-model", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "riscv-model", "package_url": "https://pypi.org/project/riscv-model/", "platform": "", "project_url": "https://pypi.org/project/riscv-model/", "project_urls": { "Homepage": "https://github.com/wallento/riscv-python-model" }, "release_url": "https://pypi.org/project/riscv-model/0.2.2/", "requires_dist": null, "requires_python": "", "summary": "RISC-V Model", "version": "0.2.2" }, "last_serial": 4419852, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d16ef1d0f6e8b63d3942b811c81d21ad", "sha256": "3bb794bb1cb99f4b70c566f290adfed20291b0c7494ea8f21febf2c2d776a801" }, "downloads": -1, "filename": "riscv_model-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d16ef1d0f6e8b63d3942b811c81d21ad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4242, "upload_time": "2018-10-25T13:02:39", "url": "https://files.pythonhosted.org/packages/0e/b4/8ee8232845d5b24db802ec1b927f7bd8c5470eba8b7066208ce64e7e3e15/riscv_model-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58c133d9f9ff8716b964be6d572f74af", "sha256": "dc589f76b9101fc4857327b2d8907269f82138f14ac48b6eab08fea9022bef1a" }, "downloads": -1, "filename": "riscv-model-0.0.1.tar.gz", "has_sig": false, "md5_digest": "58c133d9f9ff8716b964be6d572f74af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2891, "upload_time": "2018-10-25T13:02:40", "url": "https://files.pythonhosted.org/packages/fd/1d/1b8eba2d2f21be8537efc373002eb914df195c0c43c864f7d8eb467d31f8/riscv-model-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d11b4098122a36337ba884eccf653ea0", "sha256": "1b2ec23b00f60a71c58654f82566c5eccc492a4df3c95957b2d0093f13b349c6" }, "downloads": -1, "filename": "riscv-model-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d11b4098122a36337ba884eccf653ea0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3682, "upload_time": "2018-10-25T14:01:06", "url": "https://files.pythonhosted.org/packages/a6/21/ac92ac1df61dc452f8b74f2758e833285ed6d76c829bcb775d3ad68012e0/riscv-model-0.0.2.tar.gz" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "054cd97fff9d0f44d03a2816c7ce8ff0", "sha256": "b5ef1be53b5aaf0d41a9a5c0503a968102f8f81b0afb43320abb7dabb4d5ea83" }, "downloads": -1, "filename": "riscv-model-0.1.tar.gz", "has_sig": false, "md5_digest": "054cd97fff9d0f44d03a2816c7ce8ff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5562, "upload_time": "2018-10-25T14:51:37", "url": "https://files.pythonhosted.org/packages/bf/9a/2475ec59b60841aef39afee8e6cf81a0f3a4771f954108037cd61052c6eb/riscv-model-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6bdda2d8ff55e3ce6908b7cca1fa356a", "sha256": "ea2677591064e4ee359eafb47b1ba4c3f7727f033f091eeeb07d8367cabd3a67" }, "downloads": -1, "filename": "riscv-model-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6bdda2d8ff55e3ce6908b7cca1fa356a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5530, "upload_time": "2018-10-25T14:53:07", "url": "https://files.pythonhosted.org/packages/29/d7/35afe28efbd9e01baa390cf13694fd70e39ebe2b7f98c561202586404ed9/riscv-model-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "b5255d0aa1c2319f6c2a63ac68ece5c2", "sha256": "90901b62e5522e5b02f22a3c7deefd3bf283c23d9628145fe2fbac915203f2ae" }, "downloads": -1, "filename": "riscv-model-0.2.tar.gz", "has_sig": false, "md5_digest": "b5255d0aa1c2319f6c2a63ac68ece5c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10167, "upload_time": "2018-10-26T14:34:56", "url": "https://files.pythonhosted.org/packages/49/24/df5eaf076cdee46dd564227ec61e0275e1d93b35093989f247b9171347e7/riscv-model-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "a71fec0bb66da46d65e9058d16b05391", "sha256": "79a548c468392b8f94a91abb2f33a5447836ac88d6935c5bffc4f50008799c44" }, "downloads": -1, "filename": "riscv-model-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a71fec0bb66da46d65e9058d16b05391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10198, "upload_time": "2018-10-26T14:39:53", "url": "https://files.pythonhosted.org/packages/50/97/2cee0b9f3c21c840552589eff7873756c2310e8dd44bb43c20caaa06ea25/riscv-model-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "9c0e9528a3a4bbf10ef62e86f87203b6", "sha256": "fa8b673b32ac41290193b963b6bf4573ea965c172f389357d4bc401beec37f8f" }, "downloads": -1, "filename": "riscv-model-0.2.2.tar.gz", "has_sig": false, "md5_digest": "9c0e9528a3a4bbf10ef62e86f87203b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11782, "upload_time": "2018-10-26T15:53:46", "url": "https://files.pythonhosted.org/packages/58/f8/cea4f736abb4175c2bcfcf361317d247df79f854c6936fea13616bbc6e7c/riscv-model-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c0e9528a3a4bbf10ef62e86f87203b6", "sha256": "fa8b673b32ac41290193b963b6bf4573ea965c172f389357d4bc401beec37f8f" }, "downloads": -1, "filename": "riscv-model-0.2.2.tar.gz", "has_sig": false, "md5_digest": "9c0e9528a3a4bbf10ef62e86f87203b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11782, "upload_time": "2018-10-26T15:53:46", "url": "https://files.pythonhosted.org/packages/58/f8/cea4f736abb4175c2bcfcf361317d247df79f854c6936fea13616bbc6e7c/riscv-model-0.2.2.tar.gz" } ] }