我们知道构成数字逻辑系统的基本单元是与门、或门和非门,它们都是由三极管、二极管
和电阻等器件构成,并能执行相应的开关逻辑操作
f
与门、或门和非门又可以构成各种触发甜,
实现状态记忆。在数字电路基础课程中,在了解这些逻辑门和触发器的构成和原理后,把它们
作为抽象的理想事件来考虑,学习如何用布尔代数和卡诺图简化方法来设计一些简单的组合
逻辑电路和时序电路。这些基础知识从理论上了解一个复杂的数字系统,例如
CPU
等都可
以由这些基本单元组成。但真正如何来设计一个极其复杂的数字系统,如何验证设计的逻辑
系统功能是否正确,过去一直缺少更好的手段和方法。本教程就是讲解如何利用
Verilog
硬
件描述语言来设计和验证这样一个复杂的数字系统的方法。下面就复杂数字系统的概念、用
途和几个有关的基本问题做一些说明。
1.为什么要设计专用的复杂数字系
现代计算机与通信系统的电子设备中广泛使用了数字信号处理专用集成电路,它们主要
用于数字信号传输中所必需的滤波、变换、加密、解密、编码、解码、纠检错、压缩和解压缩等操
作。这些操作从本质上说都是数学运算
F
而从原则土讲,又完全可以用计算机或微处理器来完
成。这就是为什么常用
C
、
Pascal
~或汇编语言来编写程序,以研究算法的合理性和有效性的
道理。
在数字信号处理的领域内有相当大的一部分工作是可以事后处理的,即利用通用的计算
机系统来处理这类问题。如在石油地质调查中,通过钻探和一系列的爆破,记录各种地层的
波数据,然后去除噪声等无用信息,并用计算机对这些数据进行处理,最后得到地层的构造,从
而找到埋藏的石油。因为地层不会在几年内有明显的变化,因此花数十天乃至更长的时间把
地层的构造分析清楚也能满足要求。这种类型的数字信号处理是非实时的,在通用的计算机
上通过编写、修改和运行程序,分析程序运行的结果就能满足需要。
还有一类数字信号处理必须在规定的时间内完成,例如在军用无线通信系统和机载雷达
系统中常常需要对检测到的微弱信号进行增强、加密、编码、压缩,而在接收端必须及时地解压
、解码和解密并重现清晰的信号。很难想像用一个通用的计算机系统来完成这项工作。因
此,我们不得不自行设计非常轻便而小巧的高速专用硬件系统来完成该任务。
有的数字信号处理对时间的要求非常苛刻,以至于用高速的通用微处理器芯片也无法在
规定的时间内完成必要的运算。因此,必须为这样的运算设计一个专用的高速硬线逻辑电路,
在高速
FPGA
器件上实现或制成高速专用集成电路。这是因为通用微处理器芯片是为一
目的而设计的,运算的步骤必须通过程序编译后生成的机器码指令加载到存储器中,然后在微
处理器芯片控制下,按时钟的节拍,逐条取出指令、分析指令和执行指令,直至程序的结束。微
处理器芯片中的内部总线和运算部件也是为通用目的而设计,即使是专为信号处理而设计的
通用微处理器,因为它的通用性,也不可能为某一个特殊的算法来设计一系列的专用的运算电
路,而且其内部总线的宽度也不能随意改变,只有通过改变程序,才能实现这个特殊的算法,因
而其运算速度也受到限制。
,…·回
JE4
-