原创 JTAG协议学习笔记(续二)(带输出的TAP状态机代码)

2006-11-24 18:31 9324 13 14 分类: FPGA/CPLD

    TAP Controller是用来解析JTAG协议的状态机,它的状态图如下: riple


点击看大图


    今天用StateCAD画了一下TAP Controller的状态图,顺便生成了两个HDL文件,一个VHDL的,一个verilog的。大家感兴趣的话,在这里rar可以下载。 riple


    由于没有明确应用,这两个文件都没有输出。如果大家有兴趣的话,可以根据自己的需要添加输出。我以后也会上传带输出版本的HDL文件。 riple


    VHDL版的采用了枚举方式给状态赋值,verilog版的采用了二进制编码(没有采用格雷码赋值)。如果用于FPGA综合的话,可以在综合工具的状态机编码选项中用“独热”(奇怪的汉译--one hot)方式编码。 riple


    如果大家有进一步兴趣的话,可以比较一下两个文件,看看VHDL和verilog到底有什么区别,有什么共同点。我的看法是:目标都是描述逻辑电路,不会有根本的区别。所以,学习HDL语言,一定要把电路形态时刻放在心上,生成正确的RTL是根本目标,当然好的编程风格也是不可或缺的。 riple


    再者,这两个文件中对于状态机的描述也可以借鉴,体现了状态赋值和跳转逻辑分离的编码原则。 riple


    控制输出是状态机的根本功能,下面是带状态信号灯输出的版本。大家可以分析一下状态机输出锁存是怎样实现的。 riple


    rar


 


相关链接:The Tagalyzer - A JTAG Boundary Scan Debug Tool riple

文章评论1条评论)

登录后参与讨论

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下面就有。

相关推荐阅读
ash_riple_768180695 2015-12-18 11:06
学习示例程序:FPGA快速系统原型设计--敏捷实践
        学习与开发板配套的示例程序,是敏捷实践的起点。示例程序是厂商针对开发板上提供的硬件资源和接口量身定做的工程,可以展示其FPGA芯片的功能和性能特点。从示例程序入手最大的好处就是:示...
ash_riple_768180695 2015-11-03 16:46
开发板选取:FPGA快速系统原型设计--敏捷实践
    既然是“实践”,就不能只谈编码和仿真,必须要上板运行、调试。这个虚拟项目的目标是实现一块兼容Intel82574L以太网控制器的千兆网卡,需要运行在一块具备PCIe接口和10/100/10...
ash_riple_768180695 2015-10-22 12:41
开篇:FPGA快速系统原型设计--敏捷实践
    虽然借用了 “系统原型开发”的标题,本系列文章将围绕FPGA IP级别的开发这个主题展开,如果可能的话,将扩展至FPGA System级别的开发。     先上一篇PPT:RSPwFP...
ash_riple_768180695 2013-08-26 10:21
学习SystemVerilog(二)——学习它的理由
    学习SystemVerilog的理由也很多,我在阅读SystemVerilog for Design 和 SystemVerilog for Verification两本书前言的过程中,总...
ash_riple_768180695 2013-08-26 10:19
学习SystemVerilog(一)——不学习它的理由
    想要学习SystemVerilog已经很久了。曾经尝试通过Accellera网站上给出的LRM学习,怎奈内容众多,找不出入手点和重点,只能望而却步。虽然手头有三本SystemVerilog...
ash_riple_768180695 2011-06-26 23:20
Hardware-Assisted IEEE1588 Implementation Analysis
06/18/11 11:00:05 PM         最近一段时间在研究IEEE1588-2008精确时间同步协议(PTP)。该协议可以在软件中实现,如果需要提高时间同步...
我要评论
1
13
关闭 站长推荐上一条 /2 下一条