Verilog数字系统设计|引子——Verilog思考(持续更新)

1.什么是信号处理电路?它通常由哪两大部分组成?
答:信号处理电路是进行一些复杂的数字运算和数据处理,并且又有实时响应要求的电路。它通常有高速数据通道接口和高速算法电路两大部分组成。
2.为什么要设计专用的信号处理电路?
答:因为有的数字信号处理对时间的要求非常苛刻,以至于用高速的通用处理器也无法在规定的时间内完成必要的运算。
通用微处理器芯片是为一般目的而设计的,运算的步骤必须通过程序编译后生成的机器码指令加载到存储器中,然后在微处理器芯片控制下,按时钟的节拍,逐条取出指令分析指令和执行指令,直到程序的结束。
微处理器芯片中的内部总线和运算部件也是为通用目的而设计,即使是专为信号处理而设计的通用微处理器,因为它的通用性也不可能为某一特殊的算法来设计一系列的专用的运算电路而且其内部总线的宽度也不能随便的改变,只有通过改变程序,才能实现这个特殊的算法,因而其算法速度也受到限制,所以要设计专用的信号处理电路。
【Verilog数字系统设计|引子——Verilog思考(持续更新)】3.什么是实时处理系统?
答:实时处理系统是具有实时响应的处理系统。
4.为什么要用硬件描述语言来设计复杂的算法逻辑电路?
答:因为现代复杂数字逻辑系统的设计都是借助于EDA(电子设计自动化Electronic Design Automation)工具完成的,无论电路系统的仿真和综合都需要掌握硬件描述语言。
5.能不能完全用C语言来代替硬件描述语言进行算法逻辑电路的设计?
答:不能,因为基础算法的描述和验证通常用C语言来做。如果要设计一个专用的电路来进行这种对速度有要求的实时数据处理,除了以上C语言外,还须编写硬件描述语言程序进行仿真以便从电路结构上保证算法能在规定的时间内完成,并能通过与前端和后端的设备接口正确无误地交换数据。
6.为什么在算法逻辑电路的设计中需要用C语言和硬件描述语言配合使用来提高设计效率?
答:首先C语言很灵活,查错功能强,还可以通过PLI编写自己的系统任务,并直接与硬件仿真器结合使用。C语言是目前世界上应用最为广泛的一种编程语言,因而C程序的设计环境比Verilog HDL更完整,此外,C语言有可靠地编译环境,语法完备,缺陷较少,应用于许多的领域。比较起来,Verilog 语言只是针对硬件描述的,在别处使用并不方便。而用Verilog的仿真,综合,查错等大部分软件都是商业软件,与C语言相比缺乏长期大量的使用,可靠性较差,亦有很多缺陷。所以只有在C语言的配合使用下,Verilog才能更好地发挥作用。C语言与VerilogHDL语言相辅相成,互相配合使用。这就是即利用C语言的完整性又要结合Verilog对硬件描述的精确性,来更快更好地设计出符合性能要求的硬件电路系统。
7.什么是硬件描述语言?它的主要作用是什么?
硬件描述语言是一种用形式化方式来描述数字电路和系统的语言。它的主要作用是:数字电路系统的设计者利用这种语言可以从上层到下层(从抽象到具体)逐步描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。
8.目前世界上符合IEEE标准的硬件描述语言有哪两种?它们各有什么特点?
符合IEEE标准的硬件描述语言是VerilogHDL和VHDL两种。
它们的共同特点是:能够形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换硬件描述与实现工艺无关;便于文档管理;易于理解和设计重用。
不同点: VerilogHDL是一种非常容易掌握的硬件描述语言,而VHDL掌握起来就比较困难。
9.什么情况下需要采用硬件描述语言的设计方法?
在对逻辑电路及系统的设计的时间要求很短的情况下需要采用硬件描述语言的设计方法。
10.采用硬件描述语言设计方法的优点是什么?有什么缺点?
优点是:与工艺无关性。这使得工程师在功能设计,逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。
缺点是:需要相应的EDA工具,而EDA工具的稳定性需要进一步的在工程中提升。
11.简单叙述一下利用EDA工具并采用硬件描述语言的设计方法和流程?
采用自顶向下的设计方法:从系统级开始把系统划分为基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接用EDA元件库中的基本元件来实现为止。
其基本流程主要由两大主要功能部分组成::①设计开发即从编写设计文件→综合到布局布线→电路生成这样一系列步骤。②设计验证也就是进行各种仿真的一系列步骤,如果在仿真过程中发现问题就返回设计输入进行修改。
12.用硬件描述语言设计的数字系统需要经过哪些步骤才能与具体的电路相对应?
编写设计文件;功能仿真;优化布局布线;布线后门级仿真
13.为什么说用硬件描述语言设计的数字逻辑系统下具有很大的灵活性并可以映射到任何工艺的电路上?
硬件描述语言的设计具有与工艺无关性。这使得工程师在功能设计,逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。
14.软核是什么?虚拟器件是什么?它们的作用是什么?
把功能经过验证的,可综合的,实现后电路结构总门数在5000门以上的Verilog HDL模型称为软核。而把由软核构成的器件称为虚拟器件。作用:大大缩短设计周期,加快复杂电路的设计。
15.集成电路行业中IP的含义是什么?固核是什么?硬核是什么?与软核相比它们各有什么特点?各适合于什么场合?
在集成电路行业中IP是知识产权( Itellectual Property)的含义。
把在某一现场可编程门阵列器件(FPGA)上实现的经验验证正确的,总门数在5000门以上的电路结构编码文件称为固核。
把在某一专用集成电路(ASCI)工艺的器件上实现的经验证正确的,总门数在5000门以上的门电路结构版图掩膜称为硬核。
在工具实现手段和工艺技术尚未确定的逻辑设计阶段,IP 核具有很大的灵活性,很容易借助EDA工具与其他外部逻辑结合为一体。相比之下固核和硬核与其他外部逻辑结合为一体的灵活性要差很多。
16.System Verilog与Verilog有什么关系?适合于何种设计?
System Verilog是Verilog语言的拓展和延伸。Verilog适合系统级,算法级,寄存器级,逻辑级,门级,电路开关级设计。而System Verilog更适合于可重用的可综合IP和可重用的验证用IP设计,以及特大型基于IP的系统级设计和验证。

    推荐阅读