本文論述了狀態機的verilog編碼風格,以及不同編碼風格的優缺點,Steve Golson's 1994 paper, "State MaCHine Design Techniques for Verilog and VHDL" [1], is agreat paper on state MaCHine design using Verilog, VHDL and Synopsys tools. Steve's paper alsooffers in-depth background concerning the origin of specific state MaCHine types.This paper, "State MaCHine Coding Styles for Synthesis," details additional insights into stateMaCHine design including coding style approaches and a few additional tricks.
One of the strengths of Synplify is the Finite State MaCHine compiler. This is a powerfulfeature that not only has the ability to automatically detect state MaCHines in the sourcecode, and implement them with either sequential, gray, or one-hot encoding. But alsoperform a reachability analysis to determine all the states that could possibly bereached, and optimize away all states and transition logic that can not be reached.Thus, producing a highly optimal final implementation of the state MaCHine.
本文論述了狀態機的verilog編碼風格,以及不同編碼風格的優缺點,Steve Golson's 1994 paper, "State MaCHine Design Techniques for Verilog and VHDL" [1], is agreat paper on state MaCHine design using Verilog, VHDL and Synopsys tools. Steve's paper alsooffers in-depth background concerning the origin of specific state MaCHine types.This paper, "State MaCHine Coding Styles for Synthesis," details additional insights into stateMaCHine design including coding style approaches and a few additional tricks.
One of the strengths of Synplify is the Finite State MaCHine compiler. This is a powerfulfeature that not only has the ability to automatically detect state MaCHines in the sourcecode, and implement them with either sequential, gray, or one-hot encoding. But alsoperform a reachability analysis to determine all the states that could possibly bereached, and optimize away all states and transition logic that can not be reached.Thus, producing a highly optimal final implementation of the state MaCHine.
JILRuntime A general purpose, register based virtual MaCHine (VM) that supports object-oriented features, reference counting (auto destruction of data as soon as it is no longer used, no garbage collection), exceptions (handled in C/C++ or virtual MaCHine code) and other debugging features. Objects and functions can be written in virtual MaCHine code, as well as in C or C++, or any other language that can interface to C object code. The VM is written for maximum performance and thus is probably not suitable for embedded systems where a small memory footprint is required. Possible uses of the VM are in game development, scientific research, or to provide a stand-alone, general purpose programming environment.