TAP Controller是用来解析JTAG协议的状态机,它的状态图如下: riple
今天用StateCAD画了一下TAP Controller的状态图,顺便生成了两个HDL文件,一个VHDL的,一个verilog的。大家感兴趣的话,在这里可以下载。 riple
由于没有明确应用,这两个文件都没有输出。如果大家有兴趣的话,可以根据自己的需要添加输出。我以后也会上传带输出版本的HDL文件。 riple
VHDL版的采用了枚举方式给状态赋值,verilog版的采用了二进制编码(没有采用格雷码赋值)。如果用于FPGA综合的话,可以在综合工具的状态机编码选项中用“独热”(奇怪的汉译--one hot)方式编码。 riple
如果大家有进一步兴趣的话,可以比较一下两个文件,看看VHDL和verilog到底有什么区别,有什么共同点。我的看法是:目标都是描述逻辑电路,不会有根本的区别。所以,学习HDL语言,一定要把电路形态时刻放在心上,生成正确的RTL是根本目标,当然好的编程风格也是不可或缺的。 riple
再者,这两个文件中对于状态机的描述也可以借鉴,体现了状态赋值和跳转逻辑分离的编码原则。 riple
控制输出是状态机的根本功能,下面是带状态信号灯输出的版本。大家可以分析一下状态机输出锁存是怎样实现的。 riple
ash_riple_768180695 2006-12-15 09:25
在http://www.xilinx.com/webpack/classics/wpclassic/index.htm可以下载,需要在Xilinx网站注册。
ISE WebPACK 3.3WP8.1 - released 6/19/2001下面就有。