特权同学

软硬协同,各司其职

0
阅读(12691)

软硬协同,各司其职

最近在搜寻一些视频压缩方面的方案,注意到了一些早已不是秘密的秘密。对于一个嵌入式应用,无论是简单的架构还是复杂庞大的系统,从一个FPGA设计者的角度放眼望去:那不过都是一堆逻辑而已。哈哈,CPU也概莫能外,看看那些当下很时髦的single-chip解决方案,说白了那些所谓的内嵌CPU不过是一个功能强大的状态机而已,这一点我们这些底层逻辑代码编写者可谓深谙其道矣。

口说无凭,必须拿几个实际案例论证一下才过瘾。那么下面就开始吧——

应用于家庭安全监视系统上的某视频压缩存储芯片内部功能框图如图1所示。内嵌运行频率可高达120MHz的CPU。此CPU并非对外开放让用户可编程扩展的,而是一个固化好代码功能的“封闭式”CPU,其作用不言而喻,就是要统筹协调那条总线上挂靠的所有外设单元。

图1

再看大厂子TI的一款JPEG2000标准的压缩/解压缩芯片,其内部功能框图如图2所示。无独有偶,也是内嵌了一个RISC处理器系统,从结构上看,这个CPU嵌入的方式基本和前述的应用是一致的。

图2

该嵌入CPU的功能在datasheet原文有所描述,如下:

EMBEDDED PROCESSOR SYSTEM

The ADV202 incorporates an embedded 32-bit RISC processor. This processor is used for configuration, control, and manage-ment of the dedicated hardware functions, as well as for parsing and generating the JPEG2000 code stream. The processor system includes memory for both program and data memory, an interrupt controller, standard bus interfaces, and other hardware functions such as timers and counters.

在视频压缩/解压缩方面的芯片中,还有像博通的BM7041/7411、ESS的ES6461等单片解决方案都是内嵌了一个CPU。而这些嵌入了CPU的ASIC之所以称之为ASIC而非CPU,很大程度上就在于这些内嵌的CPU不向用户开放,而是ASIC固化功能的一部分。

试想想,若让我们来设计这些芯片,即便只是这些芯片内部的哪怕只是一个功能模块,若是给出个“不许用状态机”的命令恐怕会把大多数人难倒。而这个“不许用状态机”的命令就好比“不许用时序逻辑做同步”一样无趣。

状态机也是好东西,CPU就更是好东西。话说回来,其实从这些芯片架构也可以看出软硬件协同工作是大势所趋,既然各有所长,那就让他们物尽其用吧。

Baidu
map