该文着重介绍了USB2.0接口模块UTM和SIE的设计、重点解决的设计问题以及如何建立一个具有可扩展性和易修改性的测试环境并对仿真、综合和版图结果进行了分析.UTM模块能够工作在480Mbit/s(HS)和12Mbit/s(FS)两种传输速率下,并且能够根据工作情况进行正确的切换.该论文主要通过产生一个采样时钟周期的被采样信号来解决相互关联时钟域即{clk480,clk60}和{clk12,clk60}之间的时序问题,此外有时也产生一个长时间的稳定信号,该信号被采样时钟采样后复位.该论文通过采用另外一个更高频(和Clk12时钟相比)的时钟clk60来对SE0进行采样,从而解决了FS模式下的SE0的检测(在极端情况下它的脉冲宽度可能小于一个Tclk12周期);论文也对其他的极端情况下的接收处理问题予以了解决.该论文提出了一种异步方法来解决具有两个异步时钟的FIFO的Full和Empty状况的判别,以此避免了同步方法中对FIFO的读、写指针所做的同步采样造成的不确定态.在高速模式下,通过采用两个Shifters来分别解决在去串行化和串行化时的数据接收和发送问题.最后,由于UTM模块的工作频率很高,所以如何考虑关键路径的组成是能否设计一个正确的电路的关键,该论文通过采用输入信号的同步化处理、尽可能的减少关键路径的门级数和减少不同时钟域内信号的使用来达到减少关键路径的延迟.SIE模块主要是基于USB2.0协议进行设计的,这包括对具有高速性能的设备进行的协议层的处理,即对USB2.0规定的四种传输的正确处理以及对Suspend、Resume和Reset三种过程的正确处理.通过对协议的处理、DMA操作的处理和Wishbone接口的信号处理由此完成对SIE和MCU的接口寄存器内容的正确更新...