Fixed CRLF line endings
authorClifford Wolf <clifford@clifford.at>
Thu, 13 Aug 2015 07:35:00 +0000 (09:35 +0200)
committerClifford Wolf <clifford@clifford.at>
Thu, 13 Aug 2015 07:35:00 +0000 (09:35 +0200)
manual/literature.bib
manual/weblinks.bib
tests/asicworld/code_hdl_models_arbiter.v
tests/asicworld/code_hdl_models_t_gate_switch.v
tests/asicworld/code_verilog_tutorial_counter.v
tests/asicworld/code_verilog_tutorial_counter_tb.v

index 91bc1f382cf4a49947202b67056de143547cbcd9..372e882ac2167e622fc1e0d917db41458371c887 100644 (file)
-\r
-@inproceedings{intersynth,\r
-       title={Example-driven interconnect synthesis for heterogeneous coarse-grain reconfigurable logic},\r
-       author={Clifford Wolf and Johann Glaser and Florian Schupfer and Jan Haase and Christoph Grimm},\r
-       booktitle={FDL Proceeding of the 2012 Forum on Specification and Design Languages},\r
-       pages={194--201},\r
-       year={2012}\r
-}\r
-\r
-@incollection{intersynthFdlBookChapter,\r
-       title={Methodology and Example-Driven Interconnect Synthesis for Designing Heterogeneous Coarse-Grain Reconfigurable Architectures},\r
-       author={Johann Glaser and Clifford Wolf},\r
-       booktitle={Advances in Models, Methods, and Tools for Complex Chip Design --- Selected contributions from FDL'12},\r
-       editor={Jan Haase},\r
-       publisher={Springer},\r
-       year={2013},\r
-       note={to appear}\r
-}\r
-\r
-@unpublished{BACC,\r
-       author = {Clifford Wolf},\r
-       title = {Design and Implementation of the Yosys Open SYnthesis Suite},\r
-       note = {Bachelor Thesis, Vienna University of Technology},\r
-       year = {2013}\r
-}\r
-\r
-@unpublished{VerilogFossEval,\r
-       author = {Clifford Wolf},\r
-       title = {Evaluation of Open Source Verilog Synthesis Tools for Feature-Completeness and Extensibility},\r
-       note = {Unpublished Student Research Paper, Vienna University of Technology},\r
-       year = {2012}\r
-}\r
-\r
-@article{ABEL,\r
-       title={A High-Level Design Language for Programmable Logic Devices},\r
-       author={Kyu Y. Lee and Michael Holley and Mary Bailey and Walter Bright},\r
-       journal={VLSI Design (Manhasset NY: CPM Publications)},\r
-       year={June 1985},\r
-       pages={50-62}\r
-}\r
-\r
-@MISC{Cheng93vl2mv:a,\r
-       author = {S-T Cheng and G York and R K Brayton},\r
-       title = {VL2MV: A Compiler from Verilog to BLIF-MV},\r
-       year = {1993}\r
-}\r
-\r
-@MISC{Odin,\r
-       author = {Peter Jamieson and Jonathan Rose},\r
-       title = {A VERILOG RTL SYNTHESIS TOOL FOR HETEROGENEOUS FPGAS},\r
-       year = {2005}\r
-}\r
-\r
-@inproceedings{vtr2012,\r
-  title={The VTR Project: Architecture and CAD for FPGAs from Verilog to Routing},\r
-  author={Jonathan Rose and Jason Luu and Chi Wai Yu and Opal Densmore and Jeff Goeders and Andrew Somerville and Kenneth B. Kent and Peter Jamieson and Jason Anderson},\r
-  booktitle={Proceedings of the 20th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays},\r
-  pages={77--86},\r
-  year={2012},\r
-  organization={ACM}\r
-}\r
-\r
-@MISC{LogicSynthesis,\r
-       author = {G D Hachtel and F Somenzi},\r
-       title = {Logic Synthesis and Verification Algorithms},\r
-       year = {1996}\r
-}\r
-\r
-@ARTICLE{Verilog2005, \r
-       journal={IEEE Std 1364-2005 (Revision of IEEE Std 1364-2001)},\r
-       title={IEEE Standard for Verilog Hardware Description Language}, \r
-       year={2006}, \r
-       doi={10.1109/IEEESTD.2006.99495}\r
-}\r
-\r
-@ARTICLE{VerilogSynth, \r
-       journal={IEEE Std 1364.1-2002},\r
-       title={IEEE Standard for Verilog Register Transfer Level Synthesis}, \r
-       year={2002}, \r
-       doi={10.1109/IEEESTD.2002.94220}\r
-}\r
-\r
-@ARTICLE{VHDL,\r
-       journal={IEEE Std 1076-2008 (Revision of IEEE Std 1076-2002)}, title={IEEE Standard VHDL Language Reference Manual},\r
-       year={2009},\r
-       month={26},\r
-       doi={10.1109/IEEESTD.2009.4772740}\r
-}\r
-\r
-@ARTICLE{VHDLSynth,\r
-       journal={IEEE Std 1076.6-2004 (Revision of IEEE Std 1076.6-1999)}, title={IEEE Standard for VHDL Register Transfer Level (RTL) Synthesis},\r
-       year={2004},\r
-       doi={10.1109/IEEESTD.2004.94802}\r
-}\r
-\r
-@ARTICLE{IP-XACT, \r
-journal={IEEE Std 1685-2009}, title={IEEE Standard for IP-XACT, Standard Structure for Packaging, Integrating, and Reusing IP within Tools Flows}, \r
-year={2010}, \r
-pages={C1-360}, \r
-keywords={abstraction definitions, address space specification, bus definitions, design environment, EDA, electronic design automation, electronic system level, ESL, implementation constraints, IP-XACT, register transfer level, RTL, SCRs, semantic consistency rules, TGI, tight generator interface, tool and data interoperability, use models, XML design meta-data, XML schema}, \r
-doi={10.1109/IEEESTD.2010.5417309},}\r
-\r
-@book{Dragonbook,\r
-author = {Aho, Alfred V. and Sethi, Ravi and Ullman, Jeffrey D.},\r
-title = {Compilers: principles, techniques, and tools},\r
-year = {1986},\r
-isbn = {0-201-10088-6},\r
-publisher = {Addison-Wesley Longman Publishing Co., Inc.},\r
-address = {Boston, MA, USA},\r
-} \r
-\r
-@INPROCEEDINGS{Cummings00,\r
-author = {Clifford E. Cummings and Sunburst Design Inc},\r
-title = {Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill},\r
-booktitle = {SNUG (Synopsys Users Group) 2000 User Papers, section-MC1 (1 st paper},\r
-year = {2000}\r
-}\r
-\r
-@ARTICLE{MURPHY,\r
-       author={D. L. Klipstein},\r
-       journal={Cahners Publishing Co., EEE Magazine, Vol. 15, No. 8},\r
-       title={The Contributions of Edsel Murphy to the Understanding of the Behavior of Inanimate Objects},\r
-       year={August 1967}\r
-}\r
-\r
-@INPROCEEDINGS{fsmextract, \r
-author={Yiqiong Shi and Chan Wai Ting and Bah-Hwee Gwee and Ye Ren}, \r
-booktitle={Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on}, \r
-title={A highly efficient method for extracting FSMs from flattened gate-level netlist}, \r
-year={2010}, \r
-pages={2610-2613}, \r
-keywords={circuit CAD;finite state machines;microcontrollers;FSM;control-intensive circuits;finite state machines;flattened gate-level netlist;state register elimination technique;Automata;Circuit synthesis;Continuous wavelet transforms;Design automation;Digital circuits;Hardware design languages;Logic;Microcontrollers;Registers;Signal processing}, \r
-doi={10.1109/ISCAS.2010.5537093},}\r
-\r
-@ARTICLE{MultiLevelLogicSynth, \r
-author={Brayton, R.K. and Hachtel, G.D. and Sangiovanni-Vincentelli, A.L.}, \r
-journal={Proceedings of the IEEE}, \r
-title={Multilevel logic synthesis}, \r
-year={1990}, \r
-volume={78}, \r
-number={2}, \r
-pages={264-300}, \r
-keywords={circuit layout CAD;integrated logic circuits;logic CAD;capsule summaries;definitions;detailed analysis;in-depth background;logic decomposition;logic minimisation;logic synthesis;logic synthesis techniques;multilevel combinational logic;multilevel logic synthesis;notation;perspective;survey;synthesis methods;technology mapping;testing;Application specific integrated circuits;Design automation;Integrated circuit synthesis;Logic design;Logic devices;Logic testing;Network synthesis;Programmable logic arrays;Signal synthesis;Silicon}, \r
-doi={10.1109/5.52213}, \r
-ISSN={0018-9219},}\r
-\r
-@article{UllmannSubgraphIsomorphism,\r
-       author = {Ullmann, J. R.},\r
-       title = {An Algorithm for Subgraph Isomorphism},\r
-       journal = {J. ACM},\r
-       issue_date = {Jan. 1976},\r
-       volume = {23},\r
-       number = {1},\r
-       month = jan,\r
-       year = {1976},\r
-       issn = {0004-5411},\r
-       pages = {31--42},\r
-       numpages = {12},\r
-       doi = {10.1145/321921.321925},\r
-       acmid = {321925},\r
-       publisher = {ACM},\r
-       address = {New York, NY, USA},\r
-} \r
+
+@inproceedings{intersynth,
+       title={Example-driven interconnect synthesis for heterogeneous coarse-grain reconfigurable logic},
+       author={Clifford Wolf and Johann Glaser and Florian Schupfer and Jan Haase and Christoph Grimm},
+       booktitle={FDL Proceeding of the 2012 Forum on Specification and Design Languages},
+       pages={194--201},
+       year={2012}
+}
+
+@incollection{intersynthFdlBookChapter,
+       title={Methodology and Example-Driven Interconnect Synthesis for Designing Heterogeneous Coarse-Grain Reconfigurable Architectures},
+       author={Johann Glaser and Clifford Wolf},
+       booktitle={Advances in Models, Methods, and Tools for Complex Chip Design --- Selected contributions from FDL'12},
+       editor={Jan Haase},
+       publisher={Springer},
+       year={2013},
+       note={to appear}
+}
+
+@unpublished{BACC,
+       author = {Clifford Wolf},
+       title = {Design and Implementation of the Yosys Open SYnthesis Suite},
+       note = {Bachelor Thesis, Vienna University of Technology},
+       year = {2013}
+}
+
+@unpublished{VerilogFossEval,
+       author = {Clifford Wolf},
+       title = {Evaluation of Open Source Verilog Synthesis Tools for Feature-Completeness and Extensibility},
+       note = {Unpublished Student Research Paper, Vienna University of Technology},
+       year = {2012}
+}
+
+@article{ABEL,
+       title={A High-Level Design Language for Programmable Logic Devices},
+       author={Kyu Y. Lee and Michael Holley and Mary Bailey and Walter Bright},
+       journal={VLSI Design (Manhasset NY: CPM Publications)},
+       year={June 1985},
+       pages={50-62}
+}
+
+@MISC{Cheng93vl2mv:a,
+       author = {S-T Cheng and G York and R K Brayton},
+       title = {VL2MV: A Compiler from Verilog to BLIF-MV},
+       year = {1993}
+}
+
+@MISC{Odin,
+       author = {Peter Jamieson and Jonathan Rose},
+       title = {A VERILOG RTL SYNTHESIS TOOL FOR HETEROGENEOUS FPGAS},
+       year = {2005}
+}
+
+@inproceedings{vtr2012,
+  title={The VTR Project: Architecture and CAD for FPGAs from Verilog to Routing},
+  author={Jonathan Rose and Jason Luu and Chi Wai Yu and Opal Densmore and Jeff Goeders and Andrew Somerville and Kenneth B. Kent and Peter Jamieson and Jason Anderson},
+  booktitle={Proceedings of the 20th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays},
+  pages={77--86},
+  year={2012},
+  organization={ACM}
+}
+
+@MISC{LogicSynthesis,
+       author = {G D Hachtel and F Somenzi},
+       title = {Logic Synthesis and Verification Algorithms},
+       year = {1996}
+}
+
+@ARTICLE{Verilog2005, 
+       journal={IEEE Std 1364-2005 (Revision of IEEE Std 1364-2001)},
+       title={IEEE Standard for Verilog Hardware Description Language}, 
+       year={2006}, 
+       doi={10.1109/IEEESTD.2006.99495}
+}
+
+@ARTICLE{VerilogSynth, 
+       journal={IEEE Std 1364.1-2002},
+       title={IEEE Standard for Verilog Register Transfer Level Synthesis}, 
+       year={2002}, 
+       doi={10.1109/IEEESTD.2002.94220}
+}
+
+@ARTICLE{VHDL,
+       journal={IEEE Std 1076-2008 (Revision of IEEE Std 1076-2002)}, title={IEEE Standard VHDL Language Reference Manual},
+       year={2009},
+       month={26},
+       doi={10.1109/IEEESTD.2009.4772740}
+}
+
+@ARTICLE{VHDLSynth,
+       journal={IEEE Std 1076.6-2004 (Revision of IEEE Std 1076.6-1999)}, title={IEEE Standard for VHDL Register Transfer Level (RTL) Synthesis},
+       year={2004},
+       doi={10.1109/IEEESTD.2004.94802}
+}
+
+@ARTICLE{IP-XACT, 
+journal={IEEE Std 1685-2009}, title={IEEE Standard for IP-XACT, Standard Structure for Packaging, Integrating, and Reusing IP within Tools Flows}, 
+year={2010}, 
+pages={C1-360}, 
+keywords={abstraction definitions, address space specification, bus definitions, design environment, EDA, electronic design automation, electronic system level, ESL, implementation constraints, IP-XACT, register transfer level, RTL, SCRs, semantic consistency rules, TGI, tight generator interface, tool and data interoperability, use models, XML design meta-data, XML schema}, 
+doi={10.1109/IEEESTD.2010.5417309},}
+
+@book{Dragonbook,
+author = {Aho, Alfred V. and Sethi, Ravi and Ullman, Jeffrey D.},
+title = {Compilers: principles, techniques, and tools},
+year = {1986},
+isbn = {0-201-10088-6},
+publisher = {Addison-Wesley Longman Publishing Co., Inc.},
+address = {Boston, MA, USA},
+} 
+
+@INPROCEEDINGS{Cummings00,
+author = {Clifford E. Cummings and Sunburst Design Inc},
+title = {Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill},
+booktitle = {SNUG (Synopsys Users Group) 2000 User Papers, section-MC1 (1 st paper},
+year = {2000}
+}
+
+@ARTICLE{MURPHY,
+       author={D. L. Klipstein},
+       journal={Cahners Publishing Co., EEE Magazine, Vol. 15, No. 8},
+       title={The Contributions of Edsel Murphy to the Understanding of the Behavior of Inanimate Objects},
+       year={August 1967}
+}
+
+@INPROCEEDINGS{fsmextract, 
+author={Yiqiong Shi and Chan Wai Ting and Bah-Hwee Gwee and Ye Ren}, 
+booktitle={Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on}, 
+title={A highly efficient method for extracting FSMs from flattened gate-level netlist}, 
+year={2010}, 
+pages={2610-2613}, 
+keywords={circuit CAD;finite state machines;microcontrollers;FSM;control-intensive circuits;finite state machines;flattened gate-level netlist;state register elimination technique;Automata;Circuit synthesis;Continuous wavelet transforms;Design automation;Digital circuits;Hardware design languages;Logic;Microcontrollers;Registers;Signal processing}, 
+doi={10.1109/ISCAS.2010.5537093},}
+
+@ARTICLE{MultiLevelLogicSynth, 
+author={Brayton, R.K. and Hachtel, G.D. and Sangiovanni-Vincentelli, A.L.}, 
+journal={Proceedings of the IEEE}, 
+title={Multilevel logic synthesis}, 
+year={1990}, 
+volume={78}, 
+number={2}, 
+pages={264-300}, 
+keywords={circuit layout CAD;integrated logic circuits;logic CAD;capsule summaries;definitions;detailed analysis;in-depth background;logic decomposition;logic minimisation;logic synthesis;logic synthesis techniques;multilevel combinational logic;multilevel logic synthesis;notation;perspective;survey;synthesis methods;technology mapping;testing;Application specific integrated circuits;Design automation;Integrated circuit synthesis;Logic design;Logic devices;Logic testing;Network synthesis;Programmable logic arrays;Signal synthesis;Silicon}, 
+doi={10.1109/5.52213}, 
+ISSN={0018-9219},}
+
+@article{UllmannSubgraphIsomorphism,
+       author = {Ullmann, J. R.},
+       title = {An Algorithm for Subgraph Isomorphism},
+       journal = {J. ACM},
+       issue_date = {Jan. 1976},
+       volume = {23},
+       number = {1},
+       month = jan,
+       year = {1976},
+       issn = {0004-5411},
+       pages = {31--42},
+       numpages = {12},
+       doi = {10.1145/321921.321925},
+       acmid = {321925},
+       publisher = {ACM},
+       address = {New York, NY, USA},
+} 
index 5215a6ca34409f0a33e7ac267309f6670ca6f757..d5f83315dcf458513d985d3bf8301b1e920ee4fb 100644 (file)
-\r
-@misc{YosysGit,\r
-       author =        {Clifford Wolf},\r
-       title =         {{Yosys Open SYnthesis Suite (YOSYS)}},\r
-       note =          {\url{http://github.com/cliffordwolf/yosys}}\r
-}\r
-\r
-@misc{YosysTestsGit,\r
-       author =        {Clifford Wolf},\r
-       title =         {{Yosys Test Bench}},\r
-       note =          {\url{http://github.com/cliffordwolf/yosys-tests}}\r
-}\r
-\r
-@misc{VlogHammer,\r
-       author =        {Clifford Wolf},\r
-       title =         {{VlogHammer Verilog Synthesis Regression Tests}},\r
-       note =          {\url{http://github.com/cliffordwolf/VlogHammer}}\r
-}\r
-\r
-@misc{Icarus,\r
-       author =        {Stephen Williams},\r
-       title =         {{Icarus Verilog}},\r
-       note =          {Version 0.8.7, \url{http://iverilog.icarus.com/}}\r
-}\r
-\r
-@misc{VTR,\r
-       author=         {Jonathan Rose and Jason Luu and Chi Wai Yu and Opal Densmore and Jeff Goeders and Andrew Somerville and Kenneth B. Kent and Peter Jamieson and Jason Anderson},\r
-       title =         {{The Verilog-to-Routing (VTR) Project for FPGAs}},\r
-       note =          {Version 1.0, \url{https://code.google.com/p/vtr-verilog-to-routing/}}\r
-}\r
-\r
-@misc{HANA,\r
-       author =        {Parvez Ahmad},\r
-       title =         {{HDL Analyzer and Netlist Architect (HANA)}},\r
-       note =          {Verison linux64-1.0-alpha (2012-10-14), \url{http://sourceforge.net/projects/sim-sim/}}\r
-}\r
-\r
-@misc{MVSIS,\r
-       author =        {MVSIS group at Berkeley studies logic synthesis and verification for VLSI design},\r
-       title =         {{MVSIS: Logic Synthesis and Verification}},\r
-       note =          {Version 3.0, \url{http://embedded.eecs.berkeley.edu/mvsis/}}\r
-}\r
-\r
-@misc{VIS,\r
-       author =        {{The VIS group}},\r
-       title =         {{VIS: A system for Verification and Synthesis}},\r
-       note =          {Version 2.4, \url{http://vlsi.colorado.edu/~vis/}}\r
-}\r
-\r
-@misc{ABC,\r
-       author =        {{Berkeley Logic Synthesis and Verification Group}},\r
-       title =         {{ABC: A System for Sequential Synthesis and Verification}},\r
-       note =          {HQ Rev b5750272659f, 2012-10-28, \url{http://www.eecs.berkeley.edu/~alanmi/abc/}}\r
-}\r
-\r
-@misc{AIGER,\r
-       author =        {{Armin Biere, Johannes Kepler University Linz, Austria}},\r
-       title =         {{AIGER}},\r
-       note =          {\url{http://fmv.jku.at/aiger/}}\r
-}\r
-\r
-@misc{XilinxWebPACK,\r
-       author =        {{Xilinx, Inc.}},\r
-       title =         {{ISE WebPACK Design Software}},\r
-       note =          {\url{http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm}}\r
-}\r
-\r
-@misc{QuartusWeb,\r
-       author =        {{Altera, Inc.}},\r
-       title =         {{Quartus II Web Edition Software}},\r
-       note =          {\url{http://www.altera.com/products/software/quartus-ii/web-edition/qts-we-index.html}}\r
-}\r
-\r
-@misc{OR1200,\r
-       title =         {{OpenRISC 1200 CPU}},\r
-       note =          {\url{http://opencores.org/or1k/OR1200\_OpenRISC\_Processor}}\r
-}\r
-\r
-@misc{openMSP430,\r
-       title =         {{openMSP430 CPU}},\r
-       note =          {\url{http://opencores.org/project,openmsp430}}\r
-}\r
-\r
-@misc{i2cmaster,\r
-       title =         {{OpenCores I$^2$C Core}},\r
-       note =          {\url{http://opencores.org/project,i2c}}\r
-}\r
-\r
-@misc{k68,\r
-       title =         {{OpenCores k68 Core}},\r
-       note =          {\url{http://opencores.org/project,k68}}\r
-}\r
-\r
-@misc{bison,\r
-       title = {{GNU Bison}},\r
-       note = {\url{http://www.gnu.org/software/bison/}}\r
-}\r
-\r
-@misc{flex,\r
-       title = {{Flex}},\r
-       note = {\url{http://flex.sourceforge.net/}}\r
-}\r
-\r
-@misc{C_to_Verilog,\r
-       title = {{C-to-Verilog}},\r
-       note = {\url{http://www.c-to-verilog.com/}}\r
-}\r
-\r
-@misc{LegUp,\r
-       title = {{LegUp}},\r
-       note = {\url{http://legup.eecg.utoronto.ca/}}\r
-}\r
-\r
-@misc{LibertyFormat,\r
-       title = {{The Liberty Library Modeling Standard}},\r
-       note = {\url{http://www.opensourceliberty.org/}}\r
-}\r
-\r
-@misc{ASIC-WORLD,\r
-       title = {{World of ASIC}},\r
-       note = {\url{http://www.asic-world.com/}}\r
-}\r
-\r
-@misc{Formality,\r
-       title = {{Synopsys Formality Equivalence Checking}},\r
-       note = {\url{http://www.synopsys.com/Tools/Verification/FormalEquivalence/Pages/Formality.aspx}},\r
-}\r
-\r
-@misc{bigint,\r
-       author = {Matt McCutchen},\r
-       title = {{C++ Big Integer Library}},\r
-       note = {\url{http://mattmccutchen.net/bigint/}}\r
-}\r
-\r
+
+@misc{YosysGit,
+       author =        {Clifford Wolf},
+       title =         {{Yosys Open SYnthesis Suite (YOSYS)}},
+       note =          {\url{http://github.com/cliffordwolf/yosys}}
+}
+
+@misc{YosysTestsGit,
+       author =        {Clifford Wolf},
+       title =         {{Yosys Test Bench}},
+       note =          {\url{http://github.com/cliffordwolf/yosys-tests}}
+}
+
+@misc{VlogHammer,
+       author =        {Clifford Wolf},
+       title =         {{VlogHammer Verilog Synthesis Regression Tests}},
+       note =          {\url{http://github.com/cliffordwolf/VlogHammer}}
+}
+
+@misc{Icarus,
+       author =        {Stephen Williams},
+       title =         {{Icarus Verilog}},
+       note =          {Version 0.8.7, \url{http://iverilog.icarus.com/}}
+}
+
+@misc{VTR,
+       author=         {Jonathan Rose and Jason Luu and Chi Wai Yu and Opal Densmore and Jeff Goeders and Andrew Somerville and Kenneth B. Kent and Peter Jamieson and Jason Anderson},
+       title =         {{The Verilog-to-Routing (VTR) Project for FPGAs}},
+       note =          {Version 1.0, \url{https://code.google.com/p/vtr-verilog-to-routing/}}
+}
+
+@misc{HANA,
+       author =        {Parvez Ahmad},
+       title =         {{HDL Analyzer and Netlist Architect (HANA)}},
+       note =          {Verison linux64-1.0-alpha (2012-10-14), \url{http://sourceforge.net/projects/sim-sim/}}
+}
+
+@misc{MVSIS,
+       author =        {MVSIS group at Berkeley studies logic synthesis and verification for VLSI design},
+       title =         {{MVSIS: Logic Synthesis and Verification}},
+       note =          {Version 3.0, \url{http://embedded.eecs.berkeley.edu/mvsis/}}
+}
+
+@misc{VIS,
+       author =        {{The VIS group}},
+       title =         {{VIS: A system for Verification and Synthesis}},
+       note =          {Version 2.4, \url{http://vlsi.colorado.edu/~vis/}}
+}
+
+@misc{ABC,
+       author =        {{Berkeley Logic Synthesis and Verification Group}},
+       title =         {{ABC: A System for Sequential Synthesis and Verification}},
+       note =          {HQ Rev b5750272659f, 2012-10-28, \url{http://www.eecs.berkeley.edu/~alanmi/abc/}}
+}
+
+@misc{AIGER,
+       author =        {{Armin Biere, Johannes Kepler University Linz, Austria}},
+       title =         {{AIGER}},
+       note =          {\url{http://fmv.jku.at/aiger/}}
+}
+
+@misc{XilinxWebPACK,
+       author =        {{Xilinx, Inc.}},
+       title =         {{ISE WebPACK Design Software}},
+       note =          {\url{http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm}}
+}
+
+@misc{QuartusWeb,
+       author =        {{Altera, Inc.}},
+       title =         {{Quartus II Web Edition Software}},
+       note =          {\url{http://www.altera.com/products/software/quartus-ii/web-edition/qts-we-index.html}}
+}
+
+@misc{OR1200,
+       title =         {{OpenRISC 1200 CPU}},
+       note =          {\url{http://opencores.org/or1k/OR1200\_OpenRISC\_Processor}}
+}
+
+@misc{openMSP430,
+       title =         {{openMSP430 CPU}},
+       note =          {\url{http://opencores.org/project,openmsp430}}
+}
+
+@misc{i2cmaster,
+       title =         {{OpenCores I$^2$C Core}},
+       note =          {\url{http://opencores.org/project,i2c}}
+}
+
+@misc{k68,
+       title =         {{OpenCores k68 Core}},
+       note =          {\url{http://opencores.org/project,k68}}
+}
+
+@misc{bison,
+       title = {{GNU Bison}},
+       note = {\url{http://www.gnu.org/software/bison/}}
+}
+
+@misc{flex,
+       title = {{Flex}},
+       note = {\url{http://flex.sourceforge.net/}}
+}
+
+@misc{C_to_Verilog,
+       title = {{C-to-Verilog}},
+       note = {\url{http://www.c-to-verilog.com/}}
+}
+
+@misc{LegUp,
+       title = {{LegUp}},
+       note = {\url{http://legup.eecg.utoronto.ca/}}
+}
+
+@misc{LibertyFormat,
+       title = {{The Liberty Library Modeling Standard}},
+       note = {\url{http://www.opensourceliberty.org/}}
+}
+
+@misc{ASIC-WORLD,
+       title = {{World of ASIC}},
+       note = {\url{http://www.asic-world.com/}}
+}
+
+@misc{Formality,
+       title = {{Synopsys Formality Equivalence Checking}},
+       note = {\url{http://www.synopsys.com/Tools/Verification/FormalEquivalence/Pages/Formality.aspx}},
+}
+
+@misc{bigint,
+       author = {Matt McCutchen},
+       title = {{C++ Big Integer Library}},
+       note = {\url{http://mattmccutchen.net/bigint/}}
+}
+
index 978e1987b9fe512923389adce94a53f3f1d756ca..d3e3a66f1bfbb07b3ceba9414d60d2f54655403d 100644 (file)
-//----------------------------------------------------\r
-// A four level, round-robin arbiter. This was\r
-// orginally coded by WD Peterson in VHDL.\r
-//----------------------------------------------------\r
-module arbiter (\r
-  clk,    \r
-  rst,    \r
-  req3,   \r
-  req2,   \r
-  req1,   \r
-  req0,   \r
-  gnt3,   \r
-  gnt2,   \r
-  gnt1,   \r
-  gnt0   \r
-);\r
-// --------------Port Declaration----------------------- \r
-input           clk;    \r
-input           rst;    \r
-input           req3;   \r
-input           req2;   \r
-input           req1;   \r
-input           req0;   \r
-output          gnt3;   \r
-output          gnt2;   \r
-output          gnt1;   \r
-output          gnt0;   \r
-\r
-//--------------Internal Registers----------------------\r
-wire    [1:0]   gnt       ;   \r
-wire            comreq    ; \r
-wire            beg       ;\r
-wire   [1:0]    lgnt      ;\r
-wire            lcomreq   ;\r
-reg             lgnt0     ;\r
-reg             lgnt1     ;\r
-reg             lgnt2     ;\r
-reg             lgnt3     ;\r
-reg             lasmask   ;\r
-reg             lmask0    ;\r
-reg             lmask1    ;\r
-reg             ledge     ;\r
-\r
-//--------------Code Starts Here----------------------- \r
-always @ (posedge clk)\r
-if (rst) begin\r
-  lgnt0 <= 0;\r
-  lgnt1 <= 0;\r
-  lgnt2 <= 0;\r
-  lgnt3 <= 0;\r
-end else begin                                     \r
-  lgnt0 <=(~lcomreq & ~lmask1 & ~lmask0 & ~req3 & ~req2 & ~req1 & req0)\r
-        | (~lcomreq & ~lmask1 &  lmask0 & ~req3 & ~req2 &  req0)\r
-        | (~lcomreq &  lmask1 & ~lmask0 & ~req3 &  req0)\r
-        | (~lcomreq &  lmask1 &  lmask0 & req0  )\r
-        | ( lcomreq & lgnt0 );\r
-  lgnt1 <=(~lcomreq & ~lmask1 & ~lmask0 &  req1)\r
-        | (~lcomreq & ~lmask1 &  lmask0 & ~req3 & ~req2 &  req1 & ~req0)\r
-        | (~lcomreq &  lmask1 & ~lmask0 & ~req3 &  req1 & ~req0)\r
-        | (~lcomreq &  lmask1 &  lmask0 &  req1 & ~req0)\r
-        | ( lcomreq &  lgnt1);\r
-  lgnt2 <=(~lcomreq & ~lmask1 & ~lmask0 &  req2  & ~req1)\r
-        | (~lcomreq & ~lmask1 &  lmask0 &  req2)\r
-        | (~lcomreq &  lmask1 & ~lmask0 & ~req3 &  req2  & ~req1 & ~req0)\r
-        | (~lcomreq &  lmask1 &  lmask0 &  req2 & ~req1 & ~req0)\r
-        | ( lcomreq &  lgnt2);\r
-  lgnt3 <=(~lcomreq & ~lmask1 & ~lmask0 & req3  & ~req2 & ~req1)\r
-        | (~lcomreq & ~lmask1 &  lmask0 & req3  & ~req2)\r
-        | (~lcomreq &  lmask1 & ~lmask0 & req3)\r
-        | (~lcomreq &  lmask1 &  lmask0 & req3  & ~req2 & ~req1 & ~req0)\r
-        | ( lcomreq & lgnt3);\r
-end \r
-\r
-//----------------------------------------------------\r
-// lasmask state machine.\r
-//----------------------------------------------------\r
-assign beg = (req3 | req2 | req1 | req0) & ~lcomreq;\r
-always @ (posedge clk)\r
-begin                                     \r
-  lasmask <= (beg & ~ledge & ~lasmask);\r
-  ledge   <= (beg & ~ledge &  lasmask) \r
-          |  (beg &  ledge & ~lasmask);\r
-end \r
-\r
-//----------------------------------------------------\r
-// comreq logic.\r
-//----------------------------------------------------\r
-assign lcomreq = ( req3 & lgnt3 )\r
-                | ( req2 & lgnt2 )\r
-                | ( req1 & lgnt1 )\r
-                | ( req0 & lgnt0 );\r
-\r
-//----------------------------------------------------\r
-// Encoder logic.\r
-//----------------------------------------------------\r
-assign  lgnt =  {(lgnt3 | lgnt2),(lgnt3 | lgnt1)};\r
-\r
-//----------------------------------------------------\r
-// lmask register.\r
-//----------------------------------------------------\r
-always @ (posedge clk )\r
-if( rst ) begin\r
-  lmask1 <= 0;\r
-  lmask0 <= 0;\r
-end else if(lasmask) begin\r
-  lmask1 <= lgnt[1];\r
-  lmask0 <= lgnt[0];\r
-end else begin\r
-  lmask1 <= lmask1;\r
-  lmask0 <= lmask0;\r
-end \r
-\r
-assign comreq = lcomreq;\r
-assign gnt    = lgnt;\r
-//----------------------------------------------------\r
-// Drive the outputs\r
-//----------------------------------------------------\r
-assign gnt3   = lgnt3;\r
-assign gnt2   = lgnt2;\r
-assign gnt1   = lgnt1;\r
-assign gnt0   = lgnt0;\r
-\r
-endmodule\r
+//----------------------------------------------------
+// A four level, round-robin arbiter. This was
+// orginally coded by WD Peterson in VHDL.
+//----------------------------------------------------
+module arbiter (
+  clk,    
+  rst,    
+  req3,   
+  req2,   
+  req1,   
+  req0,   
+  gnt3,   
+  gnt2,   
+  gnt1,   
+  gnt0   
+);
+// --------------Port Declaration----------------------- 
+input           clk;    
+input           rst;    
+input           req3;   
+input           req2;   
+input           req1;   
+input           req0;   
+output          gnt3;   
+output          gnt2;   
+output          gnt1;   
+output          gnt0;   
+
+//--------------Internal Registers----------------------
+wire    [1:0]   gnt       ;   
+wire            comreq    ; 
+wire            beg       ;
+wire   [1:0]    lgnt      ;
+wire            lcomreq   ;
+reg             lgnt0     ;
+reg             lgnt1     ;
+reg             lgnt2     ;
+reg             lgnt3     ;
+reg             lasmask   ;
+reg             lmask0    ;
+reg             lmask1    ;
+reg             ledge     ;
+
+//--------------Code Starts Here----------------------- 
+always @ (posedge clk)
+if (rst) begin
+  lgnt0 <= 0;
+  lgnt1 <= 0;
+  lgnt2 <= 0;
+  lgnt3 <= 0;
+end else begin                                     
+  lgnt0 <=(~lcomreq & ~lmask1 & ~lmask0 & ~req3 & ~req2 & ~req1 & req0)
+        | (~lcomreq & ~lmask1 &  lmask0 & ~req3 & ~req2 &  req0)
+        | (~lcomreq &  lmask1 & ~lmask0 & ~req3 &  req0)
+        | (~lcomreq &  lmask1 &  lmask0 & req0  )
+        | ( lcomreq & lgnt0 );
+  lgnt1 <=(~lcomreq & ~lmask1 & ~lmask0 &  req1)
+        | (~lcomreq & ~lmask1 &  lmask0 & ~req3 & ~req2 &  req1 & ~req0)
+        | (~lcomreq &  lmask1 & ~lmask0 & ~req3 &  req1 & ~req0)
+        | (~lcomreq &  lmask1 &  lmask0 &  req1 & ~req0)
+        | ( lcomreq &  lgnt1);
+  lgnt2 <=(~lcomreq & ~lmask1 & ~lmask0 &  req2  & ~req1)
+        | (~lcomreq & ~lmask1 &  lmask0 &  req2)
+        | (~lcomreq &  lmask1 & ~lmask0 & ~req3 &  req2  & ~req1 & ~req0)
+        | (~lcomreq &  lmask1 &  lmask0 &  req2 & ~req1 & ~req0)
+        | ( lcomreq &  lgnt2);
+  lgnt3 <=(~lcomreq & ~lmask1 & ~lmask0 & req3  & ~req2 & ~req1)
+        | (~lcomreq & ~lmask1 &  lmask0 & req3  & ~req2)
+        | (~lcomreq &  lmask1 & ~lmask0 & req3)
+        | (~lcomreq &  lmask1 &  lmask0 & req3  & ~req2 & ~req1 & ~req0)
+        | ( lcomreq & lgnt3);
+end 
+
+//----------------------------------------------------
+// lasmask state machine.
+//----------------------------------------------------
+assign beg = (req3 | req2 | req1 | req0) & ~lcomreq;
+always @ (posedge clk)
+begin                                     
+  lasmask <= (beg & ~ledge & ~lasmask);
+  ledge   <= (beg & ~ledge &  lasmask) 
+          |  (beg &  ledge & ~lasmask);
+end 
+
+//----------------------------------------------------
+// comreq logic.
+//----------------------------------------------------
+assign lcomreq = ( req3 & lgnt3 )
+                | ( req2 & lgnt2 )
+                | ( req1 & lgnt1 )
+                | ( req0 & lgnt0 );
+
+//----------------------------------------------------
+// Encoder logic.
+//----------------------------------------------------
+assign  lgnt =  {(lgnt3 | lgnt2),(lgnt3 | lgnt1)};
+
+//----------------------------------------------------
+// lmask register.
+//----------------------------------------------------
+always @ (posedge clk )
+if( rst ) begin
+  lmask1 <= 0;
+  lmask0 <= 0;
+end else if(lasmask) begin
+  lmask1 <= lgnt[1];
+  lmask0 <= lgnt[0];
+end else begin
+  lmask1 <= lmask1;
+  lmask0 <= lmask0;
+end 
+
+assign comreq = lcomreq;
+assign gnt    = lgnt;
+//----------------------------------------------------
+// Drive the outputs
+//----------------------------------------------------
+assign gnt3   = lgnt3;
+assign gnt2   = lgnt2;
+assign gnt1   = lgnt1;
+assign gnt0   = lgnt0;
+
+endmodule
index 1bff66af8fd5fcf484b52cc0b7418e790e8c2d49..5a7e0eaffdd1a88a4c6d1d3dfa97e2e92c7f3b52 100644 (file)
@@ -1,11 +1,11 @@
-module t_gate_switch (L,R,nC,C);\r
- inout L;\r
- inout R;\r
- input nC;\r
- input C;\r
-\r
- //Syntax: keyword unique_name (drain. source, gate);\r
- pmos p1 (L,R,nC);\r
- nmos p2 (L,R,C);\r
-\r
-endmodule\r
+module t_gate_switch (L,R,nC,C);
+ inout L;
+ inout R;
+ input nC;
+ input C;
+
+ //Syntax: keyword unique_name (drain. source, gate);
+ pmos p1 (L,R,nC);
+ nmos p2 (L,R,C);
+
+endmodule
index 5345197454e3b6a4b04a4a403ab8f1c604b112fd..10ca00df462064b0b568bbd12ca291c1dcfc1054 100644 (file)
@@ -1,19 +1,19 @@
-//-----------------------------------------------------\r
-// Design Name : counter\r
-// File Name   : counter.v\r
-// Function    : 4 bit up counter\r
-// Coder       : Deepak\r
-//-----------------------------------------------------\r
-module counter (clk, reset, enable, count);\r
-input clk, reset, enable;\r
-output [3:0] count;\r
-reg [3:0] count;                                   \r
-\r
-always @ (posedge clk)\r
-if (reset == 1'b1) begin\r
-  count <= 0;\r
-end else if ( enable == 1'b1) begin\r
-  count <= count + 1;\r
-end\r
-\r
-endmodule  \r
+//-----------------------------------------------------
+// Design Name : counter
+// File Name   : counter.v
+// Function    : 4 bit up counter
+// Coder       : Deepak
+//-----------------------------------------------------
+module counter (clk, reset, enable, count);
+input clk, reset, enable;
+output [3:0] count;
+reg [3:0] count;                                   
+
+always @ (posedge clk)
+if (reset == 1'b1) begin
+  count <= 0;
+end else if ( enable == 1'b1) begin
+  count <= count + 1;
+end
+
+endmodule  
index 1047793816fcc3f614448d158ff29814d435f218..504814543c461e75731b305d89589d4170a1890f 100644 (file)
-///////////////////////////////////////////////////////////////////////////\r
-// MODULE               : counter_tb                                     //\r
-// TOP MODULE           : --                                             //\r
-//                                                                       //\r
-// PURPOSE              : 4-bit up counter test bench                    //\r
-//                                                                       //\r
-// DESIGNER             : Deepak Kumar Tala                              //\r
-//                                                                       //\r
-// Revision History                                                      //\r
-//                                                                       //\r
-// DEVELOPMENT HISTORY  :                                                //\r
-//               Rev0.0 : Jan 03, 2003                                   //\r
-//                        Initial Revision                               //\r
-//                                                                       //\r
-///////////////////////////////////////////////////////////////////////////\r
-module testbench;\r
-\r
-reg clk, reset, enable;\r
-wire [3:0] count;\r
-reg dut_error;\r
-\r
-counter U0 (\r
-.clk    (clk),\r
-.reset  (reset),\r
-.enable (enable),\r
-.count  (count)\r
-);\r
-\r
-event reset_enable;\r
-event terminate_sim;\r
-\r
-initial\r
-begin\r
- $display ("###################################################");\r
- clk = 0;\r
- reset = 0;\r
- enable = 0;\r
- dut_error = 0;\r
-end\r
-\r
-always\r
-  #5 clk = !clk;\r
-\r
-initial\r
-begin\r
-  $dumpfile ("counter.vcd");\r
-  $dumpvars;\r
-end\r
-\r
-\r
-initial\r
-@ (terminate_sim)  begin\r
- $display ("Terminating simulation");\r
- if (dut_error == 0) begin\r
-   $display ("Simulation Result : PASSED");\r
- end\r
- else begin\r
-   $display ("Simulation Result : FAILED");\r
- end\r
- $display ("###################################################");\r
- #1 $finish;\r
-end\r
-\r
-\r
-\r
-event reset_done;\r
-\r
-initial\r
-forever begin\r
- @ (reset_enable);\r
- @ (negedge clk)\r
- $display ("Applying reset");\r
-   reset = 1;\r
- @ (negedge clk)\r
-   reset = 0;\r
- $display ("Came out of Reset");\r
- -> reset_done;\r
-end\r
-\r
-initial begin\r
-  #10 -> reset_enable;\r
-  @ (reset_done);\r
-  @ (negedge clk);\r
-  enable = 1;\r
-  repeat (5)\r
-  begin\r
-   @ (negedge clk);\r
-  end\r
-  enable = 0;\r
-  #5 -> terminate_sim;\r
-end\r
-\r
-\r
-reg [3:0] count_compare;\r
-\r
-always @ (posedge clk)\r
-if (reset == 1'b1)\r
- count_compare <= 0;\r
-else if ( enable == 1'b1)\r
- count_compare <= count_compare + 1;\r
-\r
-\r
-\r
-always @ (negedge clk)\r
-if (count_compare != count) begin\r
-  $display ("DUT ERROR AT TIME%d",$time);\r
-  $display ("Expected value %d, Got Value %d", count_compare, count);\r
-  dut_error = 1;\r
-  #5 -> terminate_sim;\r
-end\r
-\r
-endmodule\r
-\r
+///////////////////////////////////////////////////////////////////////////
+// MODULE               : counter_tb                                     //
+// TOP MODULE           : --                                             //
+//                                                                       //
+// PURPOSE              : 4-bit up counter test bench                    //
+//                                                                       //
+// DESIGNER             : Deepak Kumar Tala                              //
+//                                                                       //
+// Revision History                                                      //
+//                                                                       //
+// DEVELOPMENT HISTORY  :                                                //
+//               Rev0.0 : Jan 03, 2003                                   //
+//                        Initial Revision                               //
+//                                                                       //
+///////////////////////////////////////////////////////////////////////////
+module testbench;
+
+reg clk, reset, enable;
+wire [3:0] count;
+reg dut_error;
+
+counter U0 (
+.clk    (clk),
+.reset  (reset),
+.enable (enable),
+.count  (count)
+);
+
+event reset_enable;
+event terminate_sim;
+
+initial
+begin
+ $display ("###################################################");
+ clk = 0;
+ reset = 0;
+ enable = 0;
+ dut_error = 0;
+end
+
+always
+  #5 clk = !clk;
+
+initial
+begin
+  $dumpfile ("counter.vcd");
+  $dumpvars;
+end
+
+
+initial
+@ (terminate_sim)  begin
+ $display ("Terminating simulation");
+ if (dut_error == 0) begin
+   $display ("Simulation Result : PASSED");
+ end
+ else begin
+   $display ("Simulation Result : FAILED");
+ end
+ $display ("###################################################");
+ #1 $finish;
+end
+
+
+
+event reset_done;
+
+initial
+forever begin
+ @ (reset_enable);
+ @ (negedge clk)
+ $display ("Applying reset");
+   reset = 1;
+ @ (negedge clk)
+   reset = 0;
+ $display ("Came out of Reset");
+ -> reset_done;
+end
+
+initial begin
+  #10 -> reset_enable;
+  @ (reset_done);
+  @ (negedge clk);
+  enable = 1;
+  repeat (5)
+  begin
+   @ (negedge clk);
+  end
+  enable = 0;
+  #5 -> terminate_sim;
+end
+
+
+reg [3:0] count_compare;
+
+always @ (posedge clk)
+if (reset == 1'b1)
+ count_compare <= 0;
+else if ( enable == 1'b1)
+ count_compare <= count_compare + 1;
+
+
+
+always @ (negedge clk)
+if (count_compare != count) begin
+  $display ("DUT ERROR AT TIME%d",$time);
+  $display ("Expected value %d, Got Value %d", count_compare, count);
+  dut_error = 1;
+  #5 -> terminate_sim;
+end
+
+endmodule
+