{ "info": { "author": "Shinya Takamaeda-Yamazaki", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "IPgen\n=====\n\nIP-core package generator for AXI4/Avalon\n\nCopyright (C) 2015, Shinya Takamaeda-Yamazaki\n\nE-mail: takamaeda_at_ist.hokudai.ac.jp\n\nLicense\n=======\n\nApache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n\nPublication\n===========\n\nIf you use IPgen in your research, please cite my paper about Pyverilog.\n(IPgen is constructed on Pyverilog.)\n\n- Shinya Takamaeda-Yamazaki: Pyverilog: A Python-based Hardware Design\n Processing Toolkit for Verilog HDL, 11th International Symposium on\n Applied Reconfigurable Computing (ARC 2015) (Poster), Lecture Notes\n in Computer Science, Vol.9040/2015, pp.451-460, April 2015.\n `Paper `__\n\n::\n\n @inproceedings{Takamaeda:2015:ARC:Pyverilog,\n title={Pyverilog: A Python-Based Hardware Design Processing Toolkit for Verilog HDL},\n author={Takamaeda-Yamazaki, Shinya},\n booktitle={Applied Reconfigurable Computing},\n month={Apr},\n year={2015},\n pages={451-460},\n volume={9040},\n series={Lecture Notes in Computer Science},\n publisher={Springer International Publishing},\n doi={10.1007/978-3-319-16214-0_42},\n url={http://dx.doi.org/10.1007/978-3-319-16214-0_42},\n }\n\nWhat\u2019s IPgen?\n=============\n\nIPgen is a lightweight IP-core package synthesizer from abstract RTL\nsources. You can implement both AXI4 and Avalon IP-core by using the\nprovided abstract interfaces.\n\n- ipgen_master_memory: memory-mapped access interface (master)\n- ipgen_slave_memory: memory-mapped access interface (slave)\n- ipgen_master_lite_memory: memory-mapped access lite interface\n (master)\n- ipgen_slave_lite_memory: memory-mapped access lite interface (slave)\n\nInstallation\n============\n\nRequirements\n------------\n\n- Python3: 3.6 or later\n\n- Icarus Verilog: 10.1 or later\n\n::\n\n sudo apt install iverilog\n\n- Jinja2: 2.10 or later\n- Pyverilog: 1.1.3 or later\n\n::\n\n pip3 install jinja2 pyverilog\n\nInstall\n-------\n\nInstall IPgen.\n\n::\n\n python3 setup.py install\n\nGetting Started\n===============\n\nYou can use the ipgen command from your console.\n\n::\n\n ipgen\n\nYou can find the sample projects in \u2018tests\u2019. Now let\u2019s see\n\u2018tests/memcpy\u2019. There is an input source code.\n\n- memcpy.v : User-defined Verilog code using IPgen abstract memory\n interfaces\n\nThen type \u2018make\u2019 and \u2018make run\u2019 to simulate sample system.\n\n::\n\n make build\n make sim\n\nOr type commands as below directly.\n\n::\n\n ipgen default.config -t memcpy -I include tests/memcpy/memcpy.v\n iverilog -I memcpy_ip_v1_00_a/hdl/verilog/ memcpy_ip_v1_00_a/test/test_memcpy_ip.v \n ./a.out\n\nIPgen compiler generates a directory for IP-core (memcpy_ip_v1_00_a, in\nthis example).\n\n\u2018memcpy_ip_v1_00_a.v\u2019 includes - IP-core RTL design\n(hdl/verilog/memcpy_ip.v) - Test bench (test/test_memcpy_ip.v) - XPS\nsetting files (memcpy_ip_v2_1_0.{mpd,pao,tcl}) - IP-XACT file\n(component.xml)\n\nA bit-stream can be synthesized by using Xilinx Platform Studio, Xilinx\nVivado, and Altera Qsys. In case of XPS, please copy the generated\nIP-core into \u2018pcores\u2019 directory of XPS project.\n\nIPgen Command Options\n=====================\n\nCommand\n-------\n\n::\n\n ipgen [config] [-t topmodule] [--ipname=ipname] [--memimg=memimg_name] [--usertest=usertest_name] [-I include]+ [-D define]+ [file]+\n\nDescription\n-----------\n\n- config\n\n - System configuration file which includes memory and device\n specifications\n\n- -t\n\n - Top-module name of user logic, default: \u2018top\u2019\n\n- \u2013-ipname\n\n - IP-core package name, default: \u2018(topmodule)_ip_(version)\u2019\n\n- \u2013-memimg\n\n - Memory image file in HEX (option). The file is copied into test\n directory. If no file is assigned, the array is initialized with\n incremental values.\n\n- \u2013-usertest\n\n - User-defined test code file (option). The code is copied into\n testbench script.\n\n- -I\n\n - Include path\n\n- -D\n\n - Macro definition\n\n- file\n\n - User-logic Verilog file (.v)\n\nRelated Project\n===============\n\n`Pyverilog `__ - Python-based\nHardware Design Processing Toolkit for Verilog HDL\n\n`Veriloggen `__ - A library for\nconstructing a Verilog HDL source code in Python", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/PyHDI/ipgen", "keywords": "FPGA,Verilog HDL,IP-core,IP-XACT,AMBA AXI4,Avalon", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "ipgen", "package_url": "https://pypi.org/project/ipgen/", "platform": "", "project_url": "https://pypi.org/project/ipgen/", "project_urls": { "Homepage": "https://github.com/PyHDI/ipgen" }, "release_url": "https://pypi.org/project/ipgen/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "IP-core package generator for AXI4/Avalon", "version": "1.0.1" }, "last_serial": 4525022, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "b6593d477f7d7a9e268428fb900a6f91", "sha256": "b24fd4206d181ae18b8250e0e27c440059adaff66dc2f45386f6c19d924d2459" }, "downloads": -1, "filename": "ipgen-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b6593d477f7d7a9e268428fb900a6f91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 657348, "upload_time": "2015-11-06T03:23:40", "url": "https://files.pythonhosted.org/packages/d7/00/69c2f3e93324d460b11d9ac99d89fab5460c8a00892f58b40d68474fdfae/ipgen-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "14c4b35e73bb7f10daf30c752d52be4d", "sha256": "273010856acc6224a07946f2d3faa0051b48a09a2bdcadfc7f3a6c1e47856c89" }, "downloads": -1, "filename": "ipgen-0.2.1.tar.gz", "has_sig": false, "md5_digest": "14c4b35e73bb7f10daf30c752d52be4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 656992, "upload_time": "2017-04-07T12:50:14", "url": "https://files.pythonhosted.org/packages/d1/20/b1d5c555d964c84757fe1d77eb10e519c26ffffd4cc5cc26674328f6c491/ipgen-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7fa8558b84585fcdeae79dd3f59b11df", "sha256": "9bc0ac72ce8987cc750ff9d6ac1989851782fb75394559216fbb2fa7049adbc9" }, "downloads": -1, "filename": "ipgen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7fa8558b84585fcdeae79dd3f59b11df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 657497, "upload_time": "2017-10-01T03:23:59", "url": "https://files.pythonhosted.org/packages/46/92/f36778afbcb0977b64833da5119e6b96e532a1ad0306a497a5e77f10a70f/ipgen-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "318c2287640176bec9e342e0578492a8", "sha256": "000446fb11601a769a1b2b49a32f1bdea0edb463ced79e7c72526e1decdbacd2" }, "downloads": -1, "filename": "ipgen-0.3.1.tar.gz", "has_sig": false, "md5_digest": "318c2287640176bec9e342e0578492a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 657986, "upload_time": "2017-10-07T13:28:16", "url": "https://files.pythonhosted.org/packages/c6/cc/8778b2caf5c4700a4784f906628a7104a46ccffc2a6fe0239464f238db5f/ipgen-0.3.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "81b7a89af89c2ea4a67073733bc97739", "sha256": "ffc0978036e914ded0faaddb7e17557da3caf9a3408954533907273f656fbe94" }, "downloads": -1, "filename": "ipgen-1.0.0-1.tar.gz", "has_sig": false, "md5_digest": "81b7a89af89c2ea4a67073733bc97739", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 656350, "upload_time": "2018-10-17T15:09:48", "url": "https://files.pythonhosted.org/packages/88/69/49c0bdc1ec05931c1f100116f506e87f12afb031b08b0c4c3c38063cc8cc/ipgen-1.0.0-1.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "75b5f0047ff1ee3e97112879ed933ba6", "sha256": "7059a68149bc66f16e64a527f144748463dc9547d399ac756fb396e4a1aba6eb" }, "downloads": -1, "filename": "ipgen-1.0.1.tar.gz", "has_sig": false, "md5_digest": "75b5f0047ff1ee3e97112879ed933ba6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 656374, "upload_time": "2018-11-25T03:37:58", "url": "https://files.pythonhosted.org/packages/44/ac/fffb942736931c68bb3d777e17c0613d2e49dc8aac55eb114ea551071c99/ipgen-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "75b5f0047ff1ee3e97112879ed933ba6", "sha256": "7059a68149bc66f16e64a527f144748463dc9547d399ac756fb396e4a1aba6eb" }, "downloads": -1, "filename": "ipgen-1.0.1.tar.gz", "has_sig": false, "md5_digest": "75b5f0047ff1ee3e97112879ed933ba6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 656374, "upload_time": "2018-11-25T03:37:58", "url": "https://files.pythonhosted.org/packages/44/ac/fffb942736931c68bb3d777e17c0613d2e49dc8aac55eb114ea551071c99/ipgen-1.0.1.tar.gz" } ] }