summaryrefslogtreecommitdiff
path: root/techlibs/xilinx
diff options
context:
space:
mode:
authorRuben Undheim <ruben.undheim@gmail.com>2016-09-23 07:09:40 +0200
committerRuben Undheim <ruben.undheim@gmail.com>2016-09-23 07:09:40 +0200
commit4f096fe65b77435daba019248273e547fa18d167 (patch)
tree52a8438cfecf42cc43e8ec6b9625d26bbd12159a /techlibs/xilinx
parentc89f61c730da973adc7cce93f0839db49683c761 (diff)
Squashed commit of the following:
commit 0c697b9eacacfebd69c9603c2cb79ec70311197d Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 20 09:29:56 2016 +0200 Added autotest.sh -I commit e788ad48855cf02ba426abef83077b7f4ec80fa3 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Sep 19 20:43:43 2016 +0200 Cosmetic fix in test_autotb.cc commit 2e244c2d8e8e57f185b4165267682536843c8616 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Sep 19 20:43:28 2016 +0200 Added yosys-smtbmc --noinfo and --dummy commit 5e155aa1214a586e0db50c27e9b487915032f08e Author: Clifford Wolf <clifford@clifford.at> Date: Mon Sep 19 10:20:20 2016 +0200 Avoid creating very long strings in test_autotb commit aaa99c35bdcde8bec9d44ca23814f323a4e09c75 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Sep 19 01:30:07 2016 +0200 Added $past, $stable, $rose, $fell SVA functions commit d009cdd6eef5a24a11584a543bab8543f3940f6c Author: Clifford Wolf <clifford@clifford.at> Date: Sun Sep 18 20:48:09 2016 +0200 Improved handling of SMT2 logics in yosys-smtbmc commit 13a03b84d402d4a9891e6513a44551572d3e92db Author: Clifford Wolf <clifford@clifford.at> Date: Sun Sep 18 18:48:59 2016 +0200 Added support for bus interfaces to "read_liberty -lib" commit 0ead5a9e44fecf0712658efd168ebd7868039867 Merge: 7bc88e8 d8ad889 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Sep 18 00:50:02 2016 +0200 Merge branch 'master' of github.com:cliffordwolf/yosys commit 7bc88e81010d5e641a55da9fb99724a90a2a4efa Author: Clifford Wolf <clifford@clifford.at> Date: Sun Sep 18 00:48:36 2016 +0200 yosys-smtbmc: added -i support smtc files commit d8ad889594cb5746d3d0b1f7590eeaf63d13c64a Author: Clifford Wolf <clifford@clifford.at> Date: Wed Sep 14 20:46:54 2016 +0200 Bugfix in techmap parameter handling commit d39db41df87113792c383fc2f127a3d42ae6dd0e Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 13 13:23:06 2016 +0200 Work-around for boolector bug commit d01e34136ecfecc3f155d3fe7c74e07346ecae4e Merge: 6f416c1 2c031cd Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 13 12:34:19 2016 +0200 Merge pull request #228 from Kmanfi/test Fix for modules with big interfaces. commit 2c031cd24f536a35a32ce3c78d548fa627265557 Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Tue Sep 13 13:13:27 2016 +0300 Fix for modules with big interfaces. commit 6f416c19537fcaab27b26d66c3144b468cec136a Author: Clifford Wolf <clifford@clifford.at> Date: Sun Sep 11 18:08:56 2016 +0200 Added missing :produce-models setting to smtio.py commit 5199aafca0579aceb3b4a2ad1af610bcb4ccfcd1 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Sep 10 16:24:08 2016 +0200 Minor improvements to smtio.py vcd writer commit b582f11074c1877888341cf6d3fdceb490e88a3e Author: Clifford Wolf <clifford@clifford.at> Date: Sat Sep 10 15:14:41 2016 +0200 fixed write_smt2 for (non-combinatorial) loops through hierarchical cells commit 3ceba145d54f725c90436c7322a67320d4308ce8 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Sep 8 18:08:15 2016 +0200 smt2 mem init bugfix commit 2c0d818296eda10f763287784b749a712bfeda98 Merge: 14bfd3c 9e72046 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Sep 8 11:17:05 2016 +0200 Merge branch 'master' of github.com:cliffordwolf/yosys commit 14bfd3c5c159626a2b3b8dec3a446e0f7c4c7e0c Author: Clifford Wolf <clifford@clifford.at> Date: Thu Sep 8 11:16:12 2016 +0200 yosys-smtbmc meminit support commit 9e72046906bdb9a15054c6c54b0003bfdc3baf6e Merge: 209a3d9 df4ab16 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Sep 8 10:06:40 2016 +0200 Merge pull request #225 from Kmanfi/test Typo fix. commit df4ab169a7ae84f9380e658e3ac5958a3d3e57d3 Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Thu Sep 8 10:57:16 2016 +0300 Typo fix. commit 209a3d9ffcb5f7efbe60b0e0d45755329532535e Author: Clifford Wolf <clifford@clifford.at> Date: Wed Sep 7 21:01:51 2016 +0200 Bugfix in "yosys-smtbmc --unroll" commit 6770d6e0f878b4e172bb04f1d0df5fa72f05e167 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Sep 7 20:57:56 2016 +0200 Added "yosys-smtbmc --unroll" commit ceff7ecd91e152dfac1d80188e592667cbec0392 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Sep 7 13:43:57 2016 +0200 Install celledges.h commit cb7dbf4070a7ca3658b7e473cb54f2eafb6c9ae3 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Sep 7 12:42:16 2016 +0200 Improvements in assertpmux commit e2570ffb872382f190b98d89b2eb7995a5d46758 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Sep 7 11:08:54 2016 +0200 Updated ABC to hg 8e08604f8ad3 commit ab18e9df7c55581a9713a332af425011793106a7 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Sep 7 00:28:01 2016 +0200 Added assertpmux commit f3f5a0204542da3b49e88bcf0b461b6476d45d63 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 6 17:43:24 2016 +0200 Added "tee +INT -INT" commit fc5281b3f7656dd5e245f4ab7d81f39a14693f6b Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 6 17:35:25 2016 +0200 Run log_flush() before solving in sat command commit d55a93b39ff331aea16d627de92b1cbee2be68db Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 6 17:35:06 2016 +0200 Bugfix in parsing of BLIF latch init values commit 97583ab7295499b1b78ac7035e6e0b37d7b87734 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 6 17:34:42 2016 +0200 Avoid creation of bogus initial blocks for assert/assume in always @* commit dcb5a6ea8aaf857ea02f2a6c789e2a13ce501299 Author: Larry Doolittle <ldoolitt@recycle.lbl.gov> Date: Mon Sep 5 19:58:18 2016 -0700 Fix spelling and grammar in README commit 97b449fe55384d6637db8a0850ed33a4c864bbc3 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Sep 6 01:40:31 2016 +0200 yosys-smtbmc: flush stdout after each log msg commit 372d672c2a73314aa4a796357ae09f1570527500 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Sep 4 16:32:47 2016 +0200 Minor bugfix in write_smt2 commit 19a3b3732cc0ab25858b99ce29a172abcfe1fd43 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Sep 3 18:49:53 2016 +0200 Minor README updates commit fa5565b606bf58de1e1150c937afe014fcd928b6 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Sep 3 14:26:00 2016 +0200 Added boolector support to yosys-smtbmc commit d2eba7631ff8bfb897db72f787ca365003176ca1 Merge: 2ee9bf1 068d5bc Author: Clifford Wolf <clifford@clifford.at> Date: Fri Sep 2 13:55:51 2016 +0200 Merge branch 'smtbmc-kmanfi' commit 068d5bc02ffea9ba627bbf7151fdb36500eae0f2 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Sep 2 13:54:24 2016 +0200 Made examples/smtbmc/demo1.v more interesting commit 948aac9e1eaed04aa8de08e62cfb078d6337e9c9 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Sep 2 13:46:56 2016 +0200 Don't re-create hex_dict for each value commit d88cd0ae7f8761637722d5d2c6cc1c8bac762ce3 Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Fri Sep 2 13:09:09 2016 +0300 More PEP 8 fixes. commit c4ba1965fd4300cb7de48cde996bb068d951967d Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Fri Sep 2 13:01:31 2016 +0300 Indentation and PEP 8 fixes. CamelCase and white space after semicolon. commit 2343dda946e5ff335573c6b047d299bb90c98b1e Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Fri Sep 2 12:50:23 2016 +0300 Use dict lookup instead of many ifs. commit 279298c0b85250fd0c4e3637d10f9cf24e832259 Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Fri Sep 2 11:12:30 2016 +0300 Fix: Unresolved reference. commit 74dd36ad5555ceae0ce153e67bf26d594e9f09da Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Fri Sep 2 11:02:19 2016 +0300 Some syntax fixes. Generator and comma separated list modifications. commit 2ee9bf10d029396ba03b1d3023f15ff585e26bcb Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 30 23:57:24 2016 +0200 Added "prep -nomem" commit aa25a4cec66bfde84f9142b21679e82ba90ee910 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 30 19:27:42 2016 +0200 Added $anyconst support to yosys-smtbmc commit 6f41e5277d1d41db7a620c73cf1b65558b55f236 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 30 19:09:56 2016 +0200 Removed $aconst cell type commit a8124c137e2bfa3605dacadfe469ea22934b4cb3 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 30 14:49:47 2016 +0200 Fixed memory bug in write_smt2 commit b04a40d9fe6725dbe1b97a63931b0c0710e3149d Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 30 12:40:09 2016 +0200 Made "write_smt2 -bv -mem" default, added "write_smt2 -nobv -nomem" commit 39e4faa2e4c51c9588df233c795b4e85523879cf Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 30 11:26:10 2016 +0200 Added $anyconst support to smt2 back-end commit 4ea7054b56c568e15ffe9ee3560fd458fabcdf00 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 30 01:34:04 2016 +0200 Improved init spec handling in opt_rmdff, modernized the code a bit commit c417421495c3510add13859b2e33983880b4a224 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 29 22:41:45 2016 +0200 Added "yosys-smtbmc --dump-all" commit b226893461af46f2183be8ca9dfab62b49133c71 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 29 14:53:32 2016 +0200 More yosys-smtbmc bugfixes commit a2e2fc5980e3465011d7373be34e2d018240ede4 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 29 13:53:12 2016 +0200 Various fixes and improvements in yosys-smtbmc commit eae390ae17839bf0273b32149f46a2560a23d934 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Aug 28 21:35:33 2016 +0200 Removed $predict again commit 66582964bc11aadf3d0783a346706d801451a13f Author: Clifford Wolf <clifford@clifford.at> Date: Sun Aug 28 12:34:36 2016 +0200 Improved "show" help message commit f56dba8e2053d12fbd8e1e9b7dc83f3e4e340f3d Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 27 22:04:15 2016 +0200 Some changes to yosys-smtbmc cmd line options, add --final-only commit 23afeadb5e01a7b816c6ae203746caa8ae2aaed7 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 27 17:06:22 2016 +0200 Fixed handling of transparent bram rd ports on ROMs commit adcda6817e0df097bf70f8c200edcf15341f3188 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 27 14:30:36 2016 +0200 Added smtc "final" statement commit 7500b403de9eeafcc3de2a8eba051a03d5f5f10e Merge: 1276c87 3356d39 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Aug 26 23:36:15 2016 +0200 Merge branch 'master' of github.com:cliffordwolf/yosys commit 3356d3947bc8cd343019587f5fc33b8ca27afdb3 Merge: 17233b1 ee620c6 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Aug 26 23:36:05 2016 +0200 Merge pull request #215 from frznchckn/to_upstream Add some useful flexibility to build process commit 1276c87a56f6f6d1a134877f024d2af785354570 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Aug 26 23:35:27 2016 +0200 Added read_verilog -norestrict -assume-asserts commit ee620c6a24a62725f6f41b43728fe7ce4112e130 Author: Russell L Friesenhahn <russellf@arlut.utexas.edu> Date: Fri Aug 26 11:15:36 2016 -0500 Relax test to see if yosys dir is a git repository in Makefile This prevents the test from failing in the case that yosys is a submodule of a repository since for a submodule the .git is actually a file containing the location of the submodule's .git directory commit 23f217b1668415009a7a842b66012686c2f2d5b0 Author: Russell L Friesenhahn <russellf@arlut.utexas.edu> Date: Tue Aug 16 22:07:36 2016 -0500 Allow redefining of the ABC repository URL For persons or organizations that prefer to keep their own mirrors of repositories, users may now specify the URL of the ABC Mercurial repository that yosys clones during build. The URL may be set in the Makefile directly, on the command-line, or in the environment commit 17233b11e185d2c863ccd06830e8cd0d2be38e83 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Aug 26 17:33:02 2016 +0200 Various fixes and improvements in smt2 back-end commit 4be4969bae5d99af572ca99859dc4a550c24d4cf Author: Clifford Wolf <clifford@clifford.at> Date: Thu Aug 25 11:44:25 2016 +0200 Improved verilog parser errors commit ad56ad44c3bdd3d075a32879785a04e3e30491eb Author: Clifford Wolf <clifford@clifford.at> Date: Wed Aug 24 23:18:29 2016 +0200 More yosys-smtbmc smtc features commit ee3e7a0e45e764c2655391b0e444e4379c97fe3c Author: Clifford Wolf <clifford@clifford.at> Date: Wed Aug 24 22:09:50 2016 +0200 yosys-smtbmc --smtc -g commit cd18235f30221ea2a5d51ab8b1d2639f51f1e99d Author: Clifford Wolf <clifford@clifford.at> Date: Wed Aug 24 15:30:08 2016 +0200 Added SV "restrict" keyword commit 6523023645bd2227cac68f46364dff3867d9641a Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 22 17:45:01 2016 +0200 Minor yosys-smtbmc bugfix commit 583ceee6eb69fb8093f7d184d737ea93e2744c5b Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 22 17:27:43 2016 +0200 Added "yosys-smtbmc --constr" commit 2bd30e20261240057752f124506c8b38af95afc4 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 22 16:48:46 2016 +0200 Added "yosys-smtbmc --dump-constr" commit f8a77abfac6da12e2e11c43b4e6aa6e613ac0d4b Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 22 15:05:57 2016 +0200 Added glob support to all front-ends commit 450f6f59b494af14014f0cbe93df4ceca0eecd76 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 22 14:27:46 2016 +0200 Fixed bug with memories that do not have a down-to-zero data width commit cad40fc87449e69a086a627bfb25aa49ae400753 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 22 14:26:33 2016 +0200 Fixed bug in memory_share for memory ports with different ABITS commit 7a33b9892a7a542ca1ac0b503c4368a1721a9afb Author: Clifford Wolf <clifford@clifford.at> Date: Sun Aug 21 15:56:22 2016 +0200 yosys-smtbmc: improved --dump-vlogtb handling of memories commit cdd0b85e47d6c1718ec5c0d2d80c87af3e3bbc83 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Aug 21 13:45:46 2016 +0200 Added another mem2reg test case commit 82a4a0230feedd994546ad57a1f4ae79b8f80136 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Aug 21 13:23:58 2016 +0200 Another bugfix in mem2reg code commit dbdd8927e78622885bc85c429e783b89b2d3022d Author: Clifford Wolf <clifford@clifford.at> Date: Sun Aug 21 13:18:09 2016 +0200 Minor improvements to AstNode::dumpAst() and AstNode::dumpVlog() commit a93fcec93fdd5da581ece4a593369978db9dd42c Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 18:44:27 2016 +0200 Added examples/smtbmc/demo2.v commit f7578b0239720562571d88d5a0406488075a2a31 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 18:43:39 2016 +0200 Added "yosys-smtbmc --dump-vlogtb" commit ed785194def450e68f217a3ae1764b5c5a679298 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 18:42:32 2016 +0200 Added support for memories to smtio.py commit c325bae792a953037c115ad6763081c7ad15f01c Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 18:41:57 2016 +0200 Deprecated "write_smt2 -regs" (by default on now), and some other smt2 back-end improvements commit 28271e43c9876daad3deddd0668188406e56b8ae Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 16:32:50 2016 +0200 Added "yosys-smtbmc -g" commit a889acb897b742f8d17ebccb0fb0d0a8e622fb70 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 16:07:59 2016 +0200 Added smtbmc longopt support commit fe9315b7a19bcb6dcde1a1ce49dd23f999bda7eb Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 13:47:46 2016 +0200 Fixed finish_addr handling in $readmemh/$readmemb commit 75bf7416f0dcf7b5bf3e095779f78039c75c316c Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 13:06:06 2016 +0200 Bugfix in partial mem write handling in verilog back-end commit d77a914683207ab9e4be20d8a10573acd8af777a Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 20 12:52:50 2016 +0200 Added "wreduce -memx" commit 15ef6084533809894dd0b5200a65497047c2ccf8 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Aug 19 19:48:26 2016 +0200 Added memory_memx pass, "memory -memx", and "prep -memx" commit f6629b9c29838879cec6a94d6cb47afc6fbd2db4 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Aug 19 18:38:25 2016 +0200 Optimize memory address port width in wreduce and memory_collect, not verilog front-end commit 9b8e06bee177f53c34a9dd6dd907a822f21659be Author: Clifford Wolf <clifford@clifford.at> Date: Thu Aug 18 21:47:02 2016 +0200 Added missing support for mem read enable ports to verilog back-end commit b3a01451a54506addf7493d4e3abaa621aa5689c Author: Clifford Wolf <clifford@clifford.at> Date: Thu Aug 18 13:43:12 2016 +0200 Bugfix in test_autotb commit de8ee412c30e92efe3a3e1434c0f4b495f8cdbbe Author: Clifford Wolf <clifford@clifford.at> Date: Thu Aug 18 11:17:45 2016 +0200 Improved smtbmc vcd generation performance commit dfcd30ea869f43af520aef033aa1311457112904 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Aug 17 20:10:02 2016 +0200 Added printing of code loc of failed asserts to yosys-smtbmc commit 42a971226bd1972c3c21d386c02c1bc2ac850129 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 22:44:38 2016 +0200 Fixed default build config commit 1419f3983ef28cf8c9ec8837010bef498f085b63 Merge: 5767e4b 5299b17 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 22:41:53 2016 +0200 Merge pull request #203 from cr1901/master Add MSYS2-compatible build. commit 5299b170568bd1de71c906eeb8929a053febc039 Author: William D. Jones <thor0505@comcast.net> Date: Tue Aug 16 14:41:37 2016 -0400 Add MSYS2-compatible build. commit 5767e4bc4db8d70bd02945769b6784618f7d003a Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 09:36:49 2016 +0200 Use _Exit(0) on win32, always use _Exit(1) in log_error() commit 5531bd757808499c23d082c4aa3566cfd5e5ec70 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 09:08:26 2016 +0200 Updated ABC to hg rev a86455b00da5 commit 00f29d5e5cdd08a14aa02119f46f8ee10cd1368d Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 09:07:13 2016 +0200 Fixed use-after-free dict<> usage pattern in hierarchy.cc commit b4d544f0d90d50059d95520d863924bffa3122ac Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 00:56:42 2016 +0200 Updated ABC to hg rev 760ba358e790 commit 4561586eedb32fc5525cae87fded69860f609686 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 00:52:10 2016 +0200 ABC mxe cross-build fix commit 321e15b0bfe84bf3b34b3a24d90ff55fe90de7cd Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 16 00:36:24 2016 +0200 Minor fixes in show command commit 5d90a5b9058d0e47643026b3439644cf974566a4 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 15 09:33:06 2016 +0200 Added greenpak4_dffinv commit f0a8713fea9fea016e5a83fefd9e00a32f4a88d2 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 15 08:26:20 2016 +0200 Fixed upto handling in verilog back-end commit 1058660ac882d97bd41737627c6246948edcab90 Merge: 6ac67ea 0b0ba96 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Aug 14 15:49:08 2016 +0200 Merge pull request #200 from azonenberg/master Updates to GP_RCOSC, new GP_DFF*I cells commit 0b0ba964881ce2996ee2feb1a5ca91c21669f0f7 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sun Aug 14 00:30:45 2016 -0700 greenpak4: Changed name of inverted output ports for consistency commit 3b9756c6a3ae1d1f5b6e530d4b50e07710b44987 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sun Aug 14 00:11:44 2016 -0700 greenpak4: Added GP_DFFxI cells commit 2b062c48cb4405f4a1bb6bd49edaf687bbc2cc4e Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Aug 13 22:27:58 2016 -0700 greenpak4: Renamed ports for better consistency (see azonenberg/openfpga:#6) commit 6ac67eac10cfd3e9508ef02f6301455fc3c13451 Merge: e9fe57c 0515809 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Aug 11 11:17:44 2016 +0200 Merge pull request #198 from whitequark/master synth_greenpak4: use attrmvcp to move LOC from wires to cells commit 0515809448d11beae27a6199ea02c59b36b58299 Author: whitequark <whitequark@whitequark.org> Date: Wed Aug 10 20:09:35 2016 +0000 synth_greenpak4: use attrmvcp to move LOC from wires to cells. commit e9fe57c75e225f80156ceabbc10741c3cfee1c87 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Aug 10 19:32:11 2016 +0200 Only allow posedge/negedge with 1 bit wide signals commit 73b7232ec89d9e3611ee5dbbc0cf663a33b09c8f Author: Clifford Wolf <clifford@clifford.at> Date: Wed Aug 10 13:44:08 2016 +0200 Fixed some compiler warnings in attrmap command commit b0aab4e3046f1a598314e2563fa84b3a8ddc7fa5 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 9 19:56:55 2016 +0200 Added "attrmap" command commit 39da8eddaefc078c6f7aba9958c40daec69f33d4 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 9 19:56:10 2016 +0200 Added log_const() API commit 3c6d31fd061fb591a95b08ecfd1d2e50690dfc48 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 9 11:18:48 2016 +0200 Added "attrmvcp" pass commit f7730d43bb4d5b44ec76e1080f4baf2f6b26807f Author: Yury Gribov <tetra2005@gmail.com> Date: Sun Aug 7 21:34:33 2016 +0100 Use /proc/self/exe on Cygwin as well. commit 9d15529214f164701ac4f53d0f3a5d4943b8f8dd Author: Clifford Wolf <clifford@clifford.at> Date: Mon Aug 8 11:47:35 2016 +0200 Undo "preserve wire attributes in iopadmap" change (it was OK before) commit 88a67afa7d044bd1abb952d7c709876e4159db1a Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 6 13:32:29 2016 +0200 Added "test_autotb -seed" (and "autotest.sh -S") commit 90c17aad56b0bf4b3ace5dea8c2d8555b52d4bfb Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 6 13:24:59 2016 +0200 preserve wire attributes in iopadmap commit 7f755dec75824e27dd79173a76d5819bf7fdbd27 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Aug 6 13:16:23 2016 +0200 Fixed bug in parsing real constants commit 5d6765a9d20ab2a88c02d06cb58fca2bfaf39c8d Author: Clifford Wolf <clifford@clifford.at> Date: Tue Aug 2 10:37:19 2016 +0200 Added "insbuf" command commit 21e1bac0846e01fb58ae1fd42215b92f245ae18d Merge: 5fe13a1 da56a5b Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 30 12:50:39 2016 +0200 Merge branch 'master' of github.com:cliffordwolf/yosys commit 5fe13a16eaaee4ac53523b5325cb9d92b5a1150d Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 30 12:46:06 2016 +0200 Added "write_verilog -defparam" commit 7fa61cba1bd9c29a6a9516a75003db576f673b4c Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 30 12:38:40 2016 +0200 Added "write_verilog -nodec -nostr" commit da56a5bbc60e58c305227105b68654264738c241 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 27 16:11:37 2016 +0200 Added $initstate support to smtbmc flow commit 8d88fcb27011a6f8f47a8615c30ab658fafab0f2 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 27 15:52:20 2016 +0200 Added SatGen support for $anyconst commit 9540be1d45cce45d0008a4160bc4aa70ff0dfe1d Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 27 15:44:11 2016 +0200 Removed $predict support from SatGen commit 40563129872f5a2287f54cb0dbd79534b493a5d6 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 27 15:41:22 2016 +0200 Added $anyconst and $aconst commit a7b07696238dbfd8e4fb5fd41d597200abef4909 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 27 15:40:17 2016 +0200 Added "read_verilog -dump_rtlil" commit 8537c4d2061db1ee11defc357781c6c534be5b3d Author: Clifford Wolf <clifford@clifford.at> Date: Mon Jul 25 16:39:25 2016 +0200 Renamed AbstractCellEdgesDatabase::add_cell() to add_edges_from_cell() commit 5b944ef11b8964a00d833ad29c96ad46da06f7a3 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Jul 25 16:37:58 2016 +0200 Fixed a verilog parser memory leak commit 7a67add95d3d2f3293f84e38b891024d6444d2a4 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Jul 25 12:48:03 2016 +0200 Fixed parsing of empty positional cell ports commit b1c432af5613b0e5817ccc35bb081737dfcb6867 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jul 24 17:21:53 2016 +0200 Improvements in CellEdgesDatabase commit f162b858f22e66dd553973c1275fc7994fc615f1 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jul 24 13:59:57 2016 +0200 Added CellEdgesDatabase API commit 54966679df103781f0c8d72079aedd84a9dc0ec6 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jul 24 12:18:39 2016 +0200 Moved SatHelper::setup_init() code to SatHelper::setup() commit 34e833103b77b06972ead21a9373c5541cb5ee7d Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 23 17:01:03 2016 +0200 Added $initstate support to "sat" command commit 9aae1d1e8ff1afa15459e5463397d1557ba8a361 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 23 11:56:53 2016 +0200 No tristate warning message for "read_verilog -lib" commit 89deb412c68505a0c66e92a93a334e08370f0e6b Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 22 10:28:45 2016 +0200 Added satgen initstate support commit 7fef5ff10436a51a91f57157f687345795f60e40 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Jul 21 14:37:28 2016 +0200 Using $initstate in "initial assume" and "initial assert" commit 5c166e76e52cdaf6ea97952c17d3d79185a59f96 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Jul 21 14:23:22 2016 +0200 Added $initstate cell type and vlog function commit d7763634b68a735443c61aa32918ee0cdd6e9250 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Jul 21 13:34:33 2016 +0200 After reading the SV spec, using non-standard predict() instead of expect() commit 721f1f5ecfb6334904f6058d6d376d21b5efc438 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 13 16:56:17 2016 +0200 Added basic support for $expect cells commit b3155af5f65333d272da339222e1e1962fb088b7 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 13 09:49:05 2016 +0200 Added examples/smtbmc commit 2afc72cae31720d7eacb0423a0dc87d4eccb1aa1 Merge: 9e5c947 546233f Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 13 09:39:27 2016 +0200 Merge pull request #191 from whitequark/json-module-attributes write_json: also write module attributes commit 9e5c9471e366e1abaad62525e783eb549274d951 Merge: e92998a 32bea97 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jul 13 09:24:31 2016 +0200 Merge pull request #193 from azonenberg/master Removed splitnets in synth_greenpak4, added GP_DAC, refactored GP_BANDGAP commit 32bea97b757e11002133d8e69b23eac3df7fb800 Merge: 52a738a e92998a Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Tue Jul 12 16:12:37 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit e92998a79cec635270a350117eddb52c6232f388 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Jul 12 09:46:15 2016 +0200 Minor bugfix in FSM reset state detection commit 546233f0e154cca0bacb4960faf54ba8d206c1fd Author: whitequark <whitequark@whitequark.org> Date: Tue Jul 12 06:32:04 2016 +0000 write_json: also write module attributes. commit 52a738a54435d9e54ac7cb523551ae866cc76770 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Jul 11 22:45:55 2016 -0700 Added GP_DAC cell commit baae472b83b3dac1293bb95ff0a87d9180a67479 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Jul 11 22:45:42 2016 -0700 Removed VOUT port of GP_BANDGAP commit 8619d33114edc58d89247ac3471d4115e1689a82 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Jul 11 22:42:25 2016 -0700 Removed splitnets in prep for new gp4par parser commit c71785d65e9775093b24ce684ed4fbe93bedb04d Author: Clifford Wolf <clifford@clifford.at> Date: Mon Jul 11 12:49:33 2016 +0200 Yosys-smtbmc: Support for hierarchical VCD dumping commit 0153ad85d906105f5b4b520f6d62dbf646b2c285 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Jul 11 11:49:05 2016 +0200 Moved smt2 yosys info parsing from smtbmc.py to smtio.py commit cdb58f68ab180deea6d13caa131aa0ea62cb2a8a Author: Clifford Wolf <clifford@clifford.at> Date: Mon Jul 11 11:40:55 2016 +0200 Added "prep -auto-top" and "synth -auto-top" commit a72fb85dc2195a4519a8f360bd5f0846ef8d26a4 Merge: 771c5fe 307e31a Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jul 10 18:17:09 2016 +0200 Merge branch 'master' of github.com:cliffordwolf/yosys commit 307e31a95e96165650798e68fd5bb22809f4127f Merge: b5a9fba c064583 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jul 10 18:12:00 2016 +0200 Merge pull request #189 from whitequark/master greenpak4: add GP_COUNT{8,14}_ADV cells commit 771c5fe0009cf2195e12be40b242662380681624 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jul 10 18:11:25 2016 +0200 Support for hierarchical designs in smt2 back-end commit c0645839fe499fbc37199744cab5c624e5840dba Author: whitequark <whitequark@whitequark.org> Date: Sun Jul 10 14:41:34 2016 +0000 greenpak4: add GP_COUNT{8,14}_ADV cells. commit b5a9fba0db5a8f29cffa22aa61f9d9cb7f69009a Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 9 14:02:49 2016 +0200 Further improved fsm_detect output, attempt to detect self-resetting circuits commit d63ffabacbe26aa5ade942940a44671427e2db7c Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 9 13:23:06 2016 +0200 Added printing of some warning messages to fsm_detect commit d3f0d7242732d8fb8885600c00c80c1aff8b5253 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 18:31:31 2016 +0200 Added warning about adding fsm_encoding attributes to wires to manual commit 21659847a7a31f80140e03a5b6351da54c062836 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 14:41:36 2016 +0200 Minor fixes in ice40_ff* passes for sloppy SB_DFF instantiations commit 9a101dc1f78acb404cc98e0acc4530c238070fd8 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 14:31:06 2016 +0200 Fixed mem assignment in left-hand-side concatenation commit b782076698b76445b6b1087671687483c6d6c545 Merge: e420412 27b5347 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 11:56:53 2016 +0200 Merge branch 'eddiehung-vtr' commit 27b5347a871d209ec4cba094e1203cc896c9c4b3 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 11:49:55 2016 +0200 Restored blif "-true - .." behavior, use "-true + .." for eddiehung-vtr behavior commit 72149aba2e8fece72450a81142a44d123154fd12 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 11:41:26 2016 +0200 In BLIF, a .names without entries already always outputs 0 commit 6bda61292513cbe7ffd69b4e3462b849757d2337 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 11:35:15 2016 +0200 Undo eddiehung-vtr Makefile changes commit f6b7cf23d65c8e86cbfb742f30167dcc89825cbd Merge: e420412 7c62318 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 8 11:32:36 2016 +0200 Merge branch 'yosys-0.5-vtr' of https://github.com/eddiehung/yosys into eddiehung-vtr commit e420412043228cec6a15b356cc9eea82bbafe9c0 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jul 2 13:32:20 2016 +0200 Fixed autotest.sh handling of `timescale commit 080f95f9332d9caae95095ab9935f78d3b60f204 Merge: df5ebfa 6ed6b3c Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 1 12:24:31 2016 +0200 Merge branch 'assert-limit' commit 6ed6b3cb6d1f1735201861d30cd70736b76e5221 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jul 1 12:24:13 2016 +0200 Replaced "select -assert-limit" with -assert-max and -assert-min commit 9a742f4069d6413bcf46b84c3b3f0e5cfc47f647 Author: eshellko <kornukhin@mail.ru> Date: Fri Jul 1 10:24:22 2016 +0400 Added 'assert-limit' option for 'select' command For resource limited designs such as FPGA it can be useful to specify limit of specific resources available on board. So user can check if he should change RTL as early as mapping done. commit df5ebfa0a0fc6d060caaa21b74a2f1a7b4ba0f86 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Jun 30 09:58:13 2016 +0200 Improved ice40_ffinit error reporting commit 7cddab0788cadc220ffa098c4ac037362ad6948e Merge: 541083c 545bcb3 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Jun 21 08:44:20 2016 +0200 Merge pull request #181 from rubund/input_logic_allowed Allow defining input ports as "input logic" in SystemVerilog commit 545bcb37e8fa569d88374f92aafdcc1004e9b587 Author: Ruben Undheim <ruben.undheim@gmail.com> Date: Mon Jun 20 20:16:37 2016 +0200 Allow defining input ports as "input logic" in SystemVerilog commit 541083cf329addb57117618de41697dd010d07cf Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jun 19 22:19:19 2016 +0200 Bugfix in "abc -script" handling commit 9bca8ccd40d70b6f6ad218cb9b1ae7dd4d3e8e68 Merge: ca91bcc a8200a7 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jun 19 15:48:40 2016 +0200 Merge branch 'sv_packages' of https://github.com/rubund/yosys commit ca91bccb6b03a0b098f80bf14b55a1444eef73c0 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Jun 19 13:08:16 2016 +0200 Added "deminout" commit a8200a773fb8cf2ce2d8793716b62e01c97dd731 Author: Ruben Undheim <ruben.undheim@gmail.com> Date: Sat Jun 18 14:13:36 2016 +0200 A few modifications after pull request comments - Renamed Design::packages to Design::verilog_packages - No need to include ast.h in rtlil.h commit 9e28290b0f4f6006897b46fd3ab8817a1c82b0b1 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jun 18 12:33:13 2016 +0200 Added "read_blif -sop" commit 5ffad4e0737bfb7e86129f3c74e7ee917ef782cc Author: Clifford Wolf <clifford@clifford.at> Date: Sat Jun 18 12:28:49 2016 +0200 Added $sop support to BLIF back-end commit 178ff3e7f6f9766f0b1a3e8dcc96e030aea59b15 Author: Ruben Undheim <ruben.undheim@gmail.com> Date: Sat Jun 18 10:24:21 2016 +0200 Added support for SystemVerilog packages with localparam definitions commit 3380281e15ca61cec8beda70938fb7b6f4c121d6 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 17 20:15:35 2016 +0200 Added "dc2" to default ABC scripts commit 7a4ee5da747382df323d41f60e974ef92bdc1e82 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 17 20:15:11 2016 +0200 Fixed init issue in mem2reg_test2 test case commit f498204ae462e2307f93c3ba8e6ba3b793b94d1f Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 17 19:39:35 2016 +0200 Added "abc -I <num> -P <num>" commit ebece2b8d5123aeb372df3ce226927bf3e6d09d6 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 17 17:47:30 2016 +0200 Added $sop SAT model commit 95757efb25dc51a73b384b475b0fc87d0e11d10e Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 17 16:31:16 2016 +0200 Improved support for $sop cells commit 52bb1b968d4bfbbbd84eca88f0e80c486cc1a16e Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 17 13:46:01 2016 +0200 Added $sop cell type and "abc -sop" commit c3365034e9db8b6450db578daefd860276d5071f Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 17 11:16:31 2016 +0200 Updated ABC to hg rev b5df6e2b76f0 commit 99edf249669158b8c8bef0c7c3b926a2bbb7a621 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Jun 9 11:47:41 2016 +0200 Added "nlutmap -assert" commit 52b0b4e31e98816bc15b957c89bca76619231143 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jun 8 12:14:32 2016 +0200 Do not run "wreduce" in "prep -ifx" commit 2032e6d8e46c0b715e73423cb34f4a624617df6e Author: Clifford Wolf <clifford@clifford.at> Date: Mon Jun 6 17:15:50 2016 +0200 Added "proc_mux -ifx" commit dcf576641b4a9b476d51fbe1b0cdfb57d02a76e6 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Jun 3 11:38:31 2016 +0200 Added "setundef -init" commit d2695e2bfa0c1bc8cbcb5cd8396b12a7f83959af Author: Clifford Wolf <clifford@clifford.at> Date: Thu Jun 2 14:37:07 2016 +0200 Fix all undef-muxes in dlatch input cone commit adfc80727c19021f911833305f5d322af6b8a0aa Author: Clifford Wolf <clifford@clifford.at> Date: Wed Jun 1 13:25:06 2016 +0200 Avoid creating undef-muxes when inferring latches in proc_dlatch commit 11f7b8a2a1dd6e5c47e8081e4485127331fd80be Author: Clifford Wolf <clifford@clifford.at> Date: Sun May 29 12:17:36 2016 +0200 Added opt_expr support for div/mod by power-of-two commit 766032c5f85e33c8aabb69d1868c3493f254695f Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 27 17:55:03 2016 +0200 Fixed procedural assignments to non-unique lvalues, e.g. {y,y} = {a,b} commit ee071586c55915c6535bad0a47bf80c8f2029272 Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 27 17:25:33 2016 +0200 Fixed access-after-delete bug in mem2reg code commit e9ceec26ffe773d36b5316c79149913777d6581f Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 27 16:37:36 2016 +0200 fixed typos in error messages commit 611f121cb9fb8a451e891356a6260f4b299afc7d Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 27 16:33:13 2016 +0200 Fixed "scc" for cells that have feedback singals _and_ are part of a larger loop commit 33742f4e8f5b39940a1dc6aa9582e94516cd0a5f Merge: 8e9e793 e22e4d5 Author: Clifford Wolf <clifford@clifford.at> Date: Sun May 22 18:15:08 2016 +0200 Merge pull request #172 from zeldin/deterministic_hierarchy Made the expansion order of hierarchy deterministic commit e22e4d59b8abe9ba60d32402d0ff9b84d266743d Author: Marcus Comstedt <marcus@mc.pp.se> Date: Sun May 22 16:37:47 2016 +0200 Made the expansion order of hierarchy deterministic commit 8e9e793126a2772eed4b041bc60415943c71d5ee Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 20 17:13:11 2016 +0200 Some fixes in tests/asicworld/*_tb.v commit 1e227caf720bc5870ea9244e6b5657cf9c9717ab Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 20 16:58:02 2016 +0200 Improvements and fixes in autotest.sh script and test_autotb commit 884ec967871dede8d5ad6fb730a405e421a18dbe Merge: f3983a0 8c3bc2a Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 20 16:48:50 2016 +0200 Merge branch 'master' of https://github.com/Kmanfi/yosys commit f3983a094052e875e05823a6063c1775d1f84b39 Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 20 16:43:13 2016 +0200 Also escape "=" in spice output commit 060bf4819a3742ba2ad8142c9a7e665555c22ac7 Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 20 16:21:35 2016 +0200 Small improvements in Verilog front-end docs commit 8c3bc2ac0da4457f90775608e9701e0a7ba1e4cf Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Thu May 19 11:53:29 2016 +0300 Close opened dump file. commit f6221ade950411ed10e6f260971cff78b30b8666 Author: Kaj Tuomi <kaj.tuomi@siru.fi> Date: Thu May 19 11:34:38 2016 +0300 Fix for Modelsim transcript line warp issue #164 commit ffcdc53a18197e40571b9c604fff07408cc12346 Author: Clifford Wolf <clifford@clifford.at> Date: Sun May 15 00:05:30 2016 +0200 Don't sign-extend memory bram initialization data commit 864eeadcd9244505c7c026e2044799ff5bcf4782 Author: Clifford Wolf <clifford@clifford.at> Date: Sat May 14 11:43:20 2016 +0200 Added missing "#define HASHLIB_H" commit d05115ceda2969badb83b3b2f0cefcd447c29451 Author: Clifford Wolf <clifford@clifford.at> Date: Sat May 14 11:35:39 2016 +0200 Minor presentation fixes commit 407cdea0bc3a3d2a258b30a3e19d0861c3c4ba6f Author: Clifford Wolf <clifford@clifford.at> Date: Wed May 11 09:31:53 2016 +0200 Updated min GCC requirement to GCC 4.8 commit b8b39472bb1b991ab96dede1b188868d9d98246b Author: Clifford Wolf <clifford@clifford.at> Date: Mon May 9 12:43:49 2016 +0200 Added manual download link to README commit 570014800aa34d71868d04f9ef83e4a13b847773 Author: Clifford Wolf <clifford@clifford.at> Date: Sun May 8 10:50:39 2016 +0200 Include <cmath> in yosys.h commit fa76d51941ce5e4076317195bd1b603bccb74f02 Merge: f103bfb 47eace0 Author: Clifford Wolf <clifford@clifford.at> Date: Sun May 8 10:22:01 2016 +0200 Merge pull request #162 from azonenberg/master Added GP_DELAY cell. Fixed several errors in simulation models. commit 47eace0b9f2b9ddd7ae76e06e2ade85ceea88e17 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat May 7 21:29:26 2016 -0700 Added GP_DELAY cell commit 41bbad4e4c25bc1b0227348ec0329187c8688c4b Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat May 7 21:14:42 2016 -0700 Fixed typo in port name commit b5171541cd9da6a4e2b5aaaaf3bca76e059c7e3f Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat May 7 21:14:18 2016 -0700 Fixed extra semicolon commit 85ee88b0ee13eb49bb255d7e66a62fce823c028a Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat May 7 21:14:00 2016 -0700 Fixed typo in parameter name commit a0c19aae55d878576c7481a6a4a5d10ba98c5224 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat May 7 21:13:47 2016 -0700 Added simulation timescale declaration commit f103bfb9baddcd5ff16e610bc314c3de9eb3d526 Author: Clifford Wolf <clifford@clifford.at> Date: Sat May 7 10:53:18 2016 +0200 Fixes for MXE build commit c3f6e0ea851b90b11671015f2bb472c857f0e2d9 Author: Clifford Wolf <clifford@clifford.at> Date: Sat May 7 09:33:16 2016 +0200 Added support for "keep" attribute to shregmap commit 6fe3d5a1cf938081110db0470def2b2687dd665f Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 6 23:02:37 2016 +0200 Added synth_ice40 support for latches via logic loops commit d10dfccabb6bf4b1ba3f334b899f57093b8a0ddc Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 6 15:05:53 2016 +0200 Added "write_blif -noalias" commit 126da0ad3dfb7b75aaaadc97c7d40b495da9d164 Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 6 14:32:32 2016 +0200 Fixed ice40_opt lut unmapping, added "ice40_opt -unlut" commit aadca148da35963888e362d6eb5a3982b1903c10 Author: Clifford Wolf <clifford@clifford.at> Date: Fri May 6 13:59:30 2016 +0200 Fixed preservation of important attributes in techmap commit ec1938737bcfb625d4e62afaefd30d67acb588bf Merge: 9647dc3 2096a05 Author: Clifford Wolf <clifford@clifford.at> Date: Thu May 5 18:18:48 2016 +0200 Merge pull request #159 from azonenberg/master Fixes to use new I/O pad techmapping, renamed ports for GP_SHREG commit 2096a05ec2aaecb89316c5a229b497c21c2327f9 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed May 4 17:13:54 2016 -0700 Changed order of passes for better handling of INIT attributes on "output reg" FFs commit 3486637b19030bc65af77c99c282ff5a7e610ee8 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed May 4 17:04:50 2016 -0700 Changed port names in greenpak shregmap commit dee1c27a19f91fb44df67b2ab9834ee8140772c4 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed May 4 17:03:45 2016 -0700 Renamed module parameter commit a613f171aeb8703b6849a87b73899389fb9912d8 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed May 4 15:55:16 2016 -0700 Refactored synth_greenpak4 to use iopadmap for mapping GP_IOBUF/GP_OBUFT cells instead of extract commit 9647dc3c07039c49b9bcf5932050467ca451ceef Author: Clifford Wolf <clifford@clifford.at> Date: Wed May 4 22:48:02 2016 +0200 Added tristate buffer support to iopadmap commit 86add2907276ab7c9ec2c2861901a7a7adedf0fa Merge: 7a74ae4 deb1ecc Author: Clifford Wolf <clifford@clifford.at> Date: Wed May 4 19:12:59 2016 +0200 Merge pull request #157 from azonenberg/master Added GP_ABUF cell, support for tri-state I/O buffers in GreenPak commit deb1eccab5bad3e5a090254e0d3a069a3c474d8b Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed May 4 08:06:18 2016 -0700 Fixed incorrect signal naming in GP_IOBUF commit 2db8dd6d354b8d29382054668ae34e7852b413a2 Merge: dcee325 7a74ae4 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed May 4 07:23:27 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 7a74ae4c5403ce68a8245c45359d49f80d6e863a Merge: 658f936 12000b9 Author: Clifford Wolf <clifford@clifford.at> Date: Wed May 4 10:48:42 2016 +0200 Merge branch 'master' of github.com:cliffordwolf/yosys commit 658f93663b12d3199f636cad8bf75aa1ee58108b Author: Clifford Wolf <clifford@clifford.at> Date: Wed May 4 10:48:23 2016 +0200 Fixed iopadmap attribute handling commit dcee3256d59907c474542e0dfd24df7c047e6f50 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Tue May 3 22:53:29 2016 -0700 Added tri-state I/O extraction for GreenPak commit 66095153fd6110dbe84552175d4919f4f5fd75fc Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Tue May 3 22:03:04 2016 -0700 Added GreenPak I/O buffer cells commit 9fc9d5f1fb1eea47118c00ecad1352ec84fd3047 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon May 2 20:29:39 2016 -0700 Added comment to clarify GP_ABUF cell commit 79460208c928e62c608d71c0d6d484293835e8dc Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon May 2 20:27:41 2016 -0700 Added GP_ABUF cell commit 12000b90de0bade5fca641c49f3375316220ed39 Merge: 06d35ea 3a85e40 Author: Clifford Wolf <clifford@clifford.at> Date: Mon May 2 09:49:07 2016 +0200 Merge pull request #154 from azonenberg/master Add GP_PGA cell commit 3a85e40f42f4fa52934562135571cfcba35af80e Merge: fb87022 06d35ea Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sun May 1 10:07:21 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 06d35ea9425dbfeff8bcd0d842a31d22843b937b Author: Clifford Wolf <clifford@clifford.at> Date: Fri Apr 29 10:26:22 2016 +0200 Improved TCL_VERSION detection so it does not read .tclshrc commit fb87022dca2bd8366cb006951e3f59c9f0540476 Merge: 134e093 e01464e Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 29 00:57:37 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit e01464e2ac2bf3bd2752e10b48d2fc3ffc4fdf9e Author: Clifford Wolf <clifford@clifford.at> Date: Thu Apr 28 23:17:30 2016 +0200 Added "qwp -v" commit 134e093e4e86080e1e4066f32128d268a36aeee5 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 27 23:07:21 2016 -0700 Added GP_PGA cell commit 0d2923cccd00ed14537f3239b0059a76673798a4 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Apr 26 19:49:05 2016 +0200 Connections between inputs and inouts are driven by the input commit 958fb29c76a13838a922ff8553178d2c31c1ddef Author: Clifford Wolf <clifford@clifford.at> Date: Mon Apr 25 16:37:11 2016 +0200 Fixed test_autotb for modules with many cell ports commit 93e107e455b506731d9114e0dc2644f78797cf0f Author: Clifford Wolf <clifford@clifford.at> Date: Mon Apr 25 10:43:04 2016 +0200 Fixed proc_mux performance bug commit d086224a39fcd488062d7f75cc936cce5435069c Merge: b1d6f05 d57c851 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Apr 25 10:33:18 2016 +0200 Merge pull request #150 from azonenberg/master GreenPak analog comparator support commit d57c85111f4136e5ae098aa42cd337f82dd4b57e Merge: 349d717 b1d6f05 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sun Apr 24 22:11:56 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 349d7172023e9ee38b8e25e3bd04e2dfd0af1e62 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sun Apr 24 17:01:21 2016 -0700 Removed VIN_BUF_EN commit b1d6f05fa2156017f50383d01d49342c8ec5e209 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Apr 24 19:29:56 2016 +0200 Fixed performance bug in proc_dlatch commit 9aa4b3309c35d842e2b1a04172745a5e34a3c445 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Apr 24 17:12:34 2016 +0200 Added "yosys -D ALL" commit 6e215f374dcd92e2c1bff8ad6114f3d3dc9b06f5 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 23 22:53:49 2016 -0700 Renamed VOUT to OUT on GP_ACMP cell commit 512486dcf37f779e6271e299eb186ab2559eb344 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 23 22:33:36 2016 -0700 Added GP_ACMP cell commit 09ffebb9959510cacdc04c926800223235f50313 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Apr 24 00:48:33 2016 +0200 Added "prep -flatten" and "synth -flatten" commit 77aa2031e7e93b3d91b7594ad21d84e946b7cb04 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Apr 24 00:48:06 2016 +0200 Converted "prep" to ScriptPass commit 096c25d29d7e66003123dc4700ae72b0a4c10ca2 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 23 23:10:13 2016 +0200 Improvements in greenpak4 shreg mapping commit c9c5192cd63dc4c08441e94c8d53428503ccc4af Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 23 23:09:45 2016 +0200 Run clean after splitnets in synth_greenpak4 commit 7f16784f3c0151c9b7f2861965d73ce7c960ebb5 Merge: 421b0d7 e13c661 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 23 12:22:08 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit e13c66122ef4bc9cc8da77cda1d6bf594104acdb Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 23 20:20:21 2016 +0200 Added "shregmap -zinit" for greenpak4 tech commit 421b0d715c43fbcbfc1465518d444c9ca97cbabb Merge: 2849fd4 34195f2 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 23 10:18:15 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 34195f281fc4829f58c3dfc9c7944691044186e0 Merge: f85cfa5 0cbe70e Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 23 10:33:32 2016 +0200 Merge https://github.com/azonenberg/yosys commit f85cfa56667e32ff9e165f9d957d05bde25342c0 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 23 10:31:19 2016 +0200 Added "shregmap" to synth_greenpak4 commit a24021ea20bb70d0368c6b3e549a87fa5c4ab8ae Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 23 10:27:33 2016 +0200 Converted synth_greenpak4 to ScriptPass commit 2849fd486eaa1a77316cc6ffc86ec885b8a0d9fb Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 22 23:01:39 2016 -0700 Fixed typo in help text commit 0cbe70eaa40056a9d41070652282694cd7285b1a Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 22 19:08:19 2016 -0700 Fixed typo commit ab11f2aa701f4ff7a8df98d2a4158ea1f661a205 Merge: d90c1e9 7311be4 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 22 19:07:55 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 7311be4028a9caad5a0fac1a3433220b4233ef84 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Apr 22 19:42:08 2016 +0200 Added "shregmap -tech greenpak4" commit 779e2cc819463fa5bc4ebfee397eb06368eb10b0 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Apr 22 18:02:55 2016 +0200 Added support for "active high" and "active low" latches in BLIF front-end commit 60ac1bd178eef96b5cc34091dca7552cc3cad70f Author: Clifford Wolf <clifford@clifford.at> Date: Fri Apr 22 18:00:46 2016 +0200 Added support for "active high" and "active low" latches in BLIF back-end commit 965b0d59b5da01dc34f01e01d723b75140df7c60 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Apr 22 12:13:06 2016 +0200 More flexible handling of initialization values commit 0bc95f1e049afc35bb5ea30663b0a5725dfbf584 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Apr 21 23:28:37 2016 +0200 Added "yosys -D" feature commit 1565d1af69f552b790aa43fd6be194ee59ab76f3 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Apr 21 19:47:25 2016 +0200 Fixed performance bug in "share" pass commit 5a09fa45535ffceae90359be727d2ff6e0ac2c58 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Apr 21 15:31:54 2016 +0200 Fixed handling of parameters and const functions in casex/casez pattern commit f38ca3e18fb27472595d59be8c0cea7ef50b7c4c Author: Clifford Wolf <clifford@clifford.at> Date: Thu Apr 21 13:02:56 2016 +0200 Improvements in opt_expr commit 1761d08dd239bcf1765ebf807fc22514edac387f Author: Clifford Wolf <clifford@clifford.at> Date: Thu Apr 21 12:06:07 2016 +0200 Bugfix and improvements in memory_share commit d90c1e952256dc00d070863835e061d73e4bc6b3 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 20 20:48:19 2016 -0700 Added GP_VREF cell commit bf64974d43600b2e8ad63a1762489a152c002a41 Merge: f1fa757 8c9ac5d Author: Clifford Wolf <clifford@clifford.at> Date: Tue Apr 19 10:37:04 2016 +0200 Merge pull request #149 from azonenberg/master GP_RCOSC and GP_SHREG cells plus some cleanup commit 8c9ac5db7bd97fce3bfe5040a238d4f08d726473 Merge: b2c36f6 f1fa757 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Apr 18 19:22:52 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit f1fa757d0e7de4fce01dd4c2b2ec8f1aed0fb1a6 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Apr 18 11:58:21 2016 +0200 Added "shregmap -params" commit 525651c8f6fc5a4f00f3c7b5208d6882f75ac736 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Apr 18 11:44:10 2016 +0200 Added "shregmap -zinit" and "shregmap -init" commit b2c36f6136d0fa3a6203197d78092bc1bb31e998 Merge: be57071 ce7c980 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sun Apr 17 08:15:34 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit ce7c980ec755c481182de9bd078e190bd8d9ff51 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Apr 17 15:37:22 2016 +0200 Improvements in "shregmap" commit be570712d82eafb28850d4400f2220991c3864a4 Merge: d0aaf8d de647a3 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 16 15:14:32 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit de647a390c654bcdb04255c89d5d970cb0c1ed24 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 16 23:20:49 2016 +0200 Added "shregmap" pass commit fbdb8e7b3ed94993228181f949506355989ef54b Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 16 23:20:34 2016 +0200 Fixed copy&paste error in log message in lut2mux commit a07f893a5fd018e426e1aa6de7ad986ea8acd468 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 16 23:20:11 2016 +0200 Minor hashlib bugfix commit d0aaf8d2621fd75b968700ec4cb8dd6acf568737 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 13 23:13:51 2016 -0700 Added GP_SHREG cell commit cdefa60367cf15b2e0a7fb35e4a42fe8358755b5 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 13 23:13:39 2016 -0700 Refactoring: alphabetized cells_sim commit f1679936fe3f40d7fab3438a00dad2fed5a5f00e Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 9 01:18:02 2016 -0700 Fixed missing semicolon commit c1b8d3b580601ad9ba61b247fa967efdfe19fcda Merge: 58d8715 3d9ff91 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 9 01:17:24 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 58d87156815871c47c0ea356ba50b738537adfab Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Apr 9 01:17:13 2016 -0700 Added GP_RCOSC cell commit 3d9ff912c208d330fea12c0149fbe352e9ea7c0a Merge: ace4622 01a5f71 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Apr 8 11:58:40 2016 +0200 Merge pull request #147 from azonenberg/master Added GP_BANDGAP, GP_POR, GP_RINGOSC primitives commit 01a5f711871658c9997f7352414cd4ac50ed772c Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 6 23:42:22 2016 -0700 Fixed assertion failure for non-inferrable counters in some cases commit 48c10d90f4b8c813782d4c5a304b2e1e24d140d8 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 6 23:10:34 2016 -0700 Added second divider to GP_RINGOSC commit 1df559c7062b62a8b72b70d40d65da99667a2183 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 6 22:40:25 2016 -0700 Added GP_RINGOSC primitive commit f6a0f2cf73e8dde315493f113235bbfa27920391 Merge: c2b909c ace4622 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Apr 6 22:31:22 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit ace462237f1223a41f6d29d1fe29652fcf435882 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Apr 5 13:25:23 2016 +0200 Hashlib indenting fix commit 38245b6733d9ec28ae1d37fb5ffba62b0aec791c Author: Clifford Wolf <clifford@clifford.at> Date: Tue Apr 5 13:25:05 2016 +0200 Added msan origins tracking commit 6041f780c31525c1fc4d34b95317d7946466957b Author: Clifford Wolf <clifford@clifford.at> Date: Tue Apr 5 12:51:04 2016 +0200 Prefer noninverting FFs in dfflibmap commit eaac5bfbc7faa7144a85590a94d14094899d197f Author: Clifford Wolf <clifford@clifford.at> Date: Tue Apr 5 08:26:10 2016 +0200 Improved formatting of "sat" output tables commit 3920bf58d01ad9b34a7afba5bfa2f19ffff53240 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Apr 5 08:18:21 2016 +0200 Fixed some typos commit c2b909c051edf189d6e1f807bb367c3c543dc058 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Apr 4 21:46:07 2016 -0700 Added GP_POR commit c01ff05fabe948acfbbb259e92b3bd0009bd068e Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Apr 4 16:56:43 2016 -0700 Added GP_BANDGAP cell commit e4e6becba9259a125bfd2788d453f5ac33272d2f Merge: 27e0d29 71f9f40 Author: Clifford Wolf <clifford@clifford.at> Date: Sun Apr 3 17:16:26 2016 +0200 Merge pull request #145 from laanwj/master Add instructions for building manual on Ubuntu commit 71f9f40fa9e44351f7a9ebabff622c2569689745 Author: Wladimir J. van der Laan <laanwj@gmail.com> Date: Sun Apr 3 14:26:56 2016 +0200 Fix a few typos in the manual commit f9d7091c3b04fd9aa067ed1c087a29faac55d640 Author: Wladimir J. van der Laan <laanwj@gmail.com> Date: Sun Apr 3 14:26:46 2016 +0200 Add instructions for building manual on Ubuntu commit 27e0d29863bcf80520993574415f79b32312c5fb Merge: 7a4dd27 34667de Author: Clifford Wolf <clifford@clifford.at> Date: Sat Apr 2 10:19:36 2016 +0200 Merge pull request #144 from azonenberg/master Added COUNT_EXTRACT constraint to greenpak4_counters pass. Added support for inferring level-resettable counters. Fixed use-after-free. commit 34667ded53ca50d612dc71302544fdde744d853d Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 1 23:41:03 2016 -0700 Removed more debug prints commit 87e7cd9fbd6e603da262e68f7ec68eb0d7233c2c Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 1 23:39:32 2016 -0700 Removed forgotten debug code commit 2386885f228ebecccf4987ac81bde11df56dae38 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 1 21:18:29 2016 -0700 Added GreenPak inverter support commit b0a28c793cebcd1a7317b63b215151ce9ace3a42 Merge: 6dbcf50 7a4dd27 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 1 18:09:08 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 6dbcf50fa1ea8591d8d944234627e6918612060b Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 1 18:07:59 2016 -0700 Added support for inferring counters with asynchronous resets. Fixed use-after-free in inference pass. commit 7a4dd27b1b36e4e4667f31ee7b3c6e6bc3896f60 Merge: 2553319 f277267 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Apr 1 09:13:52 2016 +0200 Merge pull request #143 from azonenberg/master Fixed several techmapping issues irelated to greenpak flipflops commit f277267916b7b1c97fe90576abecde003cc231ab Merge: 736a998 2553319 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Fri Apr 1 00:03:00 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 736a998a75e12ca83b45b74a79e78fae8ab12d16 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Thu Mar 31 23:16:45 2016 -0700 DFFINIT is now correctly called for all kinds of flipflop, not just DFF commit 7498ff8041cdd464521a6802055a9893a0c6cf61 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Thu Mar 31 22:51:22 2016 -0700 Fixed incorrect port name in cells_map.v commit 25533190818b0fe207be9a4626a9a273a08ae219 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 11:16:34 2016 +0200 Added ScriptPass helper class for script-like passes commit 6cafd08ac1090f405168187632fab4308129c599 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 09:58:55 2016 +0200 Improved opt_merge support for $pmux cells commit 6f1b6dc322bf6cceeadef7c666b8ff333ec6f2bf Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 09:57:44 2016 +0200 Added log_dump() support for dict<> and pool<> containers commit e5dd5c0bcccd4e79921e6a28b550a5960a93ee07 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 09:57:23 2016 +0200 Preserve empty $pmux default cases commit e2f6d61c004776f2f573f3c5b70ad352ce6b4e1a Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 09:56:56 2016 +0200 Typo fixes in opt_expr and opt_merge commit c04a3d276320aa9aca4e3a678df3135b35473055 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 23:58:45 2016 -0700 Fixed typo (wasn't written in 2012) commit ec93680bd583b670e03ed98b4b1081eab8d0f3f6 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 08:52:49 2016 +0200 Renamed opt_share to opt_merge commit 1d0f0d668ade740c928c66c400476924abf62384 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 08:43:28 2016 +0200 Renamed opt_const to opt_expr commit d31c968d76e99d5c7288d0eb844e041bb36aa77d Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 08:00:59 2016 +0200 Fixed typo in greenpak4_counters.cc commit cecd0cf788a7fcefe6e88c32557fd844482a1c9c Merge: 0db5328 984561c Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 31 07:59:55 2016 +0200 Merge pull request #142 from azonenberg/master Add initial GreenPak4 counter inference, misc related fixes commit 984561c034bac0b996d8b2201105a795c6c0e00d Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 22:52:01 2016 -0700 Renamed counters pass to greenpak4_counters commit 1ae33344f4f18f4fbb899e4635659bf1cd8f0448 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 22:40:14 2016 -0700 Added initial implementation of "counters" pass to synth_greenpak4. Can only infer non-resettable down counters for now. commit 1b42e0c471ba81843e3fbd1869e84b36f8a24c2f Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 22:03:50 2016 -0700 Reduced log verbosity commit ad19e0c64ab69ab059efc258ae616f4fb5b8847d Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 21:54:23 2016 -0700 Continued work on counter extraction. Can recognize compatible RTL counters but not replace with hard macros. commit d16d05e41587a282a53eda59af837b7d264498fc Merge: 94a6923 0db5328 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 20:38:18 2016 -0700 Merge https://github.com/cliffordwolf/yosys commit 94a6923e7dd363c5b11116e9bd85aa012fed512a Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 20:30:25 2016 -0700 Updated tech lib for greenpak4 counter with some clarifications commit dd7204c0bdb65956fdf27925da3ccfe6f592d012 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 20:30:03 2016 -0700 Fixed typo in log message commit 0db53284fd610cac1e956a87c7eec7df3d8564c5 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 30 13:52:26 2016 +0200 We have 2016 for a while now commit 48dbc75beddd6db92f09125b49761859be33693d Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 30 13:24:49 2016 +0200 Added .vhd file extension support commit 489caf32c54ee250338eca72c5f0098106d17788 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Wed Mar 30 01:07:20 2016 -0700 Initial work on greenpak4 counter extraction. Doesn't work but a decent start commit 2c15a3a9d0aad62f92c37bd76b763d6c2cf079b1 Merge: a47f695 19c2023 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 30 10:02:18 2016 +0200 Merge branch 'master' of github.com:cliffordwolf/yosys commit a47f69536a1ac93657d334f57dac2a800ab34f3f Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 30 10:02:03 2016 +0200 Added support for installed plugins commit 3ea60266488fe7e0b040c379a11d523c11ec9460 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Tue Mar 29 20:02:59 2016 -0700 Added splitnets to synth_greenpak4 commit 19c20235b55648c150df294320b9f2515d2f3c5b Author: Clifford Wolf <clifford@clifford.at> Date: Tue Mar 29 15:12:14 2016 +0200 Added more cell help messages commit 8c8b2e72b1b34f6219c87e7bd5b39620947cd787 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Mar 29 13:44:14 2016 +0200 Fixed indenting in techlibs/greenpak4/gp_dff.lib commit d4472ae9453c3eb713e2260b198d0236632a60b7 Merge: 9578443 75f0030 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Mar 29 09:53:35 2016 +0200 Merge pull request #141 from azonenberg/master Add Greenpak4 SYSRESET block support commit 75f0030458a6c5e37238e2437ea469ba9dfd389b Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Mar 28 23:16:43 2016 -0700 Added keep constraint to GP_SYSRESET cell commit ea9cc0309245c8d1af5d34b836238f197d34e332 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Mon Mar 28 22:49:46 2016 -0700 Added GP_SYSRESET block commit 95784437ac237be981d0cf573386ba22f28f9624 Merge: 2ec832d 963c0d2 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 28 16:54:23 2016 +0200 Merge pull request #137 from ravenexp/master Embed DATDIR make variable value into yosys binary. commit 2ec832ddced03aff3fb5cef53ae935f39d32547c Merge: aade2c2 73870c1 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 28 16:53:47 2016 +0200 Merge pull request #138 from SebKuzminsky/help-typo fix a cut-n-paste error in the -h help commit aade2c21fa4bdbeb129122d4b1832459e30aec82 Merge: a922d70 3197b6c Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 28 16:53:24 2016 +0200 Merge pull request #139 from azonenberg/master Add GreenPak4 LF oscillator support, renamed internal cell for consistency commit 3197b6c3721b4985b5a5e4223ce7092e27f750c7 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Mar 26 23:29:02 2016 -0700 Added GP_COUNT8/GP_COUNT14 cells commit 31a7567affb7425af1aa27d6dcda4666859ce62f Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Mar 26 14:13:52 2016 -0700 Changed GP_LFOSC parameter configuration commit 44fd3cd149786bc3aaf180af8ec83f790d9cebbe Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Mar 26 13:42:53 2016 -0700 Added GP_LFOSC cell commit af15b92c861f11d1f4b5016fed0cb8cb45af9175 Author: Andrew Zonenberg <azonenberg@drawersteak.com> Date: Sat Mar 26 13:42:41 2016 -0700 Renamed GP4_V* cells to GP_V* for consistency commit 73870c1edfb72a402d69394b5dc6b0a7dd5bb596 Author: Sebastian Kuzminsky <seb@highlab.com> Date: Sat Mar 26 11:15:35 2016 -0600 fix a cut-n-paste error in the -h help commit 963c0d2525c9d7af9a2c7640b554923f3a4f647e Author: Sergey Kvachonok <ravenexp@gmail.com> Date: Sat Mar 26 11:01:53 2016 +0300 Embed DATDIR make variable value into yosys binary. Use it as the last resort in the share/ directory location search. commit a922d705d4c5e5c2f0cfc59f31fa11901ef307e1 Merge: 5328a85 e14055e Author: Clifford Wolf <clifford@clifford.at> Date: Fri Mar 25 09:16:45 2016 +0100 Merge pull request #136 from ravenexp/master Minor Makefile adjustments commit e14055edf06f4551f220b3875a95d8c25b8b7aae Author: Sergey Kvachonok <ravenexp@gmail.com> Date: Fri Mar 25 08:47:45 2016 +0300 Optionally use ${CC} when compiling test utils. Default to gcc when not set. commit d53a16e43a6db35b15584e582c64cfac0f7e5e3d Author: Sergey Kvachonok <ravenexp@gmail.com> Date: Thu Mar 24 16:07:05 2016 +0300 Allow redefining pkg-config Makefile command. Example usage: $ make CXX=i686-w64-mingw32-g++ PKG_CONFIG=i686-w64-mingw32-pkg-config commit 972f4a9616006f6030d1627c65f5ced68aabfff4 Author: Sergey Kvachonok <ravenexp@gmail.com> Date: Thu Mar 24 12:18:21 2016 +0300 Allow redefining binary and data install locations. Add three more Makefile variables in addition to PREFIX: $ make BINDIR=/.../bin LIBDIR=/.../lib DATDIR=/.../share/yosys The defaults are: BINDIR = $(PREFIX)/bin LIBDIR = $(PREFIX)/lib DATDIR = $(PREFIX)/share/yosys commit 5328a851490588d6162ca0edaad5ed713bc75401 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 24 12:16:32 2016 +0100 Do not set "nosync" on task outputs, fixes #134 commit 9717495401e58a3d0a41113b541442227daa7cc3 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 23 08:56:08 2016 +0100 Fixed handling of inverters (aka 1-input luts) in nlutmap commit b4bf787f1091c79d6fed6ac1ec91ebadbceb8023 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 23 08:46:10 2016 +0100 Added GP_DFFS, GP_DFFR, and GP_DFFSR commit 456c10f16e5b535fc5aa95eacfabbe018fef2348 Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 23 08:12:54 2016 +0100 Added GP_DFF INIT parameter commit 4f2ea221dcdc632cdbb22f91403d076b61ec69ca Author: Clifford Wolf <clifford@clifford.at> Date: Tue Mar 22 14:46:10 2016 +0100 Added ast.h to exported headers commit 043fa0fad039287ee1b6a6fec3d925b9c7304af8 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 21 16:33:34 2016 +0100 Cleanup abstract modules at end of "hierarchy -top" commit 2c7e107d7a55a47fe6f6943e4541014649b57567 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 21 16:30:55 2016 +0100 Support for abstract modules in chparam commit 4f0d4899ce2c93f1f4eef685b03d9f06d4433429 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 21 16:19:51 2016 +0100 Added support for $stop system task commit ca8f8e30f20fd48127003486f1701ac17fd35aa6 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 21 09:44:52 2016 +0100 Improvements in synth_greenpak4, added -part option commit bb9374b67c583761f4bdc72dbd19a79940d51082 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Mar 19 20:02:40 2016 +0100 Improvements in ABCEXTERNAL handling commit b471a32ec3c563bcb02b84a15217beca18b409ab Merge: e5d42eb 2656b2c Author: Clifford Wolf <clifford@clifford.at> Date: Sat Mar 19 19:46:27 2016 +0100 Merge pull request #130 from ravenexp/master Support calling out to an external ABC. commit 2656b2c55a139bc158cb67b18dd201bd0f4cf0c6 Author: Sergey Kvachonok <ravenexp@gmail.com> Date: Sat Mar 19 18:36:18 2016 +0300 Support calling out to an external ABC. $ make ABCEXTERNAL=my-abc && make ABCEXTERNAL=my-abc install configures yosys to use an external ABC executable instead of building and installing the in-tree ABC copy (yosys-abc). commit e5d42ebb4d921aa9b9ad952b063f6ca2e3ffd9db Author: Clifford Wolf <clifford@clifford.at> Date: Sat Mar 19 11:51:13 2016 +0100 Added $display %m support, fixed mem leak in $display, fixes #128 commit ff5c61b1207304e97714d40d37c1627510cc08a8 Author: Clifford Wolf <clifford@clifford.at> Date: Sat Mar 19 11:09:10 2016 +0100 Added black box modules for all the 7-series design elements (as listed in ug953) commit ef4207d5ade8254c9b0f63cac2ad5fee310362d4 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Mar 18 12:15:00 2016 +0100 Fixed localparam signdness, fixes #127 commit b6d08f39baf508951ef36bedbd583f2b9fb48d1b Author: Clifford Wolf <clifford@clifford.at> Date: Fri Mar 18 10:53:29 2016 +0100 Set "nosync" attribute on internal task/function wires commit 33c10350b22a8cc943cf3c294ee86969c5ce97f4 Author: Clifford Wolf <clifford@clifford.at> Date: Tue Mar 15 12:22:31 2016 +0100 Fixed Verilog parser fix and more similar improvements commit 81d4e9e7c1c311f837dadb1634c83b4e70929669 Author: Andrew Becker <andrew.becker@epfl.ch> Date: Mon Mar 14 19:28:34 2016 +0100 Use left-recursive rule for cell_port_list in Verilog parser. commit 2a8d5e64f5a994fa8f4f51c00d647ad977e42e4b Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 14 13:03:28 2016 +0100 Bugfix in write_verilog for RTLIL processes commit dac807fb33a3619dea955ce4b16342e6e0008111 Author: Clifford Wolf <clifford@clifford.at> Date: Fri Mar 11 11:30:01 2016 +0100 Cleanups and improvements in examples/cmos/ commit 3265795154200786adbb399c6615915a6641f958 Merge: 35a6ad4 b34385e Author: Clifford Wolf <clifford@clifford.at> Date: Fri Mar 11 11:10:44 2016 +0100 Merge commit 'b34385ec924b6067c1f82bdbae923f8062518956' commit 35a6ad4cc162d0f6aeec5bab1fd52d6ca041d868 Author: Clifford Wolf <clifford@clifford.at> Date: Thu Mar 10 11:14:51 2016 +0100 Fixed typos in verilog_defaults help message commit d117893007baa506b702967ac6ee9f70af3c236a Author: Clifford Wolf <clifford@clifford.at> Date: Tue Mar 8 21:30:45 2016 +0100 Added "write_edif -nogndvcc" commit dcd4fb998435b13193a9816e54d4c6b9284d119b Author: Clifford Wolf <clifford@clifford.at> Date: Tue Mar 8 16:54:15 2016 +0100 Added examples/cxx-api/evaldemo.cc commit e7ed653771ab3483f988f4adfca5c635c10c3480 Merge: c4aaed0 b0ac32b Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 7 11:17:44 2016 +0100 Merge branch 'master' of github.com:cliffordwolf/yosys commit c4aaed099f948f8212898faecfc0f09027347928 Author: Clifford Wolf <clifford@clifford.at> Date: Mon Mar 7 11:14:11 2016 +0100 Using "mfs" and "lutpack" in ABC lut mapping commit b34385ec924b6067c1f82bdbae923f8062518956 Author: Uros Platise <uros@isotel.eu> Date: Sat Mar 5 08:34:05 2016 +0100 Completed ngspice digital example with verilog tb commit b0ac32bc03b340b26e0d3bb778af1c915722abdf Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 2 12:07:57 2016 +0100 Added digital (xspice) example code to examples/cmos/ commit 5547fae4cf2e254d2f35f76f5c0b07abec2376dd Author: Clifford Wolf <clifford@clifford.at> Date: Wed Mar 2 12:02:59 2016 +0100 Be more conservative with net names in spice output commit b36cad75f6d785559391ca7875d893f40736c305 Merge: c89f61c 7e6426a Author: Clifford Wolf <clifford@clifford.at> Date: Mon Feb 29 10:18:50 2016 +0100 Merge pull request #119 from SebKuzminsky/spelling-fixes user-facing spelling fixes commit 7e6426a67da352e0ea41f80b9303087545cb12ac Author: Sebastian Kuzminsky <seb@highlab.com> Date: Sun Feb 28 15:14:01 2016 -0700 user-facing spelling fixes "speciefied" -> "specified" "unkown" -> "unknown" commit 7c623182393aa2e8445336a99f0cfd4bc7c7e88f Author: eddiehung <e.hung@imperial.ac.uk> Date: Sun May 3 12:53:09 2015 +0100 Fix for all zero mask commit 079c1205fec6d194114b3d031d78a23cb8e0e7f9 Author: eddiehung <e.hung@imperial.ac.uk> Date: Sun May 3 10:37:20 2015 +0100 Escape '<' and '>' some more commit 872e13321c4c39997d3b14408224ef1c2fcc0821 Author: eddiehung <e.hung@imperial.ac.uk> Date: Tue Apr 28 08:56:00 2015 +0100 For vtr, escape angle brackets as well commit 058deb777e72458fa018e21eaf0322ca75b86fd7 Author: eddiehung <e.hung@imperial.ac.uk> Date: Tue Apr 28 08:55:26 2015 +0100 blifwriter: write out .names for true/false/undef type == '-'
Diffstat (limited to 'techlibs/xilinx')
-rw-r--r--techlibs/xilinx/Makefile.inc1
-rw-r--r--techlibs/xilinx/cells_xtra.sh145
-rw-r--r--techlibs/xilinx/cells_xtra.v3293
-rw-r--r--techlibs/xilinx/synth_xilinx.cc4
4 files changed, 3442 insertions, 1 deletions
diff --git a/techlibs/xilinx/Makefile.inc b/techlibs/xilinx/Makefile.inc
index ccf88ec7..5f09ffb0 100644
--- a/techlibs/xilinx/Makefile.inc
+++ b/techlibs/xilinx/Makefile.inc
@@ -21,6 +21,7 @@ techlibs/xilinx/brams_init_16.vh: techlibs/xilinx/brams_init.mk
$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/cells_map.v))
$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/cells_sim.v))
+$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/cells_xtra.v))
$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/brams.txt))
$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/brams_map.v))
$(eval $(call add_share_file,share/xilinx,techlibs/xilinx/brams_bb.v))
diff --git a/techlibs/xilinx/cells_xtra.sh b/techlibs/xilinx/cells_xtra.sh
new file mode 100644
index 00000000..c7ad1604
--- /dev/null
+++ b/techlibs/xilinx/cells_xtra.sh
@@ -0,0 +1,145 @@
+#!/bin/bash
+
+set -e
+libdir="/opt/Xilinx/Vivado/2015.4/data/verilog/src"
+
+function xtract_cell_decl()
+{
+ for dir in $libdir/xeclib $libdir/retarget; do
+ [ -f $dir/$1.v ] || continue
+ egrep '^\s*((end)?module|parameter|input|output|(end)?function|(end)?task)' $dir/$1.v |
+ sed -re '/UNPLACED/ d; /^\s*function/,/endfunction/ d; /^\s*task/,/endtask/ d;
+ s,//.*,,; s/#?\(.*/(...);/; s/^(input|output|parameter)/ \1/;
+ s/\s+$//; s/,$/;/; /input|output|parameter/ s/[^;]$/&;/; s/\s+/ /g;
+ s/^ ((end)?module)/\1/; s/^ / /; /module.*_bb/,/endmodule/ d;'
+ echo; return
+ done
+ echo "Can't find $1."
+ exit 1
+}
+
+{
+ echo "// Created by cells_xtra.sh from Xilinx models"
+ echo
+
+ # Design elements types listed in Xilinx UG953
+ xtract_cell_decl BSCANE2
+ # xtract_cell_decl BUFG
+ xtract_cell_decl BUFGCE
+ xtract_cell_decl BUFGCE_1
+ xtract_cell_decl BUFGCTRL
+ xtract_cell_decl BUFGMUX
+ xtract_cell_decl BUFGMUX_1
+ xtract_cell_decl BUFGMUX_CTRL
+ xtract_cell_decl BUFH
+ xtract_cell_decl BUFHCE
+ xtract_cell_decl BUFIO
+ xtract_cell_decl BUFMR
+ xtract_cell_decl BUFMRCE
+ xtract_cell_decl BUFR
+ xtract_cell_decl CAPTUREE2
+ # xtract_cell_decl CARRY4
+ xtract_cell_decl CFGLUT5
+ xtract_cell_decl DCIRESET
+ xtract_cell_decl DNA_PORT
+ xtract_cell_decl DSP48E1
+ xtract_cell_decl EFUSE_USR
+ # xtract_cell_decl FDCE
+ # xtract_cell_decl FDPE
+ # xtract_cell_decl FDRE
+ # xtract_cell_decl FDSE
+ xtract_cell_decl FIFO18E1
+ xtract_cell_decl FIFO36E1
+ xtract_cell_decl FRAME_ECCE2
+ xtract_cell_decl GTHE2_CHANNEL
+ xtract_cell_decl GTHE2_COMMON
+ xtract_cell_decl GTPE2_CHANNEL
+ xtract_cell_decl GTPE2_COMMON
+ xtract_cell_decl GTXE2_CHANNEL
+ xtract_cell_decl GTXE2_COMMON
+ # xtract_cell_decl IBUF
+ xtract_cell_decl IBUF_IBUFDISABLE
+ xtract_cell_decl IBUF_INTERMDISABLE
+ xtract_cell_decl IBUFDS
+ xtract_cell_decl IBUFDS_DIFF_OUT
+ xtract_cell_decl IBUFDS_DIFF_OUT_IBUFDISABLE
+ xtract_cell_decl IBUFDS_DIFF_OUT_INTERMDISABLE
+ xtract_cell_decl IBUFDS_GTE2
+ xtract_cell_decl IBUFDS_IBUFDISABLE
+ xtract_cell_decl IBUFDS_INTERMDISABLE
+ xtract_cell_decl ICAPE2
+ xtract_cell_decl IDDR
+ xtract_cell_decl IDDR_2CLK
+ xtract_cell_decl IDELAYCTRL
+ xtract_cell_decl IDELAYE2
+ xtract_cell_decl IN_FIFO
+ xtract_cell_decl IOBUF
+ xtract_cell_decl IOBUF_DCIEN
+ xtract_cell_decl IOBUF_INTERMDISABLE
+ xtract_cell_decl IOBUFDS
+ xtract_cell_decl IOBUFDS_DCIEN
+ xtract_cell_decl IOBUFDS_DIFF_OUT
+ xtract_cell_decl IOBUFDS_DIFF_OUT_DCIEN
+ xtract_cell_decl IOBUFDS_DIFF_OUT_INTERMDISABLE
+ xtract_cell_decl ISERDESE2
+ xtract_cell_decl KEEPER
+ xtract_cell_decl LDCE
+ xtract_cell_decl LDPE
+ # xtract_cell_decl LUT1
+ # xtract_cell_decl LUT2
+ # xtract_cell_decl LUT3
+ # xtract_cell_decl LUT4
+ # xtract_cell_decl LUT5
+ # xtract_cell_decl LUT6
+ xtract_cell_decl LUT6_2
+ xtract_cell_decl MMCME2_ADV
+ xtract_cell_decl MMCME2_BASE
+ # xtract_cell_decl MUXF7
+ # xtract_cell_decl MUXF8
+ # xtract_cell_decl OBUF
+ xtract_cell_decl OBUFDS
+ xtract_cell_decl OBUFT
+ xtract_cell_decl OBUFTDS
+ xtract_cell_decl ODDR
+ xtract_cell_decl ODELAYE2
+ xtract_cell_decl OSERDESE2
+ xtract_cell_decl OUT_FIFO
+ xtract_cell_decl PHASER_IN
+ xtract_cell_decl PHASER_IN_PHY
+ xtract_cell_decl PHASER_OUT
+ xtract_cell_decl PHASER_OUT_PHY
+ xtract_cell_decl PHASER_REF
+ xtract_cell_decl PHY_CONTROL
+ xtract_cell_decl PLLE2_ADV
+ xtract_cell_decl PLLE2_BASE
+ xtract_cell_decl PULLDOWN
+ xtract_cell_decl PULLUP
+ # xtract_cell_decl RAM128X1D
+ xtract_cell_decl RAM128X1S
+ xtract_cell_decl RAM256X1S
+ xtract_cell_decl RAM32M
+ xtract_cell_decl RAM32X1D
+ xtract_cell_decl RAM32X1S
+ xtract_cell_decl RAM32X1S_1
+ xtract_cell_decl RAM32X2S
+ xtract_cell_decl RAM64M
+ # xtract_cell_decl RAM64X1D
+ xtract_cell_decl RAM64X1S
+ xtract_cell_decl RAM64X1S_1
+ xtract_cell_decl RAM64X2S
+ # xtract_cell_decl RAMB18E1
+ # xtract_cell_decl RAMB36E1
+ xtract_cell_decl ROM128X1
+ xtract_cell_decl ROM256X1
+ xtract_cell_decl ROM32X1
+ xtract_cell_decl ROM64X1
+ xtract_cell_decl SRL16E
+ xtract_cell_decl SRLC32E
+ xtract_cell_decl STARTUPE2
+ xtract_cell_decl USR_ACCESSE2
+ xtract_cell_decl XADC
+} > cells_xtra.new
+
+mv cells_xtra.new cells_xtra.v
+exit 0
+
diff --git a/techlibs/xilinx/cells_xtra.v b/techlibs/xilinx/cells_xtra.v
new file mode 100644
index 00000000..a2dd01ad
--- /dev/null
+++ b/techlibs/xilinx/cells_xtra.v
@@ -0,0 +1,3293 @@
+// Created by cells_xtra.sh from Xilinx models
+
+module BSCANE2 (...);
+ parameter DISABLE_JTAG = "FALSE";
+ parameter integer JTAG_CHAIN = 1;
+ output CAPTURE;
+ output DRCK;
+ output RESET;
+ output RUNTEST;
+ output SEL;
+ output SHIFT;
+ output TCK;
+ output TDI;
+ output TMS;
+ output UPDATE;
+ input TDO;
+endmodule
+
+module BUFGCE (...);
+ parameter CE_TYPE = "SYNC";
+ parameter [0:0] IS_CE_INVERTED = 1'b0;
+ parameter [0:0] IS_I_INVERTED = 1'b0;
+ output O;
+ input CE;
+ input I;
+endmodule
+
+module BUFGCE_1 (...);
+ output O;
+ input CE, I;
+endmodule
+
+module BUFGCTRL (...);
+ output O;
+ input CE0;
+ input CE1;
+ input I0;
+ input I1;
+ input IGNORE0;
+ input IGNORE1;
+ input S0;
+ input S1;
+ parameter integer INIT_OUT = 0;
+ parameter PRESELECT_I0 = "FALSE";
+ parameter PRESELECT_I1 = "FALSE";
+ parameter [0:0] IS_CE0_INVERTED = 1'b0;
+ parameter [0:0] IS_CE1_INVERTED = 1'b0;
+ parameter [0:0] IS_I0_INVERTED = 1'b0;
+ parameter [0:0] IS_I1_INVERTED = 1'b0;
+ parameter [0:0] IS_IGNORE0_INVERTED = 1'b0;
+ parameter [0:0] IS_IGNORE1_INVERTED = 1'b0;
+ parameter [0:0] IS_S0_INVERTED = 1'b0;
+ parameter [0:0] IS_S1_INVERTED = 1'b0;
+endmodule
+
+module BUFGMUX (...);
+ parameter CLK_SEL_TYPE = "SYNC";
+ output O;
+ input I0, I1, S;
+endmodule
+
+module BUFGMUX_1 (...);
+ parameter CLK_SEL_TYPE = "SYNC";
+ output O;
+ input I0, I1, S;
+endmodule
+
+module BUFGMUX_CTRL (...);
+ output O;
+ input I0;
+ input I1;
+ input S;
+endmodule
+
+module BUFH (...);
+ output O;
+ input I;
+endmodule
+
+module BUFHCE (...);
+ parameter CE_TYPE = "SYNC";
+ parameter integer INIT_OUT = 0;
+ parameter [0:0] IS_CE_INVERTED = 1'b0;
+ output O;
+ input CE;
+ input I;
+endmodule
+
+module BUFIO (...);
+ output O;
+ input I;
+endmodule
+
+module BUFMR (...);
+ output O;
+ input I;
+endmodule
+
+module BUFMRCE (...);
+ parameter CE_TYPE = "SYNC";
+ parameter integer INIT_OUT = 0;
+ parameter [0:0] IS_CE_INVERTED = 1'b0;
+ output O;
+ input CE;
+ input I;
+endmodule
+
+module BUFR (...);
+ output O;
+ input CE;
+ input CLR;
+ input I;
+ parameter BUFR_DIVIDE = "BYPASS";
+ parameter SIM_DEVICE = "7SERIES";
+endmodule
+
+module CAPTUREE2 (...);
+ parameter ONESHOT = "TRUE";
+ input CAP;
+ input CLK;
+endmodule
+
+module CFGLUT5 (...);
+ parameter [31:0] INIT = 32'h00000000;
+ parameter [0:0] IS_CLK_INVERTED = 1'b0;
+ output CDO;
+ output O5;
+ output O6;
+ input I4, I3, I2, I1, I0;
+ input CDI, CE, CLK;
+endmodule
+
+module DCIRESET (...);
+ output LOCKED;
+ input RST;
+endmodule
+
+module DNA_PORT (...);
+ parameter [56:0] SIM_DNA_VALUE = 57'h0;
+ output DOUT;
+ input CLK, DIN, READ, SHIFT;
+endmodule
+
+module DSP48E1 (...);
+ parameter integer ACASCREG = 1;
+ parameter integer ADREG = 1;
+ parameter integer ALUMODEREG = 1;
+ parameter integer AREG = 1;
+ parameter AUTORESET_PATDET = "NO_RESET";
+ parameter A_INPUT = "DIRECT";
+ parameter integer BCASCREG = 1;
+ parameter integer BREG = 1;
+ parameter B_INPUT = "DIRECT";
+ parameter integer CARRYINREG = 1;
+ parameter integer CARRYINSELREG = 1;
+ parameter integer CREG = 1;
+ parameter integer DREG = 1;
+ parameter integer INMODEREG = 1;
+ parameter integer MREG = 1;
+ parameter integer OPMODEREG = 1;
+ parameter integer PREG = 1;
+ parameter SEL_MASK = "MASK";
+ parameter SEL_PATTERN = "PATTERN";
+ parameter USE_DPORT = "FALSE";
+ parameter USE_MULT = "MULTIPLY";
+ parameter USE_PATTERN_DETECT = "NO_PATDET";
+ parameter USE_SIMD = "ONE48";
+ parameter [47:0] MASK = 48'h3FFFFFFFFFFF;
+ parameter [47:0] PATTERN = 48'h000000000000;
+ parameter [3:0] IS_ALUMODE_INVERTED = 4'b0;
+ parameter [0:0] IS_CARRYIN_INVERTED = 1'b0;
+ parameter [0:0] IS_CLK_INVERTED = 1'b0;
+ parameter [4:0] IS_INMODE_INVERTED = 5'b0;
+ parameter [6:0] IS_OPMODE_INVERTED = 7'b0;
+ output [29:0] ACOUT;
+ output [17:0] BCOUT;
+ output CARRYCASCOUT;
+ output [3:0] CARRYOUT;
+ output MULTSIGNOUT;
+ output OVERFLOW;
+ output [47:0] P;
+ output PATTERNBDETECT;
+ output PATTERNDETECT;
+ output [47:0] PCOUT;
+ output UNDERFLOW;
+ input [29:0] A;
+ input [29:0] ACIN;
+ input [3:0] ALUMODE;
+ input [17:0] B;
+ input [17:0] BCIN;
+ input [47:0] C;
+ input CARRYCASCIN;
+ input CARRYIN;
+ input [2:0] CARRYINSEL;
+ input CEA1;
+ input CEA2;
+ input CEAD;
+ input CEALUMODE;
+ input CEB1;
+ input CEB2;
+ input CEC;
+ input CECARRYIN;
+ input CECTRL;
+ input CED;
+ input CEINMODE;
+ input CEM;
+ input CEP;
+ input CLK;
+ input [24:0] D;
+ input [4:0] INMODE;
+ input MULTSIGNIN;
+ input [6:0] OPMODE;
+ input [47:0] PCIN;
+ input RSTA;
+ input RSTALLCARRYIN;
+ input RSTALUMODE;
+ input RSTB;
+ input RSTC;
+ input RSTCTRL;
+ input RSTD;
+ input RSTINMODE;
+ input RSTM;
+ input RSTP;
+endmodule
+
+module EFUSE_USR (...);
+ parameter [31:0] SIM_EFUSE_VALUE = 32'h00000000;
+ output [31:0] EFUSEUSR;
+endmodule
+
+module FIFO18E1 (...);
+ parameter ALMOST_EMPTY_OFFSET = 13'h0080;
+ parameter ALMOST_FULL_OFFSET = 13'h0080;
+ parameter integer DATA_WIDTH = 4;
+ parameter integer DO_REG = 1;
+ parameter EN_SYN = "FALSE";
+ parameter FIFO_MODE = "FIFO18";
+ parameter FIRST_WORD_FALL_THROUGH = "FALSE";
+ parameter INIT = 36'h0;
+ parameter SIM_DEVICE = "VIRTEX6";
+ parameter SRVAL = 36'h0;
+ parameter IS_RDCLK_INVERTED = 1'b0;
+ parameter IS_RDEN_INVERTED = 1'b0;
+ parameter IS_RSTREG_INVERTED = 1'b0;
+ parameter IS_RST_INVERTED = 1'b0;
+ parameter IS_WRCLK_INVERTED = 1'b0;
+ parameter IS_WREN_INVERTED = 1'b0;
+ output ALMOSTEMPTY;
+ output ALMOSTFULL;
+ output [31:0] DO;
+ output [3:0] DOP;
+ output EMPTY;
+ output FULL;
+ output [11:0] RDCOUNT;
+ output RDERR;
+ output [11:0] WRCOUNT;
+ output WRERR;
+ input [31:0] DI;
+ input [3:0] DIP;
+ input RDCLK;
+ input RDEN;
+ input REGCE;
+ input RST;
+ input RSTREG;
+ input WRCLK;
+ input WREN;
+endmodule
+
+module FIFO36E1 (...);
+ parameter ALMOST_EMPTY_OFFSET = 13'h0080;
+ parameter ALMOST_FULL_OFFSET = 13'h0080;
+ parameter integer DATA_WIDTH = 4;
+ parameter integer DO_REG = 1;
+ parameter EN_ECC_READ = "FALSE";
+ parameter EN_ECC_WRITE = "FALSE";
+ parameter EN_SYN = "FALSE";
+ parameter FIFO_MODE = "FIFO36";
+ parameter FIRST_WORD_FALL_THROUGH = "FALSE";
+ parameter INIT = 72'h0;
+ parameter SIM_DEVICE = "VIRTEX6";
+ parameter SRVAL = 72'h0;
+ parameter IS_RDCLK_INVERTED = 1'b0;
+ parameter IS_RDEN_INVERTED = 1'b0;
+ parameter IS_RSTREG_INVERTED = 1'b0;
+ parameter IS_RST_INVERTED = 1'b0;
+ parameter IS_WRCLK_INVERTED = 1'b0;
+ parameter IS_WREN_INVERTED = 1'b0;
+ output ALMOSTEMPTY;
+ output ALMOSTFULL;
+ output DBITERR;
+ output [63:0] DO;
+ output [7:0] DOP;
+ output [7:0] ECCPARITY;
+ output EMPTY;
+ output FULL;
+ output [12:0] RDCOUNT;
+ output RDERR;
+ output SBITERR;
+ output [12:0] WRCOUNT;
+ output WRERR;
+ input [63:0] DI;
+ input [7:0] DIP;
+ input INJECTDBITERR;
+ input INJECTSBITERR;
+ input RDCLK;
+ input RDEN;
+ input REGCE;
+ input RST;
+ input RSTREG;
+ input WRCLK;
+ input WREN;
+endmodule
+
+module FRAME_ECCE2 (...);
+ parameter FARSRC = "EFAR";
+ parameter FRAME_RBT_IN_FILENAME = "NONE";
+ output CRCERROR;
+ output ECCERROR;
+ output ECCERRORSINGLE;
+ output SYNDROMEVALID;
+ output [12:0] SYNDROME;
+ output [25:0] FAR;
+ output [4:0] SYNBIT;
+ output [6:0] SYNWORD;
+endmodule
+
+module GTHE2_CHANNEL (...);
+ parameter [0:0] ACJTAG_DEBUG_MODE = 1'b0;
+ parameter [0:0] ACJTAG_MODE = 1'b0;
+ parameter [0:0] ACJTAG_RESET = 1'b0;
+ parameter [19:0] ADAPT_CFG0 = 20'h00C10;
+ parameter ALIGN_COMMA_DOUBLE = "FALSE";
+ parameter [9:0] ALIGN_COMMA_ENABLE = 10'b0001111111;
+ parameter integer ALIGN_COMMA_WORD = 1;
+ parameter ALIGN_MCOMMA_DET = "TRUE";
+ parameter [9:0] ALIGN_MCOMMA_VALUE = 10'b1010000011;
+ parameter ALIGN_PCOMMA_DET = "TRUE";
+ parameter [9:0] ALIGN_PCOMMA_VALUE = 10'b0101111100;
+ parameter [0:0] A_RXOSCALRESET = 1'b0;
+ parameter CBCC_DATA_SOURCE_SEL = "DECODED";
+ parameter [41:0] CFOK_CFG = 42'h24800040E80;
+ parameter [5:0] CFOK_CFG2 = 6'b100000;
+ parameter [5:0] CFOK_CFG3 = 6'b100000;
+ parameter CHAN_BOND_KEEP_ALIGN = "FALSE";
+ parameter integer CHAN_BOND_MAX_SKEW = 7;
+ parameter [9:0] CHAN_BOND_SEQ_1_1 = 10'b0101111100;
+ parameter [9:0] CHAN_BOND_SEQ_1_2 = 10'b0000000000;
+ parameter [9:0] CHAN_BOND_SEQ_1_3 = 10'b0000000000;
+ parameter [9:0] CHAN_BOND_SEQ_1_4 = 10'b0000000000;
+ parameter [3:0] CHAN_BOND_SEQ_1_ENABLE = 4'b1111;
+ parameter [9:0] CHAN_BOND_SEQ_2_1 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_2 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_3 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_4 = 10'b0100000000;
+ parameter [3:0] CHAN_BOND_SEQ_2_ENABLE = 4'b1111;
+ parameter CHAN_BOND_SEQ_2_USE = "FALSE";
+ parameter integer CHAN_BOND_SEQ_LEN = 1;
+ parameter CLK_CORRECT_USE = "TRUE";
+ parameter CLK_COR_KEEP_IDLE = "FALSE";
+ parameter integer CLK_COR_MAX_LAT = 20;
+ parameter integer CLK_COR_MIN_LAT = 18;
+ parameter CLK_COR_PRECEDENCE = "TRUE";
+ parameter integer CLK_COR_REPEAT_WAIT = 0;
+ parameter [9:0] CLK_COR_SEQ_1_1 = 10'b0100011100;
+ parameter [9:0] CLK_COR_SEQ_1_2 = 10'b0000000000;
+ parameter [9:0] CLK_COR_SEQ_1_3 = 10'b0000000000;
+ parameter [9:0] CLK_COR_SEQ_1_4 = 10'b0000000000;
+ parameter [3:0] CLK_COR_SEQ_1_ENABLE = 4'b1111;
+ parameter [9:0] CLK_COR_SEQ_2_1 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_2 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_3 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_4 = 10'b0100000000;
+ parameter [3:0] CLK_COR_SEQ_2_ENABLE = 4'b1111;
+ parameter CLK_COR_SEQ_2_USE = "FALSE";
+ parameter integer CLK_COR_SEQ_LEN = 1;
+ parameter [28:0] CPLL_CFG = 29'h00BC07DC;
+ parameter integer CPLL_FBDIV = 4;
+ parameter integer CPLL_FBDIV_45 = 5;
+ parameter [23:0] CPLL_INIT_CFG = 24'h00001E;
+ parameter [15:0] CPLL_LOCK_CFG = 16'h01E8;
+ parameter integer CPLL_REFCLK_DIV = 1;
+ parameter DEC_MCOMMA_DETECT = "TRUE";
+ parameter DEC_PCOMMA_DETECT = "TRUE";
+ parameter DEC_VALID_COMMA_ONLY = "TRUE";
+ parameter [23:0] DMONITOR_CFG = 24'h000A00;
+ parameter [0:0] ES_CLK_PHASE_SEL = 1'b0;
+ parameter [5:0] ES_CONTROL = 6'b000000;
+ parameter ES_ERRDET_EN = "FALSE";
+ parameter ES_EYE_SCAN_EN = "TRUE";
+ parameter [11:0] ES_HORZ_OFFSET = 12'h000;
+ parameter [9:0] ES_PMA_CFG = 10'b0000000000;
+ parameter [4:0] ES_PRESCALE = 5'b00000;
+ parameter [79:0] ES_QUALIFIER = 80'h00000000000000000000;
+ parameter [79:0] ES_QUAL_MASK = 80'h00000000000000000000;
+ parameter [79:0] ES_SDATA_MASK = 80'h00000000000000000000;
+ parameter [8:0] ES_VERT_OFFSET = 9'b000000000;
+ parameter [3:0] FTS_DESKEW_SEQ_ENABLE = 4'b1111;
+ parameter [3:0] FTS_LANE_DESKEW_CFG = 4'b1111;
+ parameter FTS_LANE_DESKEW_EN = "FALSE";
+ parameter [2:0] GEARBOX_MODE = 3'b000;
+ parameter [0:0] IS_CLKRSVD0_INVERTED = 1'b0;
+ parameter [0:0] IS_CLKRSVD1_INVERTED = 1'b0;
+ parameter [0:0] IS_CPLLLOCKDETCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_DMONITORCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_DRPCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_GTGREFCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_RXUSRCLK2_INVERTED = 1'b0;
+ parameter [0:0] IS_RXUSRCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_SIGVALIDCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_TXPHDLYTSTCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_TXUSRCLK2_INVERTED = 1'b0;
+ parameter [0:0] IS_TXUSRCLK_INVERTED = 1'b0;
+ parameter [0:0] LOOPBACK_CFG = 1'b0;
+ parameter [1:0] OUTREFCLK_SEL_INV = 2'b11;
+ parameter PCS_PCIE_EN = "FALSE";
+ parameter [47:0] PCS_RSVD_ATTR = 48'h000000000000;
+ parameter [11:0] PD_TRANS_TIME_FROM_P2 = 12'h03C;
+ parameter [7:0] PD_TRANS_TIME_NONE_P2 = 8'h19;
+ parameter [7:0] PD_TRANS_TIME_TO_P2 = 8'h64;
+ parameter [31:0] PMA_RSV = 32'b00000000000000000000000010000000;
+ parameter [31:0] PMA_RSV2 = 32'b00011100000000000000000000001010;
+ parameter [1:0] PMA_RSV3 = 2'b00;
+ parameter [14:0] PMA_RSV4 = 15'b000000000001000;
+ parameter [3:0] PMA_RSV5 = 4'b0000;
+ parameter [0:0] RESET_POWERSAVE_DISABLE = 1'b0;
+ parameter [4:0] RXBUFRESET_TIME = 5'b00001;
+ parameter RXBUF_ADDR_MODE = "FULL";
+ parameter [3:0] RXBUF_EIDLE_HI_CNT = 4'b1000;
+ parameter [3:0] RXBUF_EIDLE_LO_CNT = 4'b0000;
+ parameter RXBUF_EN = "TRUE";
+ parameter RXBUF_RESET_ON_CB_CHANGE = "TRUE";
+ parameter RXBUF_RESET_ON_COMMAALIGN = "FALSE";
+ parameter RXBUF_RESET_ON_EIDLE = "FALSE";
+ parameter RXBUF_RESET_ON_RATE_CHANGE = "TRUE";
+ parameter integer RXBUF_THRESH_OVFLW = 61;
+ parameter RXBUF_THRESH_OVRD = "FALSE";
+ parameter integer RXBUF_THRESH_UNDFLW = 4;
+ parameter [4:0] RXCDRFREQRESET_TIME = 5'b00001;
+ parameter [4:0] RXCDRPHRESET_TIME = 5'b00001;
+ parameter [82:0] RXCDR_CFG = 83'h0002007FE2000C208001A;
+ parameter [0:0] RXCDR_FR_RESET_ON_EIDLE = 1'b0;
+ parameter [0:0] RXCDR_HOLD_DURING_EIDLE = 1'b0;
+ parameter [5:0] RXCDR_LOCK_CFG = 6'b001001;
+ parameter [0:0] RXCDR_PH_RESET_ON_EIDLE = 1'b0;
+ parameter [6:0] RXDFELPMRESET_TIME = 7'b0001111;
+ parameter [15:0] RXDLY_CFG = 16'h001F;
+ parameter [8:0] RXDLY_LCFG = 9'h030;
+ parameter [15:0] RXDLY_TAP_CFG = 16'h0000;
+ parameter RXGEARBOX_EN = "FALSE";
+ parameter [4:0] RXISCANRESET_TIME = 5'b00001;
+ parameter [13:0] RXLPM_HF_CFG = 14'b00001000000000;
+ parameter [17:0] RXLPM_LF_CFG = 18'b001001000000000000;
+ parameter [6:0] RXOOB_CFG = 7'b0000110;
+ parameter RXOOB_CLK_CFG = "PMA";
+ parameter [4:0] RXOSCALRESET_TIME = 5'b00011;
+ parameter [4:0] RXOSCALRESET_TIMEOUT = 5'b00000;
+ parameter integer RXOUT_DIV = 2;
+ parameter [4:0] RXPCSRESET_TIME = 5'b00001;
+ parameter [23:0] RXPHDLY_CFG = 24'h084020;
+ parameter [23:0] RXPH_CFG = 24'hC00002;
+ parameter [4:0] RXPH_MONITOR_SEL = 5'b00000;
+ parameter [1:0] RXPI_CFG0 = 2'b00;
+ parameter [1:0] RXPI_CFG1 = 2'b00;
+ parameter [1:0] RXPI_CFG2 = 2'b00;
+ parameter [1:0] RXPI_CFG3 = 2'b00;
+ parameter [0:0] RXPI_CFG4 = 1'b0;
+ parameter [0:0] RXPI_CFG5 = 1'b0;
+ parameter [2:0] RXPI_CFG6 = 3'b100;
+ parameter [4:0] RXPMARESET_TIME = 5'b00011;
+ parameter [0:0] RXPRBS_ERR_LOOPBACK = 1'b0;
+ parameter integer RXSLIDE_AUTO_WAIT = 7;
+ parameter RXSLIDE_MODE = "OFF";
+ parameter [0:0] RXSYNC_MULTILANE = 1'b0;
+ parameter [0:0] RXSYNC_OVRD = 1'b0;
+ parameter [0:0] RXSYNC_SKIP_DA = 1'b0;
+ parameter [23:0] RX_BIAS_CFG = 24'b000011000000000000010000;
+ parameter [5:0] RX_BUFFER_CFG = 6'b000000;
+ parameter integer RX_CLK25_DIV = 7;
+ parameter [0:0] RX_CLKMUX_PD = 1'b1;
+ parameter [1:0] RX_CM_SEL = 2'b11;
+ parameter [3:0] RX_CM_TRIM = 4'b0100;
+ parameter integer RX_DATA_WIDTH = 20;
+ parameter [5:0] RX_DDI_SEL = 6'b000000;
+ parameter [13:0] RX_DEBUG_CFG = 14'b00000000000000;
+ parameter RX_DEFER_RESET_BUF_EN = "TRUE";
+ parameter [3:0] RX_DFELPM_CFG0 = 4'b0110;
+ parameter [0:0] RX_DFELPM_CFG1 = 1'b0;
+ parameter [0:0] RX_DFELPM_KLKH_AGC_STUP_EN = 1'b1;
+ parameter [1:0] RX_DFE_AGC_CFG0 = 2'b00;
+ parameter [2:0] RX_DFE_AGC_CFG1 = 3'b010;
+ parameter [3:0] RX_DFE_AGC_CFG2 = 4'b0000;
+ parameter [0:0] RX_DFE_AGC_OVRDEN = 1'b1;
+ parameter [22:0] RX_DFE_GAIN_CFG = 23'h0020C0;
+ parameter [11:0] RX_DFE_H2_CFG = 12'b000000000000;
+ parameter [11:0] RX_DFE_H3_CFG = 12'b000001000000;
+ parameter [10:0] RX_DFE_H4_CFG = 11'b00011100000;
+ parameter [10:0] RX_DFE_H5_CFG = 11'b00011100000;
+ parameter [10:0] RX_DFE_H6_CFG = 11'b00000100000;
+ parameter [10:0] RX_DFE_H7_CFG = 11'b00000100000;
+ parameter [32:0] RX_DFE_KL_CFG = 33'b000000000000000000000001100010000;
+ parameter [1:0] RX_DFE_KL_LPM_KH_CFG0 = 2'b01;
+ parameter [2:0] RX_DFE_KL_LPM_KH_CFG1 = 3'b010;
+ parameter [3:0] RX_DFE_KL_LPM_KH_CFG2 = 4'b0010;
+ parameter [0:0] RX_DFE_KL_LPM_KH_OVRDEN = 1'b1;
+ parameter [1:0] RX_DFE_KL_LPM_KL_CFG0 = 2'b10;
+ parameter [2:0] RX_DFE_KL_LPM_KL_CFG1 = 3'b010;
+ parameter [3:0] RX_DFE_KL_LPM_KL_CFG2 = 4'b0010;
+ parameter [0:0] RX_DFE_KL_LPM_KL_OVRDEN = 1'b1;
+ parameter [15:0] RX_DFE_LPM_CFG = 16'h0080;
+ parameter [0:0] RX_DFE_LPM_HOLD_DURING_EIDLE = 1'b0;
+ parameter [53:0] RX_DFE_ST_CFG = 54'h00E100000C003F;
+ parameter [16:0] RX_DFE_UT_CFG = 17'b00011100000000000;
+ parameter [16:0] RX_DFE_VP_CFG = 17'b00011101010100011;
+ parameter RX_DISPERR_SEQ_MATCH = "TRUE";
+ parameter integer RX_INT_DATAWIDTH = 0;
+ parameter [12:0] RX_OS_CFG = 13'b0000010000000;
+ parameter integer RX_SIG_VALID_DLY = 10;
+ parameter RX_XCLK_SEL = "RXREC";
+ parameter integer SAS_MAX_COM = 64;
+ parameter integer SAS_MIN_COM = 36;
+ parameter [3:0] SATA_BURST_SEQ_LEN = 4'b1111;
+ parameter [2:0] SATA_BURST_VAL = 3'b100;
+ parameter SATA_CPLL_CFG = "VCO_3000MHZ";
+ parameter [2:0] SATA_EIDLE_VAL = 3'b100;
+ parameter integer SATA_MAX_BURST = 8;
+ parameter integer SATA_MAX_INIT = 21;
+ parameter integer SATA_MAX_WAKE = 7;
+ parameter integer SATA_MIN_BURST = 4;
+ parameter integer SATA_MIN_INIT = 12;
+ parameter integer SATA_MIN_WAKE = 4;
+ parameter SHOW_REALIGN_COMMA = "TRUE";
+ parameter [2:0] SIM_CPLLREFCLK_SEL = 3'b001;
+ parameter SIM_RECEIVER_DETECT_PASS = "TRUE";
+ parameter SIM_RESET_SPEEDUP = "TRUE";
+ parameter SIM_TX_EIDLE_DRIVE_LEVEL = "X";
+ parameter SIM_VERSION = "1.1";
+ parameter [14:0] TERM_RCAL_CFG = 15'b100001000010000;
+ parameter [2:0] TERM_RCAL_OVRD = 3'b000;
+ parameter [7:0] TRANS_TIME_RATE = 8'h0E;
+ parameter [31:0] TST_RSV = 32'h00000000;
+ parameter TXBUF_EN = "TRUE";
+ parameter TXBUF_RESET_ON_RATE_CHANGE = "FALSE";
+ parameter [15:0] TXDLY_CFG = 16'h001F;
+ parameter [8:0] TXDLY_LCFG = 9'h030;
+ parameter [15:0] TXDLY_TAP_CFG = 16'h0000;
+ parameter TXGEARBOX_EN = "FALSE";
+ parameter [0:0] TXOOB_CFG = 1'b0;
+ parameter integer TXOUT_DIV = 2;
+ parameter [4:0] TXPCSRESET_TIME = 5'b00001;
+ parameter [23:0] TXPHDLY_CFG = 24'h084020;
+ parameter [15:0] TXPH_CFG = 16'h0780;
+ parameter [4:0] TXPH_MONITOR_SEL = 5'b00000;
+ parameter [1:0] TXPI_CFG0 = 2'b00;
+ parameter [1:0] TXPI_CFG1 = 2'b00;
+ parameter [1:0] TXPI_CFG2 = 2'b00;
+ parameter [0:0] TXPI_CFG3 = 1'b0;
+ parameter [0:0] TXPI_CFG4 = 1'b0;
+ parameter [2:0] TXPI_CFG5 = 3'b100;
+ parameter [0:0] TXPI_GREY_SEL = 1'b0;
+ parameter [0:0] TXPI_INVSTROBE_SEL = 1'b0;
+ parameter TXPI_PPMCLK_SEL = "TXUSRCLK2";
+ parameter [7:0] TXPI_PPM_CFG = 8'b00000000;
+ parameter [2:0] TXPI_SYNFREQ_PPM = 3'b000;
+ parameter [4:0] TXPMARESET_TIME = 5'b00001;
+ parameter [0:0] TXSYNC_MULTILANE = 1'b0;
+ parameter [0:0] TXSYNC_OVRD = 1'b0;
+ parameter [0:0] TXSYNC_SKIP_DA = 1'b0;
+ parameter integer TX_CLK25_DIV = 7;
+ parameter [0:0] TX_CLKMUX_PD = 1'b1;
+ parameter integer TX_DATA_WIDTH = 20;
+ parameter [5:0] TX_DEEMPH0 = 6'b000000;
+ parameter [5:0] TX_DEEMPH1 = 6'b000000;
+ parameter TX_DRIVE_MODE = "DIRECT";
+ parameter [2:0] TX_EIDLE_ASSERT_DELAY = 3'b110;
+ parameter [2:0] TX_EIDLE_DEASSERT_DELAY = 3'b100;
+ parameter integer TX_INT_DATAWIDTH = 0;
+ parameter TX_LOOPBACK_DRIVE_HIZ = "FALSE";
+ parameter [0:0] TX_MAINCURSOR_SEL = 1'b0;
+ parameter [6:0] TX_MARGIN_FULL_0 = 7'b1001110;
+ parameter [6:0] TX_MARGIN_FULL_1 = 7'b1001001;
+ parameter [6:0] TX_MARGIN_FULL_2 = 7'b1000101;
+ parameter [6:0] TX_MARGIN_FULL_3 = 7'b1000010;
+ parameter [6:0] TX_MARGIN_FULL_4 = 7'b1000000;
+ parameter [6:0] TX_MARGIN_LOW_0 = 7'b1000110;
+ parameter [6:0] TX_MARGIN_LOW_1 = 7'b1000100;
+ parameter [6:0] TX_MARGIN_LOW_2 = 7'b1000010;
+ parameter [6:0] TX_MARGIN_LOW_3 = 7'b1000000;
+ parameter [6:0] TX_MARGIN_LOW_4 = 7'b1000000;
+ parameter [0:0] TX_QPI_STATUS_EN = 1'b0;
+ parameter [13:0] TX_RXDETECT_CFG = 14'h1832;
+ parameter [16:0] TX_RXDETECT_PRECHARGE_TIME = 17'h00000;
+ parameter [2:0] TX_RXDETECT_REF = 3'b100;
+ parameter TX_XCLK_SEL = "TXUSR";
+ parameter [0:0] UCODEER_CLR = 1'b0;
+ parameter [0:0] USE_PCS_CLK_PHASE_SEL = 1'b0;
+ output CPLLFBCLKLOST;
+ output CPLLLOCK;
+ output CPLLREFCLKLOST;
+ output DRPRDY;
+ output EYESCANDATAERROR;
+ output GTHTXN;
+ output GTHTXP;
+ output GTREFCLKMONITOR;
+ output PHYSTATUS;
+ output RSOSINTDONE;
+ output RXBYTEISALIGNED;
+ output RXBYTEREALIGN;
+ output RXCDRLOCK;
+ output RXCHANBONDSEQ;
+ output RXCHANISALIGNED;
+ output RXCHANREALIGN;
+ output RXCOMINITDET;
+ output RXCOMMADET;
+ output RXCOMSASDET;
+ output RXCOMWAKEDET;
+ output RXDFESLIDETAPSTARTED;
+ output RXDFESLIDETAPSTROBEDONE;
+ output RXDFESLIDETAPSTROBESTARTED;
+ output RXDFESTADAPTDONE;
+ output RXDLYSRESETDONE;
+ output RXELECIDLE;
+ output RXOSINTSTARTED;
+ output RXOSINTSTROBEDONE;
+ output RXOSINTSTROBESTARTED;
+ output RXOUTCLK;
+ output RXOUTCLKFABRIC;
+ output RXOUTCLKPCS;
+ output RXPHALIGNDONE;
+ output RXPMARESETDONE;
+ output RXPRBSERR;
+ output RXQPISENN;
+ output RXQPISENP;
+ output RXRATEDONE;
+ output RXRESETDONE;
+ output RXSYNCDONE;
+ output RXSYNCOUT;
+ output RXVALID;
+ output TXCOMFINISH;
+ output TXDLYSRESETDONE;
+ output TXGEARBOXREADY;
+ output TXOUTCLK;
+ output TXOUTCLKFABRIC;
+ output TXOUTCLKPCS;
+ output TXPHALIGNDONE;
+ output TXPHINITDONE;
+ output TXPMARESETDONE;
+ output TXQPISENN;
+ output TXQPISENP;
+ output TXRATEDONE;
+ output TXRESETDONE;
+ output TXSYNCDONE;
+ output TXSYNCOUT;
+ output [14:0] DMONITOROUT;
+ output [15:0] DRPDO;
+ output [15:0] PCSRSVDOUT;
+ output [1:0] RXCLKCORCNT;
+ output [1:0] RXDATAVALID;
+ output [1:0] RXHEADERVALID;
+ output [1:0] RXSTARTOFSEQ;
+ output [1:0] TXBUFSTATUS;
+ output [2:0] RXBUFSTATUS;
+ output [2:0] RXSTATUS;
+ output [4:0] RXCHBONDO;
+ output [4:0] RXPHMONITOR;
+ output [4:0] RXPHSLIPMONITOR;
+ output [5:0] RXHEADER;
+ output [63:0] RXDATA;
+ output [6:0] RXMONITOROUT;
+ output [7:0] RXCHARISCOMMA;
+ output [7:0] RXCHARISK;
+ output [7:0] RXDISPERR;
+ output [7:0] RXNOTINTABLE;
+ input CFGRESET;
+ input CLKRSVD0;
+ input CLKRSVD1;
+ input CPLLLOCKDETCLK;
+ input CPLLLOCKEN;
+ input CPLLPD;
+ input CPLLRESET;
+ input DMONFIFORESET;
+ input DMONITORCLK;
+ input DRPCLK;
+ input DRPEN;
+ input DRPWE;
+ input EYESCANMODE;
+ input EYESCANRESET;
+ input EYESCANTRIGGER;
+ input GTGREFCLK;
+ input GTHRXN;
+ input GTHRXP;
+ input GTNORTHREFCLK0;
+ input GTNORTHREFCLK1;
+ input GTREFCLK0;
+ input GTREFCLK1;
+ input GTRESETSEL;
+ input GTRXRESET;
+ input GTSOUTHREFCLK0;
+ input GTSOUTHREFCLK1;
+ input GTTXRESET;
+ input QPLLCLK;
+ input QPLLREFCLK;
+ input RESETOVRD;
+ input RX8B10BEN;
+ input RXBUFRESET;
+ input RXCDRFREQRESET;
+ input RXCDRHOLD;
+ input RXCDROVRDEN;
+ input RXCDRRESET;
+ input RXCDRRESETRSV;
+ input RXCHBONDEN;
+ input RXCHBONDMASTER;
+ input RXCHBONDSLAVE;
+ input RXCOMMADETEN;
+ input RXDDIEN;
+ input RXDFEAGCHOLD;
+ input RXDFEAGCOVRDEN;
+ input RXDFECM1EN;
+ input RXDFELFHOLD;
+ input RXDFELFOVRDEN;
+ input RXDFELPMRESET;
+ input RXDFESLIDETAPADAPTEN;
+ input RXDFESLIDETAPHOLD;
+ input RXDFESLIDETAPINITOVRDEN;
+ input RXDFESLIDETAPONLYADAPTEN;
+ input RXDFESLIDETAPOVRDEN;
+ input RXDFESLIDETAPSTROBE;
+ input RXDFETAP2HOLD;
+ input RXDFETAP2OVRDEN;
+ input RXDFETAP3HOLD;
+ input RXDFETAP3OVRDEN;
+ input RXDFETAP4HOLD;
+ input RXDFETAP4OVRDEN;
+ input RXDFETAP5HOLD;
+ input RXDFETAP5OVRDEN;
+ input RXDFETAP6HOLD;
+ input RXDFETAP6OVRDEN;
+ input RXDFETAP7HOLD;
+ input RXDFETAP7OVRDEN;
+ input RXDFEUTHOLD;
+ input RXDFEUTOVRDEN;
+ input RXDFEVPHOLD;
+ input RXDFEVPOVRDEN;
+ input RXDFEVSEN;
+ input RXDFEXYDEN;
+ input RXDLYBYPASS;
+ input RXDLYEN;
+ input RXDLYOVRDEN;
+ input RXDLYSRESET;
+ input RXGEARBOXSLIP;
+ input RXLPMEN;
+ input RXLPMHFHOLD;
+ input RXLPMHFOVRDEN;
+ input RXLPMLFHOLD;
+ input RXLPMLFKLOVRDEN;
+ input RXMCOMMAALIGNEN;
+ input RXOOBRESET;
+ input RXOSCALRESET;
+ input RXOSHOLD;
+ input RXOSINTEN;
+ input RXOSINTHOLD;
+ input RXOSINTNTRLEN;
+ input RXOSINTOVRDEN;
+ input RXOSINTSTROBE;
+ input RXOSINTTESTOVRDEN;
+ input RXOSOVRDEN;
+ input RXPCOMMAALIGNEN;
+ input RXPCSRESET;
+ input RXPHALIGN;
+ input RXPHALIGNEN;
+ input RXPHDLYPD;
+ input RXPHDLYRESET;
+ input RXPHOVRDEN;
+ input RXPMARESET;
+ input RXPOLARITY;
+ input RXPRBSCNTRESET;
+ input RXQPIEN;
+ input RXRATEMODE;
+ input RXSLIDE;
+ input RXSYNCALLIN;
+ input RXSYNCIN;
+ input RXSYNCMODE;
+ input RXUSERRDY;
+ input RXUSRCLK2;
+ input RXUSRCLK;
+ input SETERRSTATUS;
+ input SIGVALIDCLK;
+ input TX8B10BEN;
+ input TXCOMINIT;
+ input TXCOMSAS;
+ input TXCOMWAKE;
+ input TXDEEMPH;
+ input TXDETECTRX;
+ input TXDIFFPD;
+ input TXDLYBYPASS;
+ input TXDLYEN;
+ input TXDLYHOLD;
+ input TXDLYOVRDEN;
+ input TXDLYSRESET;
+ input TXDLYUPDOWN;
+ input TXELECIDLE;
+ input TXINHIBIT;
+ input TXPCSRESET;
+ input TXPDELECIDLEMODE;
+ input TXPHALIGN;
+ input TXPHALIGNEN;
+ input TXPHDLYPD;
+ input TXPHDLYRESET;
+ input TXPHDLYTSTCLK;
+ input TXPHINIT;
+ input TXPHOVRDEN;
+ input TXPIPPMEN;
+ input TXPIPPMOVRDEN;
+ input TXPIPPMPD;
+ input TXPIPPMSEL;
+ input TXPISOPD;
+ input TXPMARESET;
+ input TXPOLARITY;
+ input TXPOSTCURSORINV;
+ input TXPRBSFORCEERR;
+ input TXPRECURSORINV;
+ input TXQPIBIASEN;
+ input TXQPISTRONGPDOWN;
+ input TXQPIWEAKPUP;
+ input TXRATEMODE;
+ input TXSTARTSEQ;
+ input TXSWING;
+ input TXSYNCALLIN;
+ input TXSYNCIN;
+ input TXSYNCMODE;
+ input TXUSERRDY;
+ input TXUSRCLK2;
+ input TXUSRCLK;
+ input [13:0] RXADAPTSELTEST;
+ input [15:0] DRPDI;
+ input [15:0] GTRSVD;
+ input [15:0] PCSRSVDIN;
+ input [19:0] TSTIN;
+ input [1:0] RXELECIDLEMODE;
+ input [1:0] RXMONITORSEL;
+ input [1:0] RXPD;
+ input [1:0] RXSYSCLKSEL;
+ input [1:0] TXPD;
+ input [1:0] TXSYSCLKSEL;
+ input [2:0] CPLLREFCLKSEL;
+ input [2:0] LOOPBACK;
+ input [2:0] RXCHBONDLEVEL;
+ input [2:0] RXOUTCLKSEL;
+ input [2:0] RXPRBSSEL;
+ input [2:0] RXRATE;
+ input [2:0] TXBUFDIFFCTRL;
+ input [2:0] TXHEADER;
+ input [2:0] TXMARGIN;
+ input [2:0] TXOUTCLKSEL;
+ input [2:0] TXPRBSSEL;
+ input [2:0] TXRATE;
+ input [3:0] RXOSINTCFG;
+ input [3:0] RXOSINTID0;
+ input [3:0] TXDIFFCTRL;
+ input [4:0] PCSRSVDIN2;
+ input [4:0] PMARSVDIN;
+ input [4:0] RXCHBONDI;
+ input [4:0] RXDFEAGCTRL;
+ input [4:0] RXDFESLIDETAP;
+ input [4:0] TXPIPPMSTEPSIZE;
+ input [4:0] TXPOSTCURSOR;
+ input [4:0] TXPRECURSOR;
+ input [5:0] RXDFESLIDETAPID;
+ input [63:0] TXDATA;
+ input [6:0] TXMAINCURSOR;
+ input [6:0] TXSEQUENCE;
+ input [7:0] TX8B10BBYPASS;
+ input [7:0] TXCHARDISPMODE;
+ input [7:0] TXCHARDISPVAL;
+ input [7:0] TXCHARISK;
+ input [8:0] DRPADDR;
+endmodule
+
+module GTHE2_COMMON (...);
+ parameter [63:0] BIAS_CFG = 64'h0000040000001000;
+ parameter [31:0] COMMON_CFG = 32'h0000001C;
+ parameter [0:0] IS_DRPCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_GTGREFCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_QPLLLOCKDETCLK_INVERTED = 1'b0;
+ parameter [26:0] QPLL_CFG = 27'h0480181;
+ parameter [3:0] QPLL_CLKOUT_CFG = 4'b0000;
+ parameter [5:0] QPLL_COARSE_FREQ_OVRD = 6'b010000;
+ parameter [0:0] QPLL_COARSE_FREQ_OVRD_EN = 1'b0;
+ parameter [9:0] QPLL_CP = 10'b0000011111;
+ parameter [0:0] QPLL_CP_MONITOR_EN = 1'b0;
+ parameter [0:0] QPLL_DMONITOR_SEL = 1'b0;
+ parameter [9:0] QPLL_FBDIV = 10'b0000000000;
+ parameter [0:0] QPLL_FBDIV_MONITOR_EN = 1'b0;
+ parameter [0:0] QPLL_FBDIV_RATIO = 1'b0;
+ parameter [23:0] QPLL_INIT_CFG = 24'h000006;
+ parameter [15:0] QPLL_LOCK_CFG = 16'h01E8;
+ parameter [3:0] QPLL_LPF = 4'b1111;
+ parameter integer QPLL_REFCLK_DIV = 2;
+ parameter [0:0] QPLL_RP_COMP = 1'b0;
+ parameter [1:0] QPLL_VTRL_RESET = 2'b00;
+ parameter [1:0] RCAL_CFG = 2'b00;
+ parameter [15:0] RSVD_ATTR0 = 16'h0000;
+ parameter [15:0] RSVD_ATTR1 = 16'h0000;
+ parameter [2:0] SIM_QPLLREFCLK_SEL = 3'b001;
+ parameter SIM_RESET_SPEEDUP = "TRUE";
+ parameter SIM_VERSION = "1.1";
+ output DRPRDY;
+ output QPLLFBCLKLOST;
+ output QPLLLOCK;
+ output QPLLOUTCLK;
+ output QPLLOUTREFCLK;
+ output QPLLREFCLKLOST;
+ output REFCLKOUTMONITOR;
+ output [15:0] DRPDO;
+ output [15:0] PMARSVDOUT;
+ output [7:0] QPLLDMONITOR;
+ input BGBYPASSB;
+ input BGMONITORENB;
+ input BGPDB;
+ input BGRCALOVRDENB;
+ input DRPCLK;
+ input DRPEN;
+ input DRPWE;
+ input GTGREFCLK;
+ input GTNORTHREFCLK0;
+ input GTNORTHREFCLK1;
+ input GTREFCLK0;
+ input GTREFCLK1;
+ input GTSOUTHREFCLK0;
+ input GTSOUTHREFCLK1;
+ input QPLLLOCKDETCLK;
+ input QPLLLOCKEN;
+ input QPLLOUTRESET;
+ input QPLLPD;
+ input QPLLRESET;
+ input RCALENB;
+ input [15:0] DRPDI;
+ input [15:0] QPLLRSVD1;
+ input [2:0] QPLLREFCLKSEL;
+ input [4:0] BGRCALOVRD;
+ input [4:0] QPLLRSVD2;
+ input [7:0] DRPADDR;
+ input [7:0] PMARSVD;
+endmodule
+
+module GTPE2_CHANNEL (...);
+ parameter [0:0] ACJTAG_DEBUG_MODE = 1'b0;
+ parameter [0:0] ACJTAG_MODE = 1'b0;
+ parameter [0:0] ACJTAG_RESET = 1'b0;
+ parameter [19:0] ADAPT_CFG0 = 20'b00000000000000000000;
+ parameter ALIGN_COMMA_DOUBLE = "FALSE";
+ parameter [9:0] ALIGN_COMMA_ENABLE = 10'b0001111111;
+ parameter integer ALIGN_COMMA_WORD = 1;
+ parameter ALIGN_MCOMMA_DET = "TRUE";
+ parameter [9:0] ALIGN_MCOMMA_VALUE = 10'b1010000011;
+ parameter ALIGN_PCOMMA_DET = "TRUE";
+ parameter [9:0] ALIGN_PCOMMA_VALUE = 10'b0101111100;
+ parameter CBCC_DATA_SOURCE_SEL = "DECODED";
+ parameter [42:0] CFOK_CFG = 43'b1001001000000000000000001000000111010000000;
+ parameter [6:0] CFOK_CFG2 = 7'b0100000;
+ parameter [6:0] CFOK_CFG3 = 7'b0100000;
+ parameter [0:0] CFOK_CFG4 = 1'b0;
+ parameter [1:0] CFOK_CFG5 = 2'b00;
+ parameter [3:0] CFOK_CFG6 = 4'b0000;
+ parameter CHAN_BOND_KEEP_ALIGN = "FALSE";
+ parameter integer CHAN_BOND_MAX_SKEW = 7;
+ parameter [9:0] CHAN_BOND_SEQ_1_1 = 10'b0101111100;
+ parameter [9:0] CHAN_BOND_SEQ_1_2 = 10'b0000000000;
+ parameter [9:0] CHAN_BOND_SEQ_1_3 = 10'b0000000000;
+ parameter [9:0] CHAN_BOND_SEQ_1_4 = 10'b0000000000;
+ parameter [3:0] CHAN_BOND_SEQ_1_ENABLE = 4'b1111;
+ parameter [9:0] CHAN_BOND_SEQ_2_1 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_2 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_3 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_4 = 10'b0100000000;
+ parameter [3:0] CHAN_BOND_SEQ_2_ENABLE = 4'b1111;
+ parameter CHAN_BOND_SEQ_2_USE = "FALSE";
+ parameter integer CHAN_BOND_SEQ_LEN = 1;
+ parameter [0:0] CLK_COMMON_SWING = 1'b0;
+ parameter CLK_CORRECT_USE = "TRUE";
+ parameter CLK_COR_KEEP_IDLE = "FALSE";
+ parameter integer CLK_COR_MAX_LAT = 20;
+ parameter integer CLK_COR_MIN_LAT = 18;
+ parameter CLK_COR_PRECEDENCE = "TRUE";
+ parameter integer CLK_COR_REPEAT_WAIT = 0;
+ parameter [9:0] CLK_COR_SEQ_1_1 = 10'b0100011100;
+ parameter [9:0] CLK_COR_SEQ_1_2 = 10'b0000000000;
+ parameter [9:0] CLK_COR_SEQ_1_3 = 10'b0000000000;
+ parameter [9:0] CLK_COR_SEQ_1_4 = 10'b0000000000;
+ parameter [3:0] CLK_COR_SEQ_1_ENABLE = 4'b1111;
+ parameter [9:0] CLK_COR_SEQ_2_1 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_2 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_3 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_4 = 10'b0100000000;
+ parameter [3:0] CLK_COR_SEQ_2_ENABLE = 4'b1111;
+ parameter CLK_COR_SEQ_2_USE = "FALSE";
+ parameter integer CLK_COR_SEQ_LEN = 1;
+ parameter DEC_MCOMMA_DETECT = "TRUE";
+ parameter DEC_PCOMMA_DETECT = "TRUE";
+ parameter DEC_VALID_COMMA_ONLY = "TRUE";
+ parameter [23:0] DMONITOR_CFG = 24'h000A00;
+ parameter [0:0] ES_CLK_PHASE_SEL = 1'b0;
+ parameter [5:0] ES_CONTROL = 6'b000000;
+ parameter ES_ERRDET_EN = "FALSE";
+ parameter ES_EYE_SCAN_EN = "FALSE";
+ parameter [11:0] ES_HORZ_OFFSET = 12'h010;
+ parameter [9:0] ES_PMA_CFG = 10'b0000000000;
+ parameter [4:0] ES_PRESCALE = 5'b00000;
+ parameter [79:0] ES_QUALIFIER = 80'h00000000000000000000;
+ parameter [79:0] ES_QUAL_MASK = 80'h00000000000000000000;
+ parameter [79:0] ES_SDATA_MASK = 80'h00000000000000000000;
+ parameter [8:0] ES_VERT_OFFSET = 9'b000000000;
+ parameter [3:0] FTS_DESKEW_SEQ_ENABLE = 4'b1111;
+ parameter [3:0] FTS_LANE_DESKEW_CFG = 4'b1111;
+ parameter FTS_LANE_DESKEW_EN = "FALSE";
+ parameter [2:0] GEARBOX_MODE = 3'b000;
+ parameter [0:0] IS_CLKRSVD0_INVERTED = 1'b0;
+ parameter [0:0] IS_CLKRSVD1_INVERTED = 1'b0;
+ parameter [0:0] IS_DMONITORCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_DRPCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_RXUSRCLK2_INVERTED = 1'b0;
+ parameter [0:0] IS_RXUSRCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_SIGVALIDCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_TXPHDLYTSTCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_TXUSRCLK2_INVERTED = 1'b0;
+ parameter [0:0] IS_TXUSRCLK_INVERTED = 1'b0;
+ parameter [0:0] LOOPBACK_CFG = 1'b0;
+ parameter [1:0] OUTREFCLK_SEL_INV = 2'b11;
+ parameter PCS_PCIE_EN = "FALSE";
+ parameter [47:0] PCS_RSVD_ATTR = 48'h000000000000;
+ parameter [11:0] PD_TRANS_TIME_FROM_P2 = 12'h03C;
+ parameter [7:0] PD_TRANS_TIME_NONE_P2 = 8'h19;
+ parameter [7:0] PD_TRANS_TIME_TO_P2 = 8'h64;
+ parameter [0:0] PMA_LOOPBACK_CFG = 1'b0;
+ parameter [31:0] PMA_RSV = 32'h00000333;
+ parameter [31:0] PMA_RSV2 = 32'h00002050;
+ parameter [1:0] PMA_RSV3 = 2'b00;
+ parameter [3:0] PMA_RSV4 = 4'b0000;
+ parameter [0:0] PMA_RSV5 = 1'b0;
+ parameter [0:0] PMA_RSV6 = 1'b0;
+ parameter [0:0] PMA_RSV7 = 1'b0;
+ parameter [4:0] RXBUFRESET_TIME = 5'b00001;
+ parameter RXBUF_ADDR_MODE = "FULL";
+ parameter [3:0] RXBUF_EIDLE_HI_CNT = 4'b1000;
+ parameter [3:0] RXBUF_EIDLE_LO_CNT = 4'b0000;
+ parameter RXBUF_EN = "TRUE";
+ parameter RXBUF_RESET_ON_CB_CHANGE = "TRUE";
+ parameter RXBUF_RESET_ON_COMMAALIGN = "FALSE";
+ parameter RXBUF_RESET_ON_EIDLE = "FALSE";
+ parameter RXBUF_RESET_ON_RATE_CHANGE = "TRUE";
+ parameter integer RXBUF_THRESH_OVFLW = 61;
+ parameter RXBUF_THRESH_OVRD = "FALSE";
+ parameter integer RXBUF_THRESH_UNDFLW = 4;
+ parameter [4:0] RXCDRFREQRESET_TIME = 5'b00001;
+ parameter [4:0] RXCDRPHRESET_TIME = 5'b00001;
+ parameter [82:0] RXCDR_CFG = 83'h0000107FE406001041010;
+ parameter [0:0] RXCDR_FR_RESET_ON_EIDLE = 1'b0;
+ parameter [0:0] RXCDR_HOLD_DURING_EIDLE = 1'b0;
+ parameter [5:0] RXCDR_LOCK_CFG = 6'b001001;
+ parameter [0:0] RXCDR_PH_RESET_ON_EIDLE = 1'b0;
+ parameter [15:0] RXDLY_CFG = 16'h0010;
+ parameter [8:0] RXDLY_LCFG = 9'h020;
+ parameter [15:0] RXDLY_TAP_CFG = 16'h0000;
+ parameter RXGEARBOX_EN = "FALSE";
+ parameter [4:0] RXISCANRESET_TIME = 5'b00001;
+ parameter [6:0] RXLPMRESET_TIME = 7'b0001111;
+ parameter [0:0] RXLPM_BIAS_STARTUP_DISABLE = 1'b0;
+ parameter [3:0] RXLPM_CFG = 4'b0110;
+ parameter [0:0] RXLPM_CFG1 = 1'b0;
+ parameter [0:0] RXLPM_CM_CFG = 1'b0;
+ parameter [8:0] RXLPM_GC_CFG = 9'b111100010;
+ parameter [2:0] RXLPM_GC_CFG2 = 3'b001;
+ parameter [13:0] RXLPM_HF_CFG = 14'b00001111110000;
+ parameter [4:0] RXLPM_HF_CFG2 = 5'b01010;
+ parameter [3:0] RXLPM_HF_CFG3 = 4'b0000;
+ parameter [0:0] RXLPM_HOLD_DURING_EIDLE = 1'b0;
+ parameter [0:0] RXLPM_INCM_CFG = 1'b0;
+ parameter [0:0] RXLPM_IPCM_CFG = 1'b0;
+ parameter [17:0] RXLPM_LF_CFG = 18'b000000001111110000;
+ parameter [4:0] RXLPM_LF_CFG2 = 5'b01010;
+ parameter [2:0] RXLPM_OSINT_CFG = 3'b100;
+ parameter [6:0] RXOOB_CFG = 7'b0000110;
+ parameter RXOOB_CLK_CFG = "PMA";
+ parameter [4:0] RXOSCALRESET_TIME = 5'b00011;
+ parameter [4:0] RXOSCALRESET_TIMEOUT = 5'b00000;
+ parameter integer RXOUT_DIV = 2;
+ parameter [4:0] RXPCSRESET_TIME = 5'b00001;
+ parameter [23:0] RXPHDLY_CFG = 24'h084000;
+ parameter [23:0] RXPH_CFG = 24'hC00002;
+ parameter [4:0] RXPH_MONITOR_SEL = 5'b00000;
+ parameter [2:0] RXPI_CFG0 = 3'b000;
+ parameter [0:0] RXPI_CFG1 = 1'b0;
+ parameter [0:0] RXPI_CFG2 = 1'b0;
+ parameter [4:0] RXPMARESET_TIME = 5'b00011;
+ parameter [0:0] RXPRBS_ERR_LOOPBACK = 1'b0;
+ parameter integer RXSLIDE_AUTO_WAIT = 7;
+ parameter RXSLIDE_MODE = "OFF";
+ parameter [0:0] RXSYNC_MULTILANE = 1'b0;
+ parameter [0:0] RXSYNC_OVRD = 1'b0;
+ parameter [0:0] RXSYNC_SKIP_DA = 1'b0;
+ parameter [15:0] RX_BIAS_CFG = 16'b0000111100110011;
+ parameter [5:0] RX_BUFFER_CFG = 6'b000000;
+ parameter integer RX_CLK25_DIV = 7;
+ parameter [0:0] RX_CLKMUX_EN = 1'b1;
+ parameter [1:0] RX_CM_SEL = 2'b11;
+ parameter [3:0] RX_CM_TRIM = 4'b0100;
+ parameter integer RX_DATA_WIDTH = 20;
+ parameter [5:0] RX_DDI_SEL = 6'b000000;
+ parameter [13:0] RX_DEBUG_CFG = 14'b00000000000000;
+ parameter RX_DEFER_RESET_BUF_EN = "TRUE";
+ parameter RX_DISPERR_SEQ_MATCH = "TRUE";
+ parameter [12:0] RX_OS_CFG = 13'b0001111110000;
+ parameter integer RX_SIG_VALID_DLY = 10;
+ parameter RX_XCLK_SEL = "RXREC";
+ parameter integer SAS_MAX_COM = 64;
+ parameter integer SAS_MIN_COM = 36;
+ parameter [3:0] SATA_BURST_SEQ_LEN = 4'b1111;
+ parameter [2:0] SATA_BURST_VAL = 3'b100;
+ parameter [2:0] SATA_EIDLE_VAL = 3'b100;
+ parameter integer SATA_MAX_BURST = 8;
+ parameter integer SATA_MAX_INIT = 21;
+ parameter integer SATA_MAX_WAKE = 7;
+ parameter integer SATA_MIN_BURST = 4;
+ parameter integer SATA_MIN_INIT = 12;
+ parameter integer SATA_MIN_WAKE = 4;
+ parameter SATA_PLL_CFG = "VCO_3000MHZ";
+ parameter SHOW_REALIGN_COMMA = "TRUE";
+ parameter SIM_RECEIVER_DETECT_PASS = "TRUE";
+ parameter SIM_RESET_SPEEDUP = "TRUE";
+ parameter SIM_TX_EIDLE_DRIVE_LEVEL = "X";
+ parameter SIM_VERSION = "1.0";
+ parameter [14:0] TERM_RCAL_CFG = 15'b100001000010000;
+ parameter [2:0] TERM_RCAL_OVRD = 3'b000;
+ parameter [7:0] TRANS_TIME_RATE = 8'h0E;
+ parameter [31:0] TST_RSV = 32'h00000000;
+ parameter TXBUF_EN = "TRUE";
+ parameter TXBUF_RESET_ON_RATE_CHANGE = "FALSE";
+ parameter [15:0] TXDLY_CFG = 16'h0010;
+ parameter [8:0] TXDLY_LCFG = 9'h020;
+ parameter [15:0] TXDLY_TAP_CFG = 16'h0000;
+ parameter TXGEARBOX_EN = "FALSE";
+ parameter [0:0] TXOOB_CFG = 1'b0;
+ parameter integer TXOUT_DIV = 2;
+ parameter [4:0] TXPCSRESET_TIME = 5'b00001;
+ parameter [23:0] TXPHDLY_CFG = 24'h084000;
+ parameter [15:0] TXPH_CFG = 16'h0400;
+ parameter [4:0] TXPH_MONITOR_SEL = 5'b00000;
+ parameter [1:0] TXPI_CFG0 = 2'b00;
+ parameter [1:0] TXPI_CFG1 = 2'b00;
+ parameter [1:0] TXPI_CFG2 = 2'b00;
+ parameter [0:0] TXPI_CFG3 = 1'b0;
+ parameter [0:0] TXPI_CFG4 = 1'b0;
+ parameter [2:0] TXPI_CFG5 = 3'b000;
+ parameter [0:0] TXPI_GREY_SEL = 1'b0;
+ parameter [0:0] TXPI_INVSTROBE_SEL = 1'b0;
+ parameter TXPI_PPMCLK_SEL = "TXUSRCLK2";
+ parameter [7:0] TXPI_PPM_CFG = 8'b00000000;
+ parameter [2:0] TXPI_SYNFREQ_PPM = 3'b000;
+ parameter [4:0] TXPMARESET_TIME = 5'b00001;
+ parameter [0:0] TXSYNC_MULTILANE = 1'b0;
+ parameter [0:0] TXSYNC_OVRD = 1'b0;
+ parameter [0:0] TXSYNC_SKIP_DA = 1'b0;
+ parameter integer TX_CLK25_DIV = 7;
+ parameter [0:0] TX_CLKMUX_EN = 1'b1;
+ parameter integer TX_DATA_WIDTH = 20;
+ parameter [5:0] TX_DEEMPH0 = 6'b000000;
+ parameter [5:0] TX_DEEMPH1 = 6'b000000;
+ parameter TX_DRIVE_MODE = "DIRECT";
+ parameter [2:0] TX_EIDLE_ASSERT_DELAY = 3'b110;
+ parameter [2:0] TX_EIDLE_DEASSERT_DELAY = 3'b100;
+ parameter TX_LOOPBACK_DRIVE_HIZ = "FALSE";
+ parameter [0:0] TX_MAINCURSOR_SEL = 1'b0;
+ parameter [6:0] TX_MARGIN_FULL_0 = 7'b1001110;
+ parameter [6:0] TX_MARGIN_FULL_1 = 7'b1001001;
+ parameter [6:0] TX_MARGIN_FULL_2 = 7'b1000101;
+ parameter [6:0] TX_MARGIN_FULL_3 = 7'b1000010;
+ parameter [6:0] TX_MARGIN_FULL_4 = 7'b1000000;
+ parameter [6:0] TX_MARGIN_LOW_0 = 7'b1000110;
+ parameter [6:0] TX_MARGIN_LOW_1 = 7'b1000100;
+ parameter [6:0] TX_MARGIN_LOW_2 = 7'b1000010;
+ parameter [6:0] TX_MARGIN_LOW_3 = 7'b1000000;
+ parameter [6:0] TX_MARGIN_LOW_4 = 7'b1000000;
+ parameter [0:0] TX_PREDRIVER_MODE = 1'b0;
+ parameter [13:0] TX_RXDETECT_CFG = 14'h1832;
+ parameter [2:0] TX_RXDETECT_REF = 3'b100;
+ parameter TX_XCLK_SEL = "TXUSR";
+ parameter [0:0] UCODEER_CLR = 1'b0;
+ parameter [0:0] USE_PCS_CLK_PHASE_SEL = 1'b0;
+ output DRPRDY;
+ output EYESCANDATAERROR;
+ output GTPTXN;
+ output GTPTXP;
+ output PHYSTATUS;
+ output PMARSVDOUT0;
+ output PMARSVDOUT1;
+ output RXBYTEISALIGNED;
+ output RXBYTEREALIGN;
+ output RXCDRLOCK;
+ output RXCHANBONDSEQ;
+ output RXCHANISALIGNED;
+ output RXCHANREALIGN;
+ output RXCOMINITDET;
+ output RXCOMMADET;
+ output RXCOMSASDET;
+ output RXCOMWAKEDET;
+ output RXDLYSRESETDONE;
+ output RXELECIDLE;
+ output RXHEADERVALID;
+ output RXOSINTDONE;
+ output RXOSINTSTARTED;
+ output RXOSINTSTROBEDONE;
+ output RXOSINTSTROBESTARTED;
+ output RXOUTCLK;
+ output RXOUTCLKFABRIC;
+ output RXOUTCLKPCS;
+ output RXPHALIGNDONE;
+ output RXPMARESETDONE;
+ output RXPRBSERR;
+ output RXRATEDONE;
+ output RXRESETDONE;
+ output RXSYNCDONE;
+ output RXSYNCOUT;
+ output RXVALID;
+ output TXCOMFINISH;
+ output TXDLYSRESETDONE;
+ output TXGEARBOXREADY;
+ output TXOUTCLK;
+ output TXOUTCLKFABRIC;
+ output TXOUTCLKPCS;
+ output TXPHALIGNDONE;
+ output TXPHINITDONE;
+ output TXPMARESETDONE;
+ output TXRATEDONE;
+ output TXRESETDONE;
+ output TXSYNCDONE;
+ output TXSYNCOUT;
+ output [14:0] DMONITOROUT;
+ output [15:0] DRPDO;
+ output [15:0] PCSRSVDOUT;
+ output [1:0] RXCLKCORCNT;
+ output [1:0] RXDATAVALID;
+ output [1:0] RXSTARTOFSEQ;
+ output [1:0] TXBUFSTATUS;
+ output [2:0] RXBUFSTATUS;
+ output [2:0] RXHEADER;
+ output [2:0] RXSTATUS;
+ output [31:0] RXDATA;
+ output [3:0] RXCHARISCOMMA;
+ output [3:0] RXCHARISK;
+ output [3:0] RXCHBONDO;
+ output [3:0] RXDISPERR;
+ output [3:0] RXNOTINTABLE;
+ output [4:0] RXPHMONITOR;
+ output [4:0] RXPHSLIPMONITOR;
+ input CFGRESET;
+ input CLKRSVD0;
+ input CLKRSVD1;
+ input DMONFIFORESET;
+ input DMONITORCLK;
+ input DRPCLK;
+ input DRPEN;
+ input DRPWE;
+ input EYESCANMODE;
+ input EYESCANRESET;
+ input EYESCANTRIGGER;
+ input GTPRXN;
+ input GTPRXP;
+ input GTRESETSEL;
+ input GTRXRESET;
+ input GTTXRESET;
+ input PLL0CLK;
+ input PLL0REFCLK;
+ input PLL1CLK;
+ input PLL1REFCLK;
+ input PMARSVDIN0;
+ input PMARSVDIN1;
+ input PMARSVDIN2;
+ input PMARSVDIN3;
+ input PMARSVDIN4;
+ input RESETOVRD;
+ input RX8B10BEN;
+ input RXBUFRESET;
+ input RXCDRFREQRESET;
+ input RXCDRHOLD;
+ input RXCDROVRDEN;
+ input RXCDRRESET;
+ input RXCDRRESETRSV;
+ input RXCHBONDEN;
+ input RXCHBONDMASTER;
+ input RXCHBONDSLAVE;
+ input RXCOMMADETEN;
+ input RXDDIEN;
+ input RXDFEXYDEN;
+ input RXDLYBYPASS;
+ input RXDLYEN;
+ input RXDLYOVRDEN;
+ input RXDLYSRESET;
+ input RXGEARBOXSLIP;
+ input RXLPMHFHOLD;
+ input RXLPMHFOVRDEN;
+ input RXLPMLFHOLD;
+ input RXLPMLFOVRDEN;
+ input RXLPMOSINTNTRLEN;
+ input RXLPMRESET;
+ input RXMCOMMAALIGNEN;
+ input RXOOBRESET;
+ input RXOSCALRESET;
+ input RXOSHOLD;
+ input RXOSINTEN;
+ input RXOSINTHOLD;
+ input RXOSINTNTRLEN;
+ input RXOSINTOVRDEN;
+ input RXOSINTPD;
+ input RXOSINTSTROBE;
+ input RXOSINTTESTOVRDEN;
+ input RXOSOVRDEN;
+ input RXPCOMMAALIGNEN;
+ input RXPCSRESET;
+ input RXPHALIGN;
+ input RXPHALIGNEN;
+ input RXPHDLYPD;
+ input RXPHDLYRESET;
+ input RXPHOVRDEN;
+ input RXPMARESET;
+ input RXPOLARITY;
+ input RXPRBSCNTRESET;
+ input RXRATEMODE;
+ input RXSLIDE;
+ input RXSYNCALLIN;
+ input RXSYNCIN;
+ input RXSYNCMODE;
+ input RXUSERRDY;
+ input RXUSRCLK2;
+ input RXUSRCLK;
+ input SETERRSTATUS;
+ input SIGVALIDCLK;
+ input TX8B10BEN;
+ input TXCOMINIT;
+ input TXCOMSAS;
+ input TXCOMWAKE;
+ input TXDEEMPH;
+ input TXDETECTRX;
+ input TXDIFFPD;
+ input TXDLYBYPASS;
+ input TXDLYEN;
+ input TXDLYHOLD;
+ input TXDLYOVRDEN;
+ input TXDLYSRESET;
+ input TXDLYUPDOWN;
+ input TXELECIDLE;
+ input TXINHIBIT;
+ input TXPCSRESET;
+ input TXPDELECIDLEMODE;
+ input TXPHALIGN;
+ input TXPHALIGNEN;
+ input TXPHDLYPD;
+ input TXPHDLYRESET;
+ input TXPHDLYTSTCLK;
+ input TXPHINIT;
+ input TXPHOVRDEN;
+ input TXPIPPMEN;
+ input TXPIPPMOVRDEN;
+ input TXPIPPMPD;
+ input TXPIPPMSEL;
+ input TXPISOPD;
+ input TXPMARESET;
+ input TXPOLARITY;
+ input TXPOSTCURSORINV;
+ input TXPRBSFORCEERR;
+ input TXPRECURSORINV;
+ input TXRATEMODE;
+ input TXSTARTSEQ;
+ input TXSWING;
+ input TXSYNCALLIN;
+ input TXSYNCIN;
+ input TXSYNCMODE;
+ input TXUSERRDY;
+ input TXUSRCLK2;
+ input TXUSRCLK;
+ input [13:0] RXADAPTSELTEST;
+ input [15:0] DRPDI;
+ input [15:0] GTRSVD;
+ input [15:0] PCSRSVDIN;
+ input [19:0] TSTIN;
+ input [1:0] RXELECIDLEMODE;
+ input [1:0] RXPD;
+ input [1:0] RXSYSCLKSEL;
+ input [1:0] TXPD;
+ input [1:0] TXSYSCLKSEL;
+ input [2:0] LOOPBACK;
+ input [2:0] RXCHBONDLEVEL;
+ input [2:0] RXOUTCLKSEL;
+ input [2:0] RXPRBSSEL;
+ input [2:0] RXRATE;
+ input [2:0] TXBUFDIFFCTRL;
+ input [2:0] TXHEADER;
+ input [2:0] TXMARGIN;
+ input [2:0] TXOUTCLKSEL;
+ input [2:0] TXPRBSSEL;
+ input [2:0] TXRATE;
+ input [31:0] TXDATA;
+ input [3:0] RXCHBONDI;
+ input [3:0] RXOSINTCFG;
+ input [3:0] RXOSINTID0;
+ input [3:0] TX8B10BBYPASS;
+ input [3:0] TXCHARDISPMODE;
+ input [3:0] TXCHARDISPVAL;
+ input [3:0] TXCHARISK;
+ input [3:0] TXDIFFCTRL;
+ input [4:0] TXPIPPMSTEPSIZE;
+ input [4:0] TXPOSTCURSOR;
+ input [4:0] TXPRECURSOR;
+ input [6:0] TXMAINCURSOR;
+ input [6:0] TXSEQUENCE;
+ input [8:0] DRPADDR;
+endmodule
+
+module GTPE2_COMMON (...);
+ parameter [63:0] BIAS_CFG = 64'h0000000000000000;
+ parameter [31:0] COMMON_CFG = 32'h00000000;
+ parameter [0:0] IS_DRPCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_GTGREFCLK0_INVERTED = 1'b0;
+ parameter [0:0] IS_GTGREFCLK1_INVERTED = 1'b0;
+ parameter [0:0] IS_PLL0LOCKDETCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_PLL1LOCKDETCLK_INVERTED = 1'b0;
+ parameter [26:0] PLL0_CFG = 27'h01F03DC;
+ parameter [0:0] PLL0_DMON_CFG = 1'b0;
+ parameter integer PLL0_FBDIV = 4;
+ parameter integer PLL0_FBDIV_45 = 5;
+ parameter [23:0] PLL0_INIT_CFG = 24'h00001E;
+ parameter [8:0] PLL0_LOCK_CFG = 9'h1E8;
+ parameter integer PLL0_REFCLK_DIV = 1;
+ parameter [26:0] PLL1_CFG = 27'h01F03DC;
+ parameter [0:0] PLL1_DMON_CFG = 1'b0;
+ parameter integer PLL1_FBDIV = 4;
+ parameter integer PLL1_FBDIV_45 = 5;
+ parameter [23:0] PLL1_INIT_CFG = 24'h00001E;
+ parameter [8:0] PLL1_LOCK_CFG = 9'h1E8;
+ parameter integer PLL1_REFCLK_DIV = 1;
+ parameter [7:0] PLL_CLKOUT_CFG = 8'b00000000;
+ parameter [15:0] RSVD_ATTR0 = 16'h0000;
+ parameter [15:0] RSVD_ATTR1 = 16'h0000;
+ parameter [2:0] SIM_PLL0REFCLK_SEL = 3'b001;
+ parameter [2:0] SIM_PLL1REFCLK_SEL = 3'b001;
+ parameter SIM_RESET_SPEEDUP = "TRUE";
+ parameter SIM_VERSION = "1.0";
+ output DRPRDY;
+ output PLL0FBCLKLOST;
+ output PLL0LOCK;
+ output PLL0OUTCLK;
+ output PLL0OUTREFCLK;
+ output PLL0REFCLKLOST;
+ output PLL1FBCLKLOST;
+ output PLL1LOCK;
+ output PLL1OUTCLK;
+ output PLL1OUTREFCLK;
+ output PLL1REFCLKLOST;
+ output REFCLKOUTMONITOR0;
+ output REFCLKOUTMONITOR1;
+ output [15:0] DRPDO;
+ output [15:0] PMARSVDOUT;
+ output [7:0] DMONITOROUT;
+ input BGBYPASSB;
+ input BGMONITORENB;
+ input BGPDB;
+ input BGRCALOVRDENB;
+ input DRPCLK;
+ input DRPEN;
+ input DRPWE;
+ input GTEASTREFCLK0;
+ input GTEASTREFCLK1;
+ input GTGREFCLK0;
+ input GTGREFCLK1;
+ input GTREFCLK0;
+ input GTREFCLK1;
+ input GTWESTREFCLK0;
+ input GTWESTREFCLK1;
+ input PLL0LOCKDETCLK;
+ input PLL0LOCKEN;
+ input PLL0PD;
+ input PLL0RESET;
+ input PLL1LOCKDETCLK;
+ input PLL1LOCKEN;
+ input PLL1PD;
+ input PLL1RESET;
+ input RCALENB;
+ input [15:0] DRPDI;
+ input [15:0] PLLRSVD1;
+ input [2:0] PLL0REFCLKSEL;
+ input [2:0] PLL1REFCLKSEL;
+ input [4:0] BGRCALOVRD;
+ input [4:0] PLLRSVD2;
+ input [7:0] DRPADDR;
+ input [7:0] PMARSVD;
+endmodule
+
+module GTXE2_CHANNEL (...);
+ parameter ALIGN_COMMA_DOUBLE = "FALSE";
+ parameter [9:0] ALIGN_COMMA_ENABLE = 10'b0001111111;
+ parameter integer ALIGN_COMMA_WORD = 1;
+ parameter ALIGN_MCOMMA_DET = "TRUE";
+ parameter [9:0] ALIGN_MCOMMA_VALUE = 10'b1010000011;
+ parameter ALIGN_PCOMMA_DET = "TRUE";
+ parameter [9:0] ALIGN_PCOMMA_VALUE = 10'b0101111100;
+ parameter CBCC_DATA_SOURCE_SEL = "DECODED";
+ parameter CHAN_BOND_KEEP_ALIGN = "FALSE";
+ parameter integer CHAN_BOND_MAX_SKEW = 7;
+ parameter [9:0] CHAN_BOND_SEQ_1_1 = 10'b0101111100;
+ parameter [9:0] CHAN_BOND_SEQ_1_2 = 10'b0000000000;
+ parameter [9:0] CHAN_BOND_SEQ_1_3 = 10'b0000000000;
+ parameter [9:0] CHAN_BOND_SEQ_1_4 = 10'b0000000000;
+ parameter [3:0] CHAN_BOND_SEQ_1_ENABLE = 4'b1111;
+ parameter [9:0] CHAN_BOND_SEQ_2_1 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_2 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_3 = 10'b0100000000;
+ parameter [9:0] CHAN_BOND_SEQ_2_4 = 10'b0100000000;
+ parameter [3:0] CHAN_BOND_SEQ_2_ENABLE = 4'b1111;
+ parameter CHAN_BOND_SEQ_2_USE = "FALSE";
+ parameter integer CHAN_BOND_SEQ_LEN = 1;
+ parameter CLK_CORRECT_USE = "TRUE";
+ parameter CLK_COR_KEEP_IDLE = "FALSE";
+ parameter integer CLK_COR_MAX_LAT = 20;
+ parameter integer CLK_COR_MIN_LAT = 18;
+ parameter CLK_COR_PRECEDENCE = "TRUE";
+ parameter integer CLK_COR_REPEAT_WAIT = 0;
+ parameter [9:0] CLK_COR_SEQ_1_1 = 10'b0100011100;
+ parameter [9:0] CLK_COR_SEQ_1_2 = 10'b0000000000;
+ parameter [9:0] CLK_COR_SEQ_1_3 = 10'b0000000000;
+ parameter [9:0] CLK_COR_SEQ_1_4 = 10'b0000000000;
+ parameter [3:0] CLK_COR_SEQ_1_ENABLE = 4'b1111;
+ parameter [9:0] CLK_COR_SEQ_2_1 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_2 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_3 = 10'b0100000000;
+ parameter [9:0] CLK_COR_SEQ_2_4 = 10'b0100000000;
+ parameter [3:0] CLK_COR_SEQ_2_ENABLE = 4'b1111;
+ parameter CLK_COR_SEQ_2_USE = "FALSE";
+ parameter integer CLK_COR_SEQ_LEN = 1;
+ parameter [23:0] CPLL_CFG = 24'hB007D8;
+ parameter integer CPLL_FBDIV = 4;
+ parameter integer CPLL_FBDIV_45 = 5;
+ parameter [23:0] CPLL_INIT_CFG = 24'h00001E;
+ parameter [15:0] CPLL_LOCK_CFG = 16'h01E8;
+ parameter integer CPLL_REFCLK_DIV = 1;
+ parameter DEC_MCOMMA_DETECT = "TRUE";
+ parameter DEC_PCOMMA_DETECT = "TRUE";
+ parameter DEC_VALID_COMMA_ONLY = "TRUE";
+ parameter [23:0] DMONITOR_CFG = 24'h000A00;
+ parameter [5:0] ES_CONTROL = 6'b000000;
+ parameter ES_ERRDET_EN = "FALSE";
+ parameter ES_EYE_SCAN_EN = "FALSE";
+ parameter [11:0] ES_HORZ_OFFSET = 12'h000;
+ parameter [9:0] ES_PMA_CFG = 10'b0000000000;
+ parameter [4:0] ES_PRESCALE = 5'b00000;
+ parameter [79:0] ES_QUALIFIER = 80'h00000000000000000000;
+ parameter [79:0] ES_QUAL_MASK = 80'h00000000000000000000;
+ parameter [79:0] ES_SDATA_MASK = 80'h00000000000000000000;
+ parameter [8:0] ES_VERT_OFFSET = 9'b000000000;
+ parameter [3:0] FTS_DESKEW_SEQ_ENABLE = 4'b1111;
+ parameter [3:0] FTS_LANE_DESKEW_CFG = 4'b1111;
+ parameter FTS_LANE_DESKEW_EN = "FALSE";
+ parameter [2:0] GEARBOX_MODE = 3'b000;
+ parameter [0:0] IS_CPLLLOCKDETCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_DRPCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_GTGREFCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_RXUSRCLK2_INVERTED = 1'b0;
+ parameter [0:0] IS_RXUSRCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_TXPHDLYTSTCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_TXUSRCLK2_INVERTED = 1'b0;
+ parameter [0:0] IS_TXUSRCLK_INVERTED = 1'b0;
+ parameter [1:0] OUTREFCLK_SEL_INV = 2'b11;
+ parameter PCS_PCIE_EN = "FALSE";
+ parameter [47:0] PCS_RSVD_ATTR = 48'h000000000000;
+ parameter [11:0] PD_TRANS_TIME_FROM_P2 = 12'h03C;
+ parameter [7:0] PD_TRANS_TIME_NONE_P2 = 8'h19;
+ parameter [7:0] PD_TRANS_TIME_TO_P2 = 8'h64;
+ parameter [31:0] PMA_RSV = 32'h00000000;
+ parameter [15:0] PMA_RSV2 = 16'h2050;
+ parameter [1:0] PMA_RSV3 = 2'b00;
+ parameter [31:0] PMA_RSV4 = 32'h00000000;
+ parameter [4:0] RXBUFRESET_TIME = 5'b00001;
+ parameter RXBUF_ADDR_MODE = "FULL";
+ parameter [3:0] RXBUF_EIDLE_HI_CNT = 4'b1000;
+ parameter [3:0] RXBUF_EIDLE_LO_CNT = 4'b0000;
+ parameter RXBUF_EN = "TRUE";
+ parameter RXBUF_RESET_ON_CB_CHANGE = "TRUE";
+ parameter RXBUF_RESET_ON_COMMAALIGN = "FALSE";
+ parameter RXBUF_RESET_ON_EIDLE = "FALSE";
+ parameter RXBUF_RESET_ON_RATE_CHANGE = "TRUE";
+ parameter integer RXBUF_THRESH_OVFLW = 61;
+ parameter RXBUF_THRESH_OVRD = "FALSE";
+ parameter integer RXBUF_THRESH_UNDFLW = 4;
+ parameter [4:0] RXCDRFREQRESET_TIME = 5'b00001;
+ parameter [4:0] RXCDRPHRESET_TIME = 5'b00001;
+ parameter [71:0] RXCDR_CFG = 72'h0B000023FF20400020;
+ parameter [0:0] RXCDR_FR_RESET_ON_EIDLE = 1'b0;
+ parameter [0:0] RXCDR_HOLD_DURING_EIDLE = 1'b0;
+ parameter [5:0] RXCDR_LOCK_CFG = 6'b010101;
+ parameter [0:0] RXCDR_PH_RESET_ON_EIDLE = 1'b0;
+ parameter [6:0] RXDFELPMRESET_TIME = 7'b0001111;
+ parameter [15:0] RXDLY_CFG = 16'h001F;
+ parameter [8:0] RXDLY_LCFG = 9'h030;
+ parameter [15:0] RXDLY_TAP_CFG = 16'h0000;
+ parameter RXGEARBOX_EN = "FALSE";
+ parameter [4:0] RXISCANRESET_TIME = 5'b00001;
+ parameter [13:0] RXLPM_HF_CFG = 14'b00000011110000;
+ parameter [13:0] RXLPM_LF_CFG = 14'b00000011110000;
+ parameter [6:0] RXOOB_CFG = 7'b0000110;
+ parameter integer RXOUT_DIV = 2;
+ parameter [4:0] RXPCSRESET_TIME = 5'b00001;
+ parameter [23:0] RXPHDLY_CFG = 24'h084020;
+ parameter [23:0] RXPH_CFG = 24'h000000;
+ parameter [4:0] RXPH_MONITOR_SEL = 5'b00000;
+ parameter [4:0] RXPMARESET_TIME = 5'b00011;
+ parameter [0:0] RXPRBS_ERR_LOOPBACK = 1'b0;
+ parameter integer RXSLIDE_AUTO_WAIT = 7;
+ parameter RXSLIDE_MODE = "OFF";
+ parameter [11:0] RX_BIAS_CFG = 12'b000000000000;
+ parameter [5:0] RX_BUFFER_CFG = 6'b000000;
+ parameter integer RX_CLK25_DIV = 7;
+ parameter [0:0] RX_CLKMUX_PD = 1'b1;
+ parameter [1:0] RX_CM_SEL = 2'b11;
+ parameter [2:0] RX_CM_TRIM = 3'b100;
+ parameter integer RX_DATA_WIDTH = 20;
+ parameter [5:0] RX_DDI_SEL = 6'b000000;
+ parameter [11:0] RX_DEBUG_CFG = 12'b000000000000;
+ parameter RX_DEFER_RESET_BUF_EN = "TRUE";
+ parameter [22:0] RX_DFE_GAIN_CFG = 23'h180E0F;
+ parameter [11:0] RX_DFE_H2_CFG = 12'b000111100000;
+ parameter [11:0] RX_DFE_H3_CFG = 12'b000111100000;
+ parameter [10:0] RX_DFE_H4_CFG = 11'b00011110000;
+ parameter [10:0] RX_DFE_H5_CFG = 11'b00011110000;
+ parameter [12:0] RX_DFE_KL_CFG = 13'b0001111110000;
+ parameter [31:0] RX_DFE_KL_CFG2 = 32'h3008E56A;
+ parameter [15:0] RX_DFE_LPM_CFG = 16'h0904;
+ parameter [0:0] RX_DFE_LPM_HOLD_DURING_EIDLE = 1'b0;
+ parameter [16:0] RX_DFE_UT_CFG = 17'b00111111000000000;
+ parameter [16:0] RX_DFE_VP_CFG = 17'b00011111100000000;
+ parameter [12:0] RX_DFE_XYD_CFG = 13'b0000000010000;
+ parameter RX_DISPERR_SEQ_MATCH = "TRUE";
+ parameter integer RX_INT_DATAWIDTH = 0;
+ parameter [12:0] RX_OS_CFG = 13'b0001111110000;
+ parameter integer RX_SIG_VALID_DLY = 10;
+ parameter RX_XCLK_SEL = "RXREC";
+ parameter integer SAS_MAX_COM = 64;
+ parameter integer SAS_MIN_COM = 36;
+ parameter [3:0] SATA_BURST_SEQ_LEN = 4'b1111;
+ parameter [2:0] SATA_BURST_VAL = 3'b100;
+ parameter SATA_CPLL_CFG = "VCO_3000MHZ";
+ parameter [2:0] SATA_EIDLE_VAL = 3'b100;
+ parameter integer SATA_MAX_BURST = 8;
+ parameter integer SATA_MAX_INIT = 21;
+ parameter integer SATA_MAX_WAKE = 7;
+ parameter integer SATA_MIN_BURST = 4;
+ parameter integer SATA_MIN_INIT = 12;
+ parameter integer SATA_MIN_WAKE = 4;
+ parameter SHOW_REALIGN_COMMA = "TRUE";
+ parameter [2:0] SIM_CPLLREFCLK_SEL = 3'b001;
+ parameter SIM_RECEIVER_DETECT_PASS = "TRUE";
+ parameter SIM_RESET_SPEEDUP = "TRUE";
+ parameter SIM_TX_EIDLE_DRIVE_LEVEL = "X";
+ parameter SIM_VERSION = "4.0";
+ parameter [4:0] TERM_RCAL_CFG = 5'b10000;
+ parameter [0:0] TERM_RCAL_OVRD = 1'b0;
+ parameter [7:0] TRANS_TIME_RATE = 8'h0E;
+ parameter [31:0] TST_RSV = 32'h00000000;
+ parameter TXBUF_EN = "TRUE";
+ parameter TXBUF_RESET_ON_RATE_CHANGE = "FALSE";
+ parameter [15:0] TXDLY_CFG = 16'h001F;
+ parameter [8:0] TXDLY_LCFG = 9'h030;
+ parameter [15:0] TXDLY_TAP_CFG = 16'h0000;
+ parameter TXGEARBOX_EN = "FALSE";
+ parameter integer TXOUT_DIV = 2;
+ parameter [4:0] TXPCSRESET_TIME = 5'b00001;
+ parameter [23:0] TXPHDLY_CFG = 24'h084020;
+ parameter [15:0] TXPH_CFG = 16'h0780;
+ parameter [4:0] TXPH_MONITOR_SEL = 5'b00000;
+ parameter [4:0] TXPMARESET_TIME = 5'b00001;
+ parameter integer TX_CLK25_DIV = 7;
+ parameter [0:0] TX_CLKMUX_PD = 1'b1;
+ parameter integer TX_DATA_WIDTH = 20;
+ parameter [4:0] TX_DEEMPH0 = 5'b00000;
+ parameter [4:0] TX_DEEMPH1 = 5'b00000;
+ parameter TX_DRIVE_MODE = "DIRECT";
+ parameter [2:0] TX_EIDLE_ASSERT_DELAY = 3'b110;
+ parameter [2:0] TX_EIDLE_DEASSERT_DELAY = 3'b100;
+ parameter integer TX_INT_DATAWIDTH = 0;
+ parameter TX_LOOPBACK_DRIVE_HIZ = "FALSE";
+ parameter [0:0] TX_MAINCURSOR_SEL = 1'b0;
+ parameter [6:0] TX_MARGIN_FULL_0 = 7'b1001110;
+ parameter [6:0] TX_MARGIN_FULL_1 = 7'b1001001;
+ parameter [6:0] TX_MARGIN_FULL_2 = 7'b1000101;
+ parameter [6:0] TX_MARGIN_FULL_3 = 7'b1000010;
+ parameter [6:0] TX_MARGIN_FULL_4 = 7'b1000000;
+ parameter [6:0] TX_MARGIN_LOW_0 = 7'b1000110;
+ parameter [6:0] TX_MARGIN_LOW_1 = 7'b1000100;
+ parameter [6:0] TX_MARGIN_LOW_2 = 7'b1000010;
+ parameter [6:0] TX_MARGIN_LOW_3 = 7'b1000000;
+ parameter [6:0] TX_MARGIN_LOW_4 = 7'b1000000;
+ parameter [0:0] TX_PREDRIVER_MODE = 1'b0;
+ parameter [0:0] TX_QPI_STATUS_EN = 1'b0;
+ parameter [13:0] TX_RXDETECT_CFG = 14'h1832;
+ parameter [2:0] TX_RXDETECT_REF = 3'b100;
+ parameter TX_XCLK_SEL = "TXUSR";
+ parameter [0:0] UCODEER_CLR = 1'b0;
+ output CPLLFBCLKLOST;
+ output CPLLLOCK;
+ output CPLLREFCLKLOST;
+ output DRPRDY;
+ output EYESCANDATAERROR;
+ output GTREFCLKMONITOR;
+ output GTXTXN;
+ output GTXTXP;
+ output PHYSTATUS;
+ output RXBYTEISALIGNED;
+ output RXBYTEREALIGN;
+ output RXCDRLOCK;
+ output RXCHANBONDSEQ;
+ output RXCHANISALIGNED;
+ output RXCHANREALIGN;
+ output RXCOMINITDET;
+ output RXCOMMADET;
+ output RXCOMSASDET;
+ output RXCOMWAKEDET;
+ output RXDATAVALID;
+ output RXDLYSRESETDONE;
+ output RXELECIDLE;
+ output RXHEADERVALID;
+ output RXOUTCLK;
+ output RXOUTCLKFABRIC;
+ output RXOUTCLKPCS;
+ output RXPHALIGNDONE;
+ output RXPRBSERR;
+ output RXQPISENN;
+ output RXQPISENP;
+ output RXRATEDONE;
+ output RXRESETDONE;
+ output RXSTARTOFSEQ;
+ output RXVALID;
+ output TXCOMFINISH;
+ output TXDLYSRESETDONE;
+ output TXGEARBOXREADY;
+ output TXOUTCLK;
+ output TXOUTCLKFABRIC;
+ output TXOUTCLKPCS;
+ output TXPHALIGNDONE;
+ output TXPHINITDONE;
+ output TXQPISENN;
+ output TXQPISENP;
+ output TXRATEDONE;
+ output TXRESETDONE;
+ output [15:0] DRPDO;
+ output [15:0] PCSRSVDOUT;
+ output [1:0] RXCLKCORCNT;
+ output [1:0] TXBUFSTATUS;
+ output [2:0] RXBUFSTATUS;
+ output [2:0] RXHEADER;
+ output [2:0] RXSTATUS;
+ output [4:0] RXCHBONDO;
+ output [4:0] RXPHMONITOR;
+ output [4:0] RXPHSLIPMONITOR;
+ output [63:0] RXDATA;
+ output [6:0] RXMONITOROUT;
+ output [7:0] DMONITOROUT;
+ output [7:0] RXCHARISCOMMA;
+ output [7:0] RXCHARISK;
+ output [7:0] RXDISPERR;
+ output [7:0] RXNOTINTABLE;
+ output [9:0] TSTOUT;
+ input CFGRESET;
+ input CPLLLOCKDETCLK;
+ input CPLLLOCKEN;
+ input CPLLPD;
+ input CPLLRESET;
+ input DRPCLK;
+ input DRPEN;
+ input DRPWE;
+ input EYESCANMODE;
+ input EYESCANRESET;
+ input EYESCANTRIGGER;
+ input GTGREFCLK;
+ input GTNORTHREFCLK0;
+ input GTNORTHREFCLK1;
+ input GTREFCLK0;
+ input GTREFCLK1;
+ input GTRESETSEL;
+ input GTRXRESET;
+ input GTSOUTHREFCLK0;
+ input GTSOUTHREFCLK1;
+ input GTTXRESET;
+ input GTXRXN;
+ input GTXRXP;
+ input QPLLCLK;
+ input QPLLREFCLK;
+ input RESETOVRD;
+ input RX8B10BEN;
+ input RXBUFRESET;
+ input RXCDRFREQRESET;
+ input RXCDRHOLD;
+ input RXCDROVRDEN;
+ input RXCDRRESET;
+ input RXCDRRESETRSV;
+ input RXCHBONDEN;
+ input RXCHBONDMASTER;
+ input RXCHBONDSLAVE;
+ input RXCOMMADETEN;
+ input RXDDIEN;
+ input RXDFEAGCHOLD;
+ input RXDFEAGCOVRDEN;
+ input RXDFECM1EN;
+ input RXDFELFHOLD;
+ input RXDFELFOVRDEN;
+ input RXDFELPMRESET;
+ input RXDFETAP2HOLD;
+ input RXDFETAP2OVRDEN;
+ input RXDFETAP3HOLD;
+ input RXDFETAP3OVRDEN;
+ input RXDFETAP4HOLD;
+ input RXDFETAP4OVRDEN;
+ input RXDFETAP5HOLD;
+ input RXDFETAP5OVRDEN;
+ input RXDFEUTHOLD;
+ input RXDFEUTOVRDEN;
+ input RXDFEVPHOLD;
+ input RXDFEVPOVRDEN;
+ input RXDFEVSEN;
+ input RXDFEXYDEN;
+ input RXDFEXYDHOLD;
+ input RXDFEXYDOVRDEN;
+ input RXDLYBYPASS;
+ input RXDLYEN;
+ input RXDLYOVRDEN;
+ input RXDLYSRESET;
+ input RXGEARBOXSLIP;
+ input RXLPMEN;
+ input RXLPMHFHOLD;
+ input RXLPMHFOVRDEN;
+ input RXLPMLFHOLD;
+ input RXLPMLFKLOVRDEN;
+ input RXMCOMMAALIGNEN;
+ input RXOOBRESET;
+ input RXOSHOLD;
+ input RXOSOVRDEN;
+ input RXPCOMMAALIGNEN;
+ input RXPCSRESET;
+ input RXPHALIGN;
+ input RXPHALIGNEN;
+ input RXPHDLYPD;
+ input RXPHDLYRESET;
+ input RXPHOVRDEN;
+ input RXPMARESET;
+ input RXPOLARITY;
+ input RXPRBSCNTRESET;
+ input RXQPIEN;
+ input RXSLIDE;
+ input RXUSERRDY;
+ input RXUSRCLK2;
+ input RXUSRCLK;
+ input SETERRSTATUS;
+ input TX8B10BEN;
+ input TXCOMINIT;
+ input TXCOMSAS;
+ input TXCOMWAKE;
+ input TXDEEMPH;
+ input TXDETECTRX;
+ input TXDIFFPD;
+ input TXDLYBYPASS;
+ input TXDLYEN;
+ input TXDLYHOLD;
+ input TXDLYOVRDEN;
+ input TXDLYSRESET;
+ input TXDLYUPDOWN;
+ input TXELECIDLE;
+ input TXINHIBIT;
+ input TXPCSRESET;
+ input TXPDELECIDLEMODE;
+ input TXPHALIGN;
+ input TXPHALIGNEN;
+ input TXPHDLYPD;
+ input TXPHDLYRESET;
+ input TXPHDLYTSTCLK;
+ input TXPHINIT;
+ input TXPHOVRDEN;
+ input TXPISOPD;
+ input TXPMARESET;
+ input TXPOLARITY;
+ input TXPOSTCURSORINV;
+ input TXPRBSFORCEERR;
+ input TXPRECURSORINV;
+ input TXQPIBIASEN;
+ input TXQPISTRONGPDOWN;
+ input TXQPIWEAKPUP;
+ input TXSTARTSEQ;
+ input TXSWING;
+ input TXUSERRDY;
+ input TXUSRCLK2;
+ input TXUSRCLK;
+ input [15:0] DRPDI;
+ input [15:0] GTRSVD;
+ input [15:0] PCSRSVDIN;
+ input [19:0] TSTIN;
+ input [1:0] RXELECIDLEMODE;
+ input [1:0] RXMONITORSEL;
+ input [1:0] RXPD;
+ input [1:0] RXSYSCLKSEL;
+ input [1:0] TXPD;
+ input [1:0] TXSYSCLKSEL;
+ input [2:0] CPLLREFCLKSEL;
+ input [2:0] LOOPBACK;
+ input [2:0] RXCHBONDLEVEL;
+ input [2:0] RXOUTCLKSEL;
+ input [2:0] RXPRBSSEL;
+ input [2:0] RXRATE;
+ input [2:0] TXBUFDIFFCTRL;
+ input [2:0] TXHEADER;
+ input [2:0] TXMARGIN;
+ input [2:0] TXOUTCLKSEL;
+ input [2:0] TXPRBSSEL;
+ input [2:0] TXRATE;
+ input [3:0] CLKRSVD;
+ input [3:0] TXDIFFCTRL;
+ input [4:0] PCSRSVDIN2;
+ input [4:0] PMARSVDIN2;
+ input [4:0] PMARSVDIN;
+ input [4:0] RXCHBONDI;
+ input [4:0] TXPOSTCURSOR;
+ input [4:0] TXPRECURSOR;
+ input [63:0] TXDATA;
+ input [6:0] TXMAINCURSOR;
+ input [6:0] TXSEQUENCE;
+ input [7:0] TX8B10BBYPASS;
+ input [7:0] TXCHARDISPMODE;
+ input [7:0] TXCHARDISPVAL;
+ input [7:0] TXCHARISK;
+ input [8:0] DRPADDR;
+endmodule
+
+module GTXE2_COMMON (...);
+ parameter [63:0] BIAS_CFG = 64'h0000040000001000;
+ parameter [31:0] COMMON_CFG = 32'h00000000;
+ parameter [0:0] IS_DRPCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_GTGREFCLK_INVERTED = 1'b0;
+ parameter [0:0] IS_QPLLLOCKDETCLK_INVERTED = 1'b0;
+ parameter [26:0] QPLL_CFG = 27'h0680181;
+ parameter [3:0] QPLL_CLKOUT_CFG = 4'b0000;
+ parameter [5:0] QPLL_COARSE_FREQ_OVRD = 6'b010000;
+ parameter [0:0] QPLL_COARSE_FREQ_OVRD_EN = 1'b0;
+ parameter [9:0] QPLL_CP = 10'b0000011111;
+ parameter [0:0] QPLL_CP_MONITOR_EN = 1'b0;
+ parameter [0:0] QPLL_DMONITOR_SEL = 1'b0;
+ parameter [9:0] QPLL_FBDIV = 10'b0000000000;
+ parameter [0:0] QPLL_FBDIV_MONITOR_EN = 1'b0;
+ parameter [0:0] QPLL_FBDIV_RATIO = 1'b0;
+ parameter [23:0] QPLL_INIT_CFG = 24'h000006;
+ parameter [15:0] QPLL_LOCK_CFG = 16'h21E8;
+ parameter [3:0] QPLL_LPF = 4'b1111;
+ parameter integer QPLL_REFCLK_DIV = 2;
+ parameter [2:0] SIM_QPLLREFCLK_SEL = 3'b001;
+ parameter SIM_RESET_SPEEDUP = "TRUE";
+ parameter SIM_VERSION = "4.0";
+ output DRPRDY;
+ output QPLLFBCLKLOST;
+ output QPLLLOCK;
+ output QPLLOUTCLK;
+ output QPLLOUTREFCLK;
+ output QPLLREFCLKLOST;
+ output REFCLKOUTMONITOR;
+ output [15:0] DRPDO;
+ output [7:0] QPLLDMONITOR;
+ input BGBYPASSB;
+ input BGMONITORENB;
+ input BGPDB;
+ input DRPCLK;
+ input DRPEN;
+ input DRPWE;
+ input GTGREFCLK;
+ input GTNORTHREFCLK0;
+ input GTNORTHREFCLK1;
+ input GTREFCLK0;
+ input GTREFCLK1;
+ input GTSOUTHREFCLK0;
+ input GTSOUTHREFCLK1;
+ input QPLLLOCKDETCLK;
+ input QPLLLOCKEN;
+ input QPLLOUTRESET;
+ input QPLLPD;
+ input QPLLRESET;
+ input RCALENB;
+ input [15:0] DRPDI;
+ input [15:0] QPLLRSVD1;
+ input [2:0] QPLLREFCLKSEL;
+ input [4:0] BGRCALOVRD;
+ input [4:0] QPLLRSVD2;
+ input [7:0] DRPADDR;
+ input [7:0] PMARSVD;
+endmodule
+
+module IBUF_IBUFDISABLE (...);
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ input I;
+ input IBUFDISABLE;
+endmodule
+
+module IBUF_INTERMDISABLE (...);
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ input I;
+ input IBUFDISABLE;
+ input INTERMDISABLE;
+endmodule
+
+module IBUFDS (...);
+ parameter CAPACITANCE = "DONT_CARE";
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_DELAY_VALUE = "0";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IFD_DELAY_VALUE = "AUTO";
+ parameter IOSTANDARD = "DEFAULT";
+ output O;
+ input I, IB;
+endmodule
+
+module IBUFDS_DIFF_OUT (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ output O, OB;
+ input I, IB;
+endmodule
+
+module IBUFDS_DIFF_OUT_IBUFDISABLE (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ output OB;
+ input I;
+ input IB;
+ input IBUFDISABLE;
+endmodule
+
+module IBUFDS_DIFF_OUT_INTERMDISABLE (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ output OB;
+ input I;
+ input IB;
+ input IBUFDISABLE;
+ input INTERMDISABLE;
+endmodule
+
+module IBUFDS_GTE2 (...);
+ parameter CLKCM_CFG = "TRUE";
+ parameter CLKRCV_TRST = "TRUE";
+ parameter CLKSWING_CFG = "TRUE";
+ output O;
+ output ODIV2;
+ input CEB;
+ input I;
+ input IB;
+endmodule
+
+module IBUFDS_IBUFDISABLE (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ input I;
+ input IB;
+ input IBUFDISABLE;
+endmodule
+
+module IBUFDS_INTERMDISABLE (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ input I;
+ input IB;
+ input IBUFDISABLE;
+ input INTERMDISABLE;
+endmodule
+
+module ICAPE2 (...);
+ parameter [31:0] DEVICE_ID = 32'h04244093;
+ parameter ICAP_WIDTH = "X32";
+ parameter SIM_CFG_FILE_NAME = "NONE";
+ output [31:0] O;
+ input CLK;
+ input CSIB;
+ input RDWRB;
+ input [31:0] I;
+endmodule
+
+module IDDR (...);
+ parameter DDR_CLK_EDGE = "OPPOSITE_EDGE";
+ parameter INIT_Q1 = 1'b0;
+ parameter INIT_Q2 = 1'b0;
+ parameter [0:0] IS_C_INVERTED = 1'b0;
+ parameter [0:0] IS_D_INVERTED = 1'b0;
+ parameter SRTYPE = "SYNC";
+ parameter MSGON = "TRUE";
+ parameter XON = "TRUE";
+ output Q1;
+ output Q2;
+ input C;
+ input CE;
+ input D;
+ input R;
+ input S;
+endmodule
+
+module IDDR_2CLK (...);
+ parameter DDR_CLK_EDGE = "OPPOSITE_EDGE";
+ parameter INIT_Q1 = 1'b0;
+ parameter INIT_Q2 = 1'b0;
+ parameter [0:0] IS_CB_INVERTED = 1'b0;
+ parameter [0:0] IS_C_INVERTED = 1'b0;
+ parameter [0:0] IS_D_INVERTED = 1'b0;
+ parameter SRTYPE = "SYNC";
+ output Q1;
+ output Q2;
+ input C;
+ input CB;
+ input CE;
+ input D;
+ input R;
+ input S;
+endmodule
+
+module IDELAYCTRL (...);
+ parameter SIM_DEVICE = "7SERIES";
+ output RDY;
+ input REFCLK;
+ input RST;
+endmodule
+
+module IDELAYE2 (...);
+ parameter CINVCTRL_SEL = "FALSE";
+ parameter DELAY_SRC = "IDATAIN";
+ parameter HIGH_PERFORMANCE_MODE = "FALSE";
+ parameter IDELAY_TYPE = "FIXED";
+ parameter integer IDELAY_VALUE = 0;
+ parameter [0:0] IS_C_INVERTED = 1'b0;
+ parameter [0:0] IS_DATAIN_INVERTED = 1'b0;
+ parameter [0:0] IS_IDATAIN_INVERTED = 1'b0;
+ parameter PIPE_SEL = "FALSE";
+ parameter real REFCLK_FREQUENCY = 200.0;
+ parameter SIGNAL_PATTERN = "DATA";
+ parameter integer SIM_DELAY_D = 0;
+ output [4:0] CNTVALUEOUT;
+ output DATAOUT;
+ input C;
+ input CE;
+ input CINVCTRL;
+ input [4:0] CNTVALUEIN;
+ input DATAIN;
+ input IDATAIN;
+ input INC;
+ input LD;
+ input LDPIPEEN;
+ input REGRST;
+endmodule
+
+module IN_FIFO (...);
+ parameter integer ALMOST_EMPTY_VALUE = 1;
+ parameter integer ALMOST_FULL_VALUE = 1;
+ parameter ARRAY_MODE = "ARRAY_MODE_4_X_8";
+ parameter SYNCHRONOUS_MODE = "FALSE";
+ output ALMOSTEMPTY;
+ output ALMOSTFULL;
+ output EMPTY;
+ output FULL;
+ output [7:0] Q0;
+ output [7:0] Q1;
+ output [7:0] Q2;
+ output [7:0] Q3;
+ output [7:0] Q4;
+ output [7:0] Q5;
+ output [7:0] Q6;
+ output [7:0] Q7;
+ output [7:0] Q8;
+ output [7:0] Q9;
+ input RDCLK;
+ input RDEN;
+ input RESET;
+ input WRCLK;
+ input WREN;
+ input [3:0] D0;
+ input [3:0] D1;
+ input [3:0] D2;
+ input [3:0] D3;
+ input [3:0] D4;
+ input [3:0] D7;
+ input [3:0] D8;
+ input [3:0] D9;
+ input [7:0] D5;
+ input [7:0] D6;
+endmodule
+
+module IOBUF (...);
+ parameter integer DRIVE = 12;
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SLEW = "SLOW";
+ output O;
+ input I, T;
+endmodule
+
+module IOBUF_DCIEN (...);
+ parameter integer DRIVE = 12;
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter SLEW = "SLOW";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ input DCITERMDISABLE;
+ input I;
+ input IBUFDISABLE;
+ input T;
+endmodule
+
+module IOBUF_INTERMDISABLE (...);
+ parameter integer DRIVE = 12;
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter SLEW = "SLOW";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ input I;
+ input IBUFDISABLE;
+ input INTERMDISABLE;
+ input T;
+endmodule
+
+module IOBUFDS (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SLEW = "SLOW";
+ output O;
+ input I, T;
+endmodule
+
+module IOBUFDS_DCIEN (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter SLEW = "SLOW";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ input DCITERMDISABLE;
+ input I;
+ input IBUFDISABLE;
+ input T;
+endmodule
+
+module IOBUFDS_DIFF_OUT (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ output O;
+ output OB;
+ input I;
+ input TM;
+ input TS;
+endmodule
+
+module IOBUFDS_DIFF_OUT_DCIEN (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ output OB;
+ input DCITERMDISABLE;
+ input I;
+ input IBUFDISABLE;
+ input TM;
+ input TS;
+endmodule
+
+module IOBUFDS_DIFF_OUT_INTERMDISABLE (...);
+ parameter DIFF_TERM = "FALSE";
+ parameter DQS_BIAS = "FALSE";
+ parameter IBUF_LOW_PWR = "TRUE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SIM_DEVICE = "7SERIES";
+ parameter USE_IBUFDISABLE = "TRUE";
+ output O;
+ output OB;
+ input I;
+ input IBUFDISABLE;
+ input INTERMDISABLE;
+ input TM;
+ input TS;
+endmodule
+
+module ISERDESE2 (...);
+ parameter DATA_RATE = "DDR";
+ parameter integer DATA_WIDTH = 4;
+ parameter DYN_CLKDIV_INV_EN = "FALSE";
+ parameter DYN_CLK_INV_EN = "FALSE";
+ parameter [0:0] INIT_Q1 = 1'b0;
+ parameter [0:0] INIT_Q2 = 1'b0;
+ parameter [0:0] INIT_Q3 = 1'b0;
+ parameter [0:0] INIT_Q4 = 1'b0;
+ parameter INTERFACE_TYPE = "MEMORY";
+ parameter IOBDELAY = "NONE";
+ parameter [0:0] IS_CLKB_INVERTED = 1'b0;
+ parameter [0:0] IS_CLKDIVP_INVERTED = 1'b0;
+ parameter [0:0] IS_CLKDIV_INVERTED = 1'b0;
+ parameter [0:0] IS_CLK_INVERTED = 1'b0;
+ parameter [0:0] IS_D_INVERTED = 1'b0;
+ parameter [0:0] IS_OCLKB_INVERTED = 1'b0;
+ parameter [0:0] IS_OCLK_INVERTED = 1'b0;
+ parameter integer NUM_CE = 2;
+ parameter OFB_USED = "FALSE";
+ parameter SERDES_MODE = "MASTER";
+ parameter [0:0] SRVAL_Q1 = 1'b0;
+ parameter [0:0] SRVAL_Q2 = 1'b0;
+ parameter [0:0] SRVAL_Q3 = 1'b0;
+ parameter [0:0] SRVAL_Q4 = 1'b0;
+ output O;
+ output Q1;
+ output Q2;
+ output Q3;
+ output Q4;
+ output Q5;
+ output Q6;
+ output Q7;
+ output Q8;
+ output SHIFTOUT1;
+ output SHIFTOUT2;
+ input BITSLIP;
+ input CE1;
+ input CE2;
+ input CLK;
+ input CLKB;
+ input CLKDIV;
+ input CLKDIVP;
+ input D;
+ input DDLY;
+ input DYNCLKDIVSEL;
+ input DYNCLKSEL;
+ input OCLK;
+ input OCLKB;
+ input OFB;
+ input RST;
+ input SHIFTIN1;
+ input SHIFTIN2;
+endmodule
+
+module KEEPER (...);
+endmodule
+
+module LDCE (...);
+ parameter [0:0] INIT = 1'b0;
+ parameter [0:0] IS_CLR_INVERTED = 1'b0;
+ parameter [0:0] IS_G_INVERTED = 1'b0;
+ parameter MSGON = "TRUE";
+ parameter XON = "TRUE";
+ output Q;
+ input CLR, D, G, GE;
+endmodule
+
+module LDPE (...);
+ parameter [0:0] INIT = 1'b1;
+ parameter [0:0] IS_G_INVERTED = 1'b0;
+ parameter [0:0] IS_PRE_INVERTED = 1'b0;
+ parameter MSGON = "TRUE";
+ parameter XON = "TRUE";
+ output Q;
+ input D, G, GE, PRE;
+endmodule
+
+module LUT6_2 (...);
+ parameter [63:0] INIT = 64'h0000000000000000;
+ input I0, I1, I2, I3, I4, I5;
+ output O5, O6;
+endmodule
+
+module MMCME2_ADV (...);
+ parameter BANDWIDTH = "OPTIMIZED";
+ parameter real CLKFBOUT_MULT_F = 5.000;
+ parameter real CLKFBOUT_PHASE = 0.000;
+ parameter CLKFBOUT_USE_FINE_PS = "FALSE";
+ parameter real CLKIN1_PERIOD = 0.000;
+ parameter real CLKIN2_PERIOD = 0.000;
+ parameter real CLKIN_FREQ_MAX = 1066.000;
+ parameter real CLKIN_FREQ_MIN = 10.000;
+ parameter real CLKOUT0_DIVIDE_F = 1.000;
+ parameter real CLKOUT0_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT0_PHASE = 0.000;
+ parameter CLKOUT0_USE_FINE_PS = "FALSE";
+ parameter integer CLKOUT1_DIVIDE = 1;
+ parameter real CLKOUT1_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT1_PHASE = 0.000;
+ parameter CLKOUT1_USE_FINE_PS = "FALSE";
+ parameter integer CLKOUT2_DIVIDE = 1;
+ parameter real CLKOUT2_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT2_PHASE = 0.000;
+ parameter CLKOUT2_USE_FINE_PS = "FALSE";
+ parameter integer CLKOUT3_DIVIDE = 1;
+ parameter real CLKOUT3_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT3_PHASE = 0.000;
+ parameter CLKOUT3_USE_FINE_PS = "FALSE";
+ parameter CLKOUT4_CASCADE = "FALSE";
+ parameter integer CLKOUT4_DIVIDE = 1;
+ parameter real CLKOUT4_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT4_PHASE = 0.000;
+ parameter CLKOUT4_USE_FINE_PS = "FALSE";
+ parameter integer CLKOUT5_DIVIDE = 1;
+ parameter real CLKOUT5_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT5_PHASE = 0.000;
+ parameter CLKOUT5_USE_FINE_PS = "FALSE";
+ parameter integer CLKOUT6_DIVIDE = 1;
+ parameter real CLKOUT6_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT6_PHASE = 0.000;
+ parameter CLKOUT6_USE_FINE_PS = "FALSE";
+ parameter real CLKPFD_FREQ_MAX = 550.000;
+ parameter real CLKPFD_FREQ_MIN = 10.000;
+ parameter COMPENSATION = "ZHOLD";
+ parameter integer DIVCLK_DIVIDE = 1;
+ parameter [0:0] IS_CLKINSEL_INVERTED = 1'b0;
+ parameter [0:0] IS_PSEN_INVERTED = 1'b0;
+ parameter [0:0] IS_PSINCDEC_INVERTED = 1'b0;
+ parameter [0:0] IS_PWRDWN_INVERTED = 1'b0;
+ parameter [0:0] IS_RST_INVERTED = 1'b0;
+ parameter real REF_JITTER1 = 0.010;
+ parameter real REF_JITTER2 = 0.010;
+ parameter SS_EN = "FALSE";
+ parameter SS_MODE = "CENTER_HIGH";
+ parameter integer SS_MOD_PERIOD = 10000;
+ parameter STARTUP_WAIT = "FALSE";
+ parameter real VCOCLK_FREQ_MAX = 1600.000;
+ parameter real VCOCLK_FREQ_MIN = 600.000;
+ parameter STARTUP_WAIT = "FALSE";
+ output CLKFBOUT;
+ output CLKFBOUTB;
+ output CLKFBSTOPPED;
+ output CLKINSTOPPED;
+ output CLKOUT0;
+ output CLKOUT0B;
+ output CLKOUT1;
+ output CLKOUT1B;
+ output CLKOUT2;
+ output CLKOUT2B;
+ output CLKOUT3;
+ output CLKOUT3B;
+ output CLKOUT4;
+ output CLKOUT5;
+ output CLKOUT6;
+ output [15:0] DO;
+ output DRDY;
+ output LOCKED;
+ output PSDONE;
+ input CLKFBIN;
+ input CLKIN1;
+ input CLKIN2;
+ input CLKINSEL;
+ input [6:0] DADDR;
+ input DCLK;
+ input DEN;
+ input [15:0] DI;
+ input DWE;
+ input PSCLK;
+ input PSEN;
+ input PSINCDEC;
+ input PWRDWN;
+ input RST;
+endmodule
+
+module MMCME2_BASE (...);
+ parameter BANDWIDTH = "OPTIMIZED";
+ parameter real CLKFBOUT_MULT_F = 5.000;
+ parameter real CLKFBOUT_PHASE = 0.000;
+ parameter real CLKIN1_PERIOD = 0.000;
+ parameter real CLKOUT0_DIVIDE_F = 1.000;
+ parameter real CLKOUT0_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT0_PHASE = 0.000;
+ parameter integer CLKOUT1_DIVIDE = 1;
+ parameter real CLKOUT1_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT1_PHASE = 0.000;
+ parameter integer CLKOUT2_DIVIDE = 1;
+ parameter real CLKOUT2_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT2_PHASE = 0.000;
+ parameter integer CLKOUT3_DIVIDE = 1;
+ parameter real CLKOUT3_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT3_PHASE = 0.000;
+ parameter CLKOUT4_CASCADE = "FALSE";
+ parameter integer CLKOUT4_DIVIDE = 1;
+ parameter real CLKOUT4_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT4_PHASE = 0.000;
+ parameter integer CLKOUT5_DIVIDE = 1;
+ parameter real CLKOUT5_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT5_PHASE = 0.000;
+ parameter integer CLKOUT6_DIVIDE = 1;
+ parameter real CLKOUT6_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT6_PHASE = 0.000;
+ parameter integer DIVCLK_DIVIDE = 1;
+ parameter real REF_JITTER1 = 0.010;
+ parameter STARTUP_WAIT = "FALSE";
+ output CLKFBOUT;
+ output CLKFBOUTB;
+ output CLKOUT0;
+ output CLKOUT0B;
+ output CLKOUT1;
+ output CLKOUT1B;
+ output CLKOUT2;
+ output CLKOUT2B;
+ output CLKOUT3;
+ output CLKOUT3B;
+ output CLKOUT4;
+ output CLKOUT5;
+ output CLKOUT6;
+ output LOCKED;
+ input CLKFBIN;
+ input CLKIN1;
+ input PWRDWN;
+ input RST;
+endmodule
+
+module OBUFDS (...);
+ parameter CAPACITANCE = "DONT_CARE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SLEW = "SLOW";
+ output O, OB;
+ input I;
+endmodule
+
+module OBUFT (...);
+ parameter CAPACITANCE = "DONT_CARE";
+ parameter integer DRIVE = 12;
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SLEW = "SLOW";
+ output O;
+ input I, T;
+endmodule
+
+module OBUFTDS (...);
+ parameter CAPACITANCE = "DONT_CARE";
+ parameter IOSTANDARD = "DEFAULT";
+ parameter SLEW = "SLOW";
+ output O, OB;
+ input I, T;
+endmodule
+
+module ODDR (...);
+ output Q;
+ input C;
+ input CE;
+ input D1;
+ input D2;
+ input R;
+ input S;
+ parameter DDR_CLK_EDGE = "OPPOSITE_EDGE";
+ parameter INIT = 1'b0;
+ parameter [0:0] IS_C_INVERTED = 1'b0;
+ parameter [0:0] IS_D1_INVERTED = 1'b0;
+ parameter [0:0] IS_D2_INVERTED = 1'b0;
+ parameter SRTYPE = "SYNC";
+ parameter MSGON = "TRUE";
+ parameter XON = "TRUE";
+endmodule
+
+module ODELAYE2 (...);
+ parameter CINVCTRL_SEL = "FALSE";
+ parameter DELAY_SRC = "ODATAIN";
+ parameter HIGH_PERFORMANCE_MODE = "FALSE";
+ parameter [0:0] IS_C_INVERTED = 1'b0;
+ parameter [0:0] IS_ODATAIN_INVERTED = 1'b0;
+ parameter ODELAY_TYPE = "FIXED";
+ parameter integer ODELAY_VALUE = 0;
+ parameter PIPE_SEL = "FALSE";
+ parameter real REFCLK_FREQUENCY = 200.0;
+ parameter SIGNAL_PATTERN = "DATA";
+ parameter integer SIM_DELAY_D = 0;
+ output [4:0] CNTVALUEOUT;
+ output DATAOUT;
+ input C;
+ input CE;
+ input CINVCTRL;
+ input CLKIN;
+ input [4:0] CNTVALUEIN;
+ input INC;
+ input LD;
+ input LDPIPEEN;
+ input ODATAIN;
+ input REGRST;
+endmodule
+
+module OSERDESE2 (...);
+ parameter DATA_RATE_OQ = "DDR";
+ parameter DATA_RATE_TQ = "DDR";
+ parameter integer DATA_WIDTH = 4;
+ parameter [0:0] INIT_OQ = 1'b0;
+ parameter [0:0] INIT_TQ = 1'b0;
+ parameter [0:0] IS_CLKDIV_INVERTED = 1'b0;
+ parameter [0:0] IS_CLK_INVERTED = 1'b0;
+ parameter [0:0] IS_D1_INVERTED = 1'b0;
+ parameter [0:0] IS_D2_INVERTED = 1'b0;
+ parameter [0:0] IS_D3_INVERTED = 1'b0;
+ parameter [0:0] IS_D4_INVERTED = 1'b0;
+ parameter [0:0] IS_D5_INVERTED = 1'b0;
+ parameter [0:0] IS_D6_INVERTED = 1'b0;
+ parameter [0:0] IS_D7_INVERTED = 1'b0;
+ parameter [0:0] IS_D8_INVERTED = 1'b0;
+ parameter [0:0] IS_T1_INVERTED = 1'b0;
+ parameter [0:0] IS_T2_INVERTED = 1'b0;
+ parameter [0:0] IS_T3_INVERTED = 1'b0;
+ parameter [0:0] IS_T4_INVERTED = 1'b0;
+ parameter SERDES_MODE = "MASTER";
+ parameter [0:0] SRVAL_OQ = 1'b0;
+ parameter [0:0] SRVAL_TQ = 1'b0;
+ parameter TBYTE_CTL = "FALSE";
+ parameter TBYTE_SRC = "FALSE";
+ parameter integer TRISTATE_WIDTH = 4;
+ output OFB;
+ output OQ;
+ output SHIFTOUT1;
+ output SHIFTOUT2;
+ output TBYTEOUT;
+ output TFB;
+ output TQ;
+ input CLK;
+ input CLKDIV;
+ input D1;
+ input D2;
+ input D3;
+ input D4;
+ input D5;
+ input D6;
+ input D7;
+ input D8;
+ input OCE;
+ input RST;
+ input SHIFTIN1;
+ input SHIFTIN2;
+ input T1;
+ input T2;
+ input T3;
+ input T4;
+ input TBYTEIN;
+ input TCE;
+endmodule
+
+module OUT_FIFO (...);
+ parameter integer ALMOST_EMPTY_VALUE = 1;
+ parameter integer ALMOST_FULL_VALUE = 1;
+ parameter ARRAY_MODE = "ARRAY_MODE_8_X_4";
+ parameter OUTPUT_DISABLE = "FALSE";
+ parameter SYNCHRONOUS_MODE = "FALSE";
+ output ALMOSTEMPTY;
+ output ALMOSTFULL;
+ output EMPTY;
+ output FULL;
+ output [3:0] Q0;
+ output [3:0] Q1;
+ output [3:0] Q2;
+ output [3:0] Q3;
+ output [3:0] Q4;
+ output [3:0] Q7;
+ output [3:0] Q8;
+ output [3:0] Q9;
+ output [7:0] Q5;
+ output [7:0] Q6;
+ input RDCLK;
+ input RDEN;
+ input RESET;
+ input WRCLK;
+ input WREN;
+ input [7:0] D0;
+ input [7:0] D1;
+ input [7:0] D2;
+ input [7:0] D3;
+ input [7:0] D4;
+ input [7:0] D5;
+ input [7:0] D6;
+ input [7:0] D7;
+ input [7:0] D8;
+ input [7:0] D9;
+endmodule
+
+module PHASER_IN (...);
+ parameter integer CLKOUT_DIV = 4;
+ parameter DQS_BIAS_MODE = "FALSE";
+ parameter EN_ISERDES_RST = "FALSE";
+ parameter integer FINE_DELAY = 0;
+ parameter FREQ_REF_DIV = "NONE";
+ parameter [0:0] IS_RST_INVERTED = 1'b0;
+ parameter real MEMREFCLK_PERIOD = 0.000;
+ parameter OUTPUT_CLK_SRC = "PHASE_REF";
+ parameter real PHASEREFCLK_PERIOD = 0.000;
+ parameter real REFCLK_PERIOD = 0.000;
+ parameter integer SEL_CLK_OFFSET = 5;
+ parameter SYNC_IN_DIV_RST = "FALSE";
+ output FINEOVERFLOW;
+ output ICLK;
+ output ICLKDIV;
+ output ISERDESRST;
+ output RCLK;
+ output [5:0] COUNTERREADVAL;
+ input COUNTERLOADEN;
+ input COUNTERREADEN;
+ input DIVIDERST;
+ input EDGEADV;
+ input FINEENABLE;
+ input FINEINC;
+ input FREQREFCLK;
+ input MEMREFCLK;
+ input PHASEREFCLK;
+ input RST;
+ input SYNCIN;
+ input SYSCLK;
+ input [1:0] RANKSEL;
+ input [5:0] COUNTERLOADVAL;
+endmodule
+
+module PHASER_IN_PHY (...);
+ parameter BURST_MODE = "FALSE";
+ parameter integer CLKOUT_DIV = 4;
+ parameter [0:0] DQS_AUTO_RECAL = 1'b1;
+ parameter DQS_BIAS_MODE = "FALSE";
+ parameter [2:0] DQS_FIND_PATTERN = 3'b001;
+ parameter integer FINE_DELAY = 0;
+ parameter FREQ_REF_DIV = "NONE";
+ parameter [0:0] IS_RST_INVERTED = 1'b0;
+ parameter real MEMREFCLK_PERIOD = 0.000;
+ parameter OUTPUT_CLK_SRC = "PHASE_REF";
+ parameter real PHASEREFCLK_PERIOD = 0.000;
+ parameter real REFCLK_PERIOD = 0.000;
+ parameter integer SEL_CLK_OFFSET = 5;
+ parameter SYNC_IN_DIV_RST = "FALSE";
+ parameter WR_CYCLES = "FALSE";
+ output DQSFOUND;
+ output DQSOUTOFRANGE;
+ output FINEOVERFLOW;
+ output ICLK;
+ output ICLKDIV;
+ output ISERDESRST;
+ output PHASELOCKED;
+ output RCLK;
+ output WRENABLE;
+ output [5:0] COUNTERREADVAL;
+ input BURSTPENDINGPHY;
+ input COUNTERLOADEN;
+ input COUNTERREADEN;
+ input FINEENABLE;
+ input FINEINC;
+ input FREQREFCLK;
+ input MEMREFCLK;
+ input PHASEREFCLK;
+ input RST;
+ input RSTDQSFIND;
+ input SYNCIN;
+ input SYSCLK;
+ input [1:0] ENCALIBPHY;
+ input [1:0] RANKSELPHY;
+ input [5:0] COUNTERLOADVAL;
+endmodule
+
+module PHASER_OUT (...);
+ parameter integer CLKOUT_DIV = 4;
+ parameter COARSE_BYPASS = "FALSE";
+ parameter integer COARSE_DELAY = 0;
+ parameter EN_OSERDES_RST = "FALSE";
+ parameter integer FINE_DELAY = 0;
+ parameter [0:0] IS_RST_INVERTED = 1'b0;
+ parameter real MEMREFCLK_PERIOD = 0.000;
+ parameter OCLKDELAY_INV = "FALSE";
+ parameter integer OCLK_DELAY = 0;
+ parameter OUTPUT_CLK_SRC = "PHASE_REF";
+ parameter real PHASEREFCLK_PERIOD = 0.000;
+ parameter [2:0] PO = 3'b000;
+ parameter real REFCLK_PERIOD = 0.000;
+ parameter SYNC_IN_DIV_RST = "FALSE";
+ output COARSEOVERFLOW;
+ output FINEOVERFLOW;
+ output OCLK;
+ output OCLKDELAYED;
+ output OCLKDIV;
+ output OSERDESRST;
+ output [8:0] COUNTERREADVAL;
+ input COARSEENABLE;
+ input COARSEINC;
+ input COUNTERLOADEN;
+ input COUNTERREADEN;
+ input DIVIDERST;
+ input EDGEADV;
+ input FINEENABLE;
+ input FINEINC;
+ input FREQREFCLK;
+ input MEMREFCLK;
+ input PHASEREFCLK;
+ input RST;
+ input SELFINEOCLKDELAY;
+ input SYNCIN;
+ input SYSCLK;
+ input [8:0] COUNTERLOADVAL;
+endmodule
+
+module PHASER_OUT_PHY (...);
+ parameter integer CLKOUT_DIV = 4;
+ parameter COARSE_BYPASS = "FALSE";
+ parameter integer COARSE_DELAY = 0;
+ parameter DATA_CTL_N = "FALSE";
+ parameter DATA_RD_CYCLES = "FALSE";
+ parameter integer FINE_DELAY = 0;
+ parameter [0:0] IS_RST_INVERTED = 1'b0;
+ parameter real MEMREFCLK_PERIOD = 0.000;
+ parameter OCLKDELAY_INV = "FALSE";
+ parameter integer OCLK_DELAY = 0;
+ parameter OUTPUT_CLK_SRC = "PHASE_REF";
+ parameter real PHASEREFCLK_PERIOD = 0.000;
+ parameter [2:0] PO = 3'b000;
+ parameter real REFCLK_PERIOD = 0.000;
+ parameter SYNC_IN_DIV_RST = "FALSE";
+ output COARSEOVERFLOW;
+ output FINEOVERFLOW;
+ output OCLK;
+ output OCLKDELAYED;
+ output OCLKDIV;
+ output OSERDESRST;
+ output RDENABLE;
+ output [1:0] CTSBUS;
+ output [1:0] DQSBUS;
+ output [1:0] DTSBUS;
+ output [8:0] COUNTERREADVAL;
+ input BURSTPENDINGPHY;
+ input COARSEENABLE;
+ input COARSEINC;
+ input COUNTERLOADEN;
+ input COUNTERREADEN;
+ input FINEENABLE;
+ input FINEINC;
+ input FREQREFCLK;
+ input MEMREFCLK;
+ input PHASEREFCLK;
+ input RST;
+ input SELFINEOCLKDELAY;
+ input SYNCIN;
+ input SYSCLK;
+ input [1:0] ENCALIBPHY;
+ input [8:0] COUNTERLOADVAL;
+endmodule
+
+module PHASER_REF (...);
+ parameter [0:0] IS_RST_INVERTED = 1'b0;
+ parameter [0:0] IS_PWRDWN_INVERTED = 1'b0;
+ output LOCKED;
+ input CLKIN;
+ input PWRDWN;
+ input RST;
+endmodule
+
+module PHY_CONTROL (...);
+ parameter integer AO_TOGGLE = 0;
+ parameter [3:0] AO_WRLVL_EN = 4'b0000;
+ parameter BURST_MODE = "FALSE";
+ parameter integer CLK_RATIO = 1;
+ parameter integer CMD_OFFSET = 0;
+ parameter integer CO_DURATION = 0;
+ parameter DATA_CTL_A_N = "FALSE";
+ parameter DATA_CTL_B_N = "FALSE";
+ parameter DATA_CTL_C_N = "FALSE";
+ parameter DATA_CTL_D_N = "FALSE";
+ parameter DISABLE_SEQ_MATCH = "TRUE";
+ parameter integer DI_DURATION = 0;
+ parameter integer DO_DURATION = 0;
+ parameter integer EVENTS_DELAY = 63;
+ parameter integer FOUR_WINDOW_CLOCKS = 63;
+ parameter MULTI_REGION = "FALSE";
+ parameter PHY_COUNT_ENABLE = "FALSE";
+ parameter integer RD_CMD_OFFSET_0 = 0;
+ parameter integer RD_CMD_OFFSET_1 = 00;
+ parameter integer RD_CMD_OFFSET_2 = 0;
+ parameter integer RD_CMD_OFFSET_3 = 0;
+ parameter integer RD_DURATION_0 = 0;
+ parameter integer RD_DURATION_1 = 0;
+ parameter integer RD_DURATION_2 = 0;
+ parameter integer RD_DURATION_3 = 0;
+ parameter SYNC_MODE = "FALSE";
+ parameter integer WR_CMD_OFFSET_0 = 0;
+ parameter integer WR_CMD_OFFSET_1 = 0;
+ parameter integer WR_CMD_OFFSET_2 = 0;
+ parameter integer WR_CMD_OFFSET_3 = 0;
+ parameter integer WR_DURATION_0 = 0;
+ parameter integer WR_DURATION_1 = 0;
+ parameter integer WR_DURATION_2 = 0;
+ parameter integer WR_DURATION_3 = 0;
+ output PHYCTLALMOSTFULL;
+ output PHYCTLEMPTY;
+ output PHYCTLFULL;
+ output PHYCTLREADY;
+ output [1:0] INRANKA;
+ output [1:0] INRANKB;
+ output [1:0] INRANKC;
+ output [1:0] INRANKD;
+ output [1:0] PCENABLECALIB;
+ output [3:0] AUXOUTPUT;
+ output [3:0] INBURSTPENDING;
+ output [3:0] OUTBURSTPENDING;
+ input MEMREFCLK;
+ input PHYCLK;
+ input PHYCTLMSTREMPTY;
+ input PHYCTLWRENABLE;
+ input PLLLOCK;
+ input READCALIBENABLE;
+ input REFDLLLOCK;
+ input RESET;
+ input SYNCIN;
+ input WRITECALIBENABLE;
+ input [31:0] PHYCTLWD;
+endmodule
+
+module PLLE2_ADV (...);
+ parameter BANDWIDTH = "OPTIMIZED";
+ parameter COMPENSATION = "ZHOLD";
+ parameter STARTUP_WAIT = "FALSE";
+ parameter integer CLKOUT0_DIVIDE = 1;
+ parameter integer CLKOUT1_DIVIDE = 1;
+ parameter integer CLKOUT2_DIVIDE = 1;
+ parameter integer CLKOUT3_DIVIDE = 1;
+ parameter integer CLKOUT4_DIVIDE = 1;
+ parameter integer CLKOUT5_DIVIDE = 1;
+ parameter integer DIVCLK_DIVIDE = 1;
+ parameter integer CLKFBOUT_MULT = 5;
+ parameter real CLKFBOUT_PHASE = 0.000;
+ parameter real CLKIN1_PERIOD = 0.000;
+ parameter real CLKIN2_PERIOD = 0.000;
+ parameter real CLKOUT0_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT0_PHASE = 0.000;
+ parameter real CLKOUT1_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT1_PHASE = 0.000;
+ parameter real CLKOUT2_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT2_PHASE = 0.000;
+ parameter real CLKOUT3_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT3_PHASE = 0.000;
+ parameter real CLKOUT4_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT4_PHASE = 0.000;
+ parameter real CLKOUT5_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT5_PHASE = 0.000;
+ parameter [0:0] IS_CLKINSEL_INVERTED = 1'b0;
+ parameter [0:0] IS_PWRDWN_INVERTED = 1'b0;
+ parameter [0:0] IS_RST_INVERTED = 1'b0;
+ parameter real REF_JITTER1 = 0.010;
+ parameter real REF_JITTER2 = 0.010;
+ parameter real VCOCLK_FREQ_MAX = 2133.000;
+ parameter real VCOCLK_FREQ_MIN = 800.000;
+ parameter real CLKIN_FREQ_MAX = 1066.000;
+ parameter real CLKIN_FREQ_MIN = 19.000;
+ parameter real CLKPFD_FREQ_MAX = 550.0;
+ parameter real CLKPFD_FREQ_MIN = 19.0;
+ output CLKFBOUT;
+ output CLKOUT0;
+ output CLKOUT1;
+ output CLKOUT2;
+ output CLKOUT3;
+ output CLKOUT4;
+ output CLKOUT5;
+ output DRDY;
+ output LOCKED;
+ output [15:0] DO;
+ input CLKFBIN;
+ input CLKIN1;
+ input CLKIN2;
+ input CLKINSEL;
+ input DCLK;
+ input DEN;
+ input DWE;
+ input PWRDWN;
+ input RST;
+ input [15:0] DI;
+ input [6:0] DADDR;
+endmodule
+
+module PLLE2_BASE (...);
+ parameter BANDWIDTH = "OPTIMIZED";
+ parameter integer CLKFBOUT_MULT = 5;
+ parameter real CLKFBOUT_PHASE = 0.000;
+ parameter real CLKIN1_PERIOD = 0.000;
+ parameter integer CLKOUT0_DIVIDE = 1;
+ parameter real CLKOUT0_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT0_PHASE = 0.000;
+ parameter integer CLKOUT1_DIVIDE = 1;
+ parameter real CLKOUT1_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT1_PHASE = 0.000;
+ parameter integer CLKOUT2_DIVIDE = 1;
+ parameter real CLKOUT2_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT2_PHASE = 0.000;
+ parameter integer CLKOUT3_DIVIDE = 1;
+ parameter real CLKOUT3_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT3_PHASE = 0.000;
+ parameter integer CLKOUT4_DIVIDE = 1;
+ parameter real CLKOUT4_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT4_PHASE = 0.000;
+ parameter integer CLKOUT5_DIVIDE = 1;
+ parameter real CLKOUT5_DUTY_CYCLE = 0.500;
+ parameter real CLKOUT5_PHASE = 0.000;
+ parameter integer DIVCLK_DIVIDE = 1;
+ parameter real REF_JITTER1 = 0.010;
+ parameter STARTUP_WAIT = "FALSE";
+ output CLKFBOUT;
+ output CLKOUT0;
+ output CLKOUT1;
+ output CLKOUT2;
+ output CLKOUT3;
+ output CLKOUT4;
+ output CLKOUT5;
+ output LOCKED;
+ input CLKFBIN;
+ input CLKIN1;
+ input PWRDWN;
+ input RST;
+endmodule
+
+module PULLDOWN (...);
+ output O;
+endmodule
+
+module PULLUP (...);
+ output O;
+endmodule
+
+module RAM128X1S (...);
+ parameter [127:0] INIT = 128'h00000000000000000000000000000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O;
+ input A0, A1, A2, A3, A4, A5, A6, D, WCLK, WE;
+endmodule
+
+module RAM256X1S (...);
+ parameter [255:0] INIT = 256'h0;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O;
+ input [7:0] A;
+ input D;
+ input WCLK;
+ input WE;
+endmodule
+
+module RAM32M (...);
+ parameter [63:0] INIT_A = 64'h0000000000000000;
+ parameter [63:0] INIT_B = 64'h0000000000000000;
+ parameter [63:0] INIT_C = 64'h0000000000000000;
+ parameter [63:0] INIT_D = 64'h0000000000000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output [1:0] DOA;
+ output [1:0] DOB;
+ output [1:0] DOC;
+ output [1:0] DOD;
+ input [4:0] ADDRA;
+ input [4:0] ADDRB;
+ input [4:0] ADDRC;
+ input [4:0] ADDRD;
+ input [1:0] DIA;
+ input [1:0] DIB;
+ input [1:0] DIC;
+ input [1:0] DID;
+ input WCLK;
+ input WE;
+endmodule
+
+module RAM32X1D (...);
+ parameter [31:0] INIT = 32'h00000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output DPO, SPO;
+ input A0, A1, A2, A3, A4, D, DPRA0, DPRA1, DPRA2, DPRA3, DPRA4, WCLK, WE;
+endmodule
+
+module RAM32X1S (...);
+ parameter [31:0] INIT = 32'h00000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O;
+ input A0, A1, A2, A3, A4, D, WCLK, WE;
+endmodule
+
+module RAM32X1S_1 (...);
+ parameter [31:0] INIT = 32'h00000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O;
+ input A0, A1, A2, A3, A4, D, WCLK, WE;
+endmodule
+
+module RAM32X2S (...);
+ parameter [31:0] INIT_00 = 32'h00000000;
+ parameter [31:0] INIT_01 = 32'h00000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O0, O1;
+ input A0, A1, A2, A3, A4, D0, D1, WCLK, WE;
+endmodule
+
+module RAM64M (...);
+ parameter [63:0] INIT_A = 64'h0000000000000000;
+ parameter [63:0] INIT_B = 64'h0000000000000000;
+ parameter [63:0] INIT_C = 64'h0000000000000000;
+ parameter [63:0] INIT_D = 64'h0000000000000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output DOA;
+ output DOB;
+ output DOC;
+ output DOD;
+ input [5:0] ADDRA;
+ input [5:0] ADDRB;
+ input [5:0] ADDRC;
+ input [5:0] ADDRD;
+ input DIA;
+ input DIB;
+ input DIC;
+ input DID;
+ input WCLK;
+ input WE;
+endmodule
+
+module RAM64X1S (...);
+ parameter [63:0] INIT = 64'h0000000000000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O;
+ input A0, A1, A2, A3, A4, A5, D, WCLK, WE;
+endmodule
+
+module RAM64X1S_1 (...);
+ parameter [63:0] INIT = 64'h0000000000000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O;
+ input A0, A1, A2, A3, A4, A5, D, WCLK, WE;
+endmodule
+
+module RAM64X2S (...);
+ parameter [63:0] INIT_00 = 64'h0000000000000000;
+ parameter [63:0] INIT_01 = 64'h0000000000000000;
+ parameter [0:0] IS_WCLK_INVERTED = 1'b0;
+ output O0, O1;
+ input A0, A1, A2, A3, A4, A5, D0, D1, WCLK, WE;
+endmodule
+
+module ROM128X1 (...);
+ parameter [127:0] INIT = 128'h00000000000000000000000000000000;
+ output O;
+ input A0, A1, A2, A3, A4, A5, A6;
+endmodule
+
+module ROM256X1 (...);
+ parameter [255:0] INIT = 256'h0000000000000000000000000000000000000000000000000000000000000000;
+ output O;
+ input A0, A1, A2, A3, A4, A5, A6, A7;
+endmodule
+
+module ROM32X1 (...);
+ parameter [31:0] INIT = 32'h00000000;
+ output O;
+ input A0, A1, A2, A3, A4;
+endmodule
+
+module ROM64X1 (...);
+ parameter [63:0] INIT = 64'h0000000000000000;
+ output O;
+ input A0, A1, A2, A3, A4, A5;
+endmodule
+
+module SRL16E (...);
+ parameter [15:0] INIT = 16'h0000;
+ parameter [0:0] IS_CLK_INVERTED = 1'b0;
+ output Q;
+ input A0, A1, A2, A3, CE, CLK, D;
+endmodule
+
+module SRLC32E (...);
+ parameter [31:0] INIT = 32'h00000000;
+ parameter [0:0] IS_CLK_INVERTED = 1'b0;
+ output Q;
+ output Q31;
+ input [4:0] A;
+ input CE, CLK, D;
+endmodule
+
+module STARTUPE2 (...);
+ parameter PROG_USR = "FALSE";
+ parameter real SIM_CCLK_FREQ = 0.0;
+ output CFGCLK;
+ output CFGMCLK;
+ output EOS;
+ output PREQ;
+ input CLK;
+ input GSR;
+ input GTS;
+ input KEYCLEARB;
+ input PACK;
+ input USRCCLKO;
+ input USRCCLKTS;
+ input USRDONEO;
+ input USRDONETS;
+endmodule
+
+module USR_ACCESSE2 (...);
+ output CFGCLK;
+ output DATAVALID;
+ output [31:0] DATA;
+endmodule
+
+module XADC (...);
+ output BUSY;
+ output DRDY;
+ output EOC;
+ output EOS;
+ output JTAGBUSY;
+ output JTAGLOCKED;
+ output JTAGMODIFIED;
+ output OT;
+ output [15:0] DO;
+ output [7:0] ALM;
+ output [4:0] CHANNEL;
+ output [4:0] MUXADDR;
+ input CONVST;
+ input CONVSTCLK;
+ input DCLK;
+ input DEN;
+ input DWE;
+ input RESET;
+ input VN;
+ input VP;
+ input [15:0] DI;
+ input [15:0] VAUXN;
+ input [15:0] VAUXP;
+ input [6:0] DADDR;
+ parameter [15:0] INIT_40 = 16'h0;
+ parameter [15:0] INIT_41 = 16'h0;
+ parameter [15:0] INIT_42 = 16'h0800;
+ parameter [15:0] INIT_43 = 16'h0;
+ parameter [15:0] INIT_44 = 16'h0;
+ parameter [15:0] INIT_45 = 16'h0;
+ parameter [15:0] INIT_46 = 16'h0;
+ parameter [15:0] INIT_47 = 16'h0;
+ parameter [15:0] INIT_48 = 16'h0;
+ parameter [15:0] INIT_49 = 16'h0;
+ parameter [15:0] INIT_4A = 16'h0;
+ parameter [15:0] INIT_4B = 16'h0;
+ parameter [15:0] INIT_4C = 16'h0;
+ parameter [15:0] INIT_4D = 16'h0;
+ parameter [15:0] INIT_4E = 16'h0;
+ parameter [15:0] INIT_4F = 16'h0;
+ parameter [15:0] INIT_50 = 16'h0;
+ parameter [15:0] INIT_51 = 16'h0;
+ parameter [15:0] INIT_52 = 16'h0;
+ parameter [15:0] INIT_53 = 16'h0;
+ parameter [15:0] INIT_54 = 16'h0;
+ parameter [15:0] INIT_55 = 16'h0;
+ parameter [15:0] INIT_56 = 16'h0;
+ parameter [15:0] INIT_57 = 16'h0;
+ parameter [15:0] INIT_58 = 16'h0;
+ parameter [15:0] INIT_59 = 16'h0;
+ parameter [15:0] INIT_5A = 16'h0;
+ parameter [15:0] INIT_5B = 16'h0;
+ parameter [15:0] INIT_5C = 16'h0;
+ parameter [15:0] INIT_5D = 16'h0;
+ parameter [15:0] INIT_5E = 16'h0;
+ parameter [15:0] INIT_5F = 16'h0;
+ parameter IS_CONVSTCLK_INVERTED = 1'b0;
+ parameter IS_DCLK_INVERTED = 1'b0;
+ parameter SIM_DEVICE = "7SERIES";
+ parameter SIM_MONITOR_FILE = "design.txt";
+endmodule
+
diff --git a/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc
index 21d1fb1e..e7ec1e6e 100644
--- a/techlibs/xilinx/synth_xilinx.cc
+++ b/techlibs/xilinx/synth_xilinx.cc
@@ -69,6 +69,7 @@ struct SynthXilinxPass : public Pass {
log("\n");
log(" begin:\n");
log(" read_verilog -lib +/xilinx/cells_sim.v\n");
+ log(" read_verilog -lib +/xilinx/cells_xtra.v\n");
log(" read_verilog -lib +/xilinx/brams_bb.v\n");
log(" read_verilog -lib +/xilinx/drams_bb.v\n");
log(" hierarchy -check -top <top>\n");
@@ -159,12 +160,13 @@ struct SynthXilinxPass : public Pass {
bool active = run_from.empty();
- log_header("Executing SYNTH_XILINX pass.\n");
+ log_header(design, "Executing SYNTH_XILINX pass.\n");
log_push();
if (check_label(active, run_from, run_to, "begin"))
{
Pass::call(design, "read_verilog -lib +/xilinx/cells_sim.v");
+ Pass::call(design, "read_verilog -lib +/xilinx/cells_xtra.v");
Pass::call(design, "read_verilog -lib +/xilinx/brams_bb.v");
Pass::call(design, "read_verilog -lib +/xilinx/drams_bb.v");
Pass::call(design, stringf("hierarchy -check %s", top_opt.c_str()));