4.1各单元模块的描述
地址译码单元
计算机与I/O设备间的正确通信是通过对I/O空间的寻址操作来完成的。每个I/O端口都分配了一个地址。在该方案中,将端口的地址设定为0280H,采用完全译码的方式。同时为了避免DMA操作控制总线,设计时让aen亦参与译码,并由时钟信号进行触发控制。译码成功后,产生一使能信号enable(高电平有效),同时将io_cs信号拉低。
数据暂存单元
enable信号无效时,数据暂存单元为高阻状态。该信号和写信号iow(低电平有效)都变为有效后,在接下来的一个时钟的下降沿(确保采样时数据有效),将总线上的数据读入数据暂存单元,并产生一允许信号permit,允许系统进行格式转换。
状态控制单元
这是系统的控制部分。系统状态的控制是由系统的控制信号simbol、sign在时钟信号的驱动下实现的。系统每完成一次8位数据的输出,在同一时钟的下降沿,状态发生改变,产生另外一控制信号varb(低电平有效)。复位后,系统又回到初始状态。状态变化过程如下:
如图所示
转换输出单元
转换输出单元是系统的核心,它包括三个部分:数据格式的转换、数据使能信号DEN的输出、数据时钟信号DCLK的输出。数据的转换输出是由系统当前所处的状态决定的。permit信号有效后,在时钟的上升沿,转换输出单元检测系统状态:状态为first时,输出高8位;状态为second时,输出低8位;状态为third时,系统复位,从而完成一次转换,开始下一转换周期。在转换过程中,系统同时完成对信号simbol、sign(低电平有效)的控制。
输出数据使能信号DEN是根据MPEG-2标准码流格式产生的,用于数据信号的同步。在MPEG-2标准中,码流是以包的形式传送的。每一个数据包都有一个统一的包标识符PID,它的十六进制形式为47H。从包中的第一个字节(47H)开始,DEN变为有效(高电平),并保持到第188字节。在接下来的16个字节时间里,DEN保持低电平。
输出数据时钟信号DCLK用作解复用单元的采样时钟,它是由控制信号sign、permit以及系统当前所处的状态控制产生的。为了保证采样时数据保持有效,DCLK的输出比相应的输出数据要延迟半个机器周期。
复位控制单元
转换结束后,需要对系统复位,保证下一转换的顺利进行。复位信号的产生取决于三个控制量:系统当前状态为third、控制信号varb为低电平、控制信号simbol为高电平。复位后,输出端为高阻状态,其他信号均为无效值。系统回到初始状态。
4.2系统的门级描述
整个系统的VHDL描述流程如图4所示。
图4
总之,机顶盒信源发生方案是机顶盒调试过程中的一个重要课题。本文提出的解决方案具有简单、实用、易实现的特点,经实践证明是可行的。同时在硬件实现时采用了VHDL的设计方法,也给整个方案提供了很大的灵活性。如果采用传统的方法来实现该方案,则首先要选择通用的逻辑器件,然后进行电路设计,完成各独立功能模块,再将各功能模块连接起来,完成整个电路的硬件设计,最后才能进行仿真和调试,直至整个系统的完成。这样一个过程往往需要比较长的时间,而且费时费力,特别是对一项大的工程。而采用VHDL这类高层设计技术,设计人员只需专心于设计方案和构思上,描述、编译成功后,经过系统综合,便可直接进行软件仿真和调试。整个系统的完成周期大大缩短,而且VHDL与工艺无关,它不限定模拟工具和设计方法,从而给设计师一个自由选择的余地。
随着电子工艺的日趋提高与完善,ISP(系统内可编程)功能为PLD提供了更高的灵活性,使PLD能够向高密度、大规模的方向发展以满足复杂系统的要求,从而使可编程ASIC的设计逐步向高层设计转移。作为一种重要的高层设计技术,VHDL亦成为当代电子设计师们设计数字硬件时必须掌握的一种方法。