基于SparkRoad的《Verilog数字系统设计教程·第三版(夏宇闻)》学习(2)——第1章
第1章·思考题:
1.什么是硬件描述语言?它的主要作用是什么?
硬件描述语言是一种用形式化方式来描述数字电路和系统的语言。它的主要作用是:数字电路系统的设计者利用这种语言可以从上层到下层(从抽象到具体)(Top_Down)逐步描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。
2.目前世界上符合IEEE标准的硬件描述语言有哪两种?它们各有什么特点?
符合IEEE标准的硬件描述语言是VerilogHDL和VHDL两种。
它们的共同特点是:能够形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换硬件描述与实现工艺无关;便于文档管理;易于理解和设计重用。
不同点: VerilogHDL是一种非常容易掌握的硬件描述语言,而VHDL掌握起来就比较困难。(更为具体的比较见书P12 1.3)
3.什么情况下需要采用硬件描述语言的设计方法?
在对逻辑电路及系统的设计的时间要求很短的情况下需要采用硬件描述语言的设计方法。
4.采用硬件描述语言设计方法的优点是什么?有什么缺点?
优点是:与工艺无关性。这使得工程师在功能设计,逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。
缺点是:需要相应的EDA工具,而EDA工具的稳定性需要进一步的在工程中提升。
5.简单叙述一下利用EDA工具并采用硬件描述语言的设计方法和流程?
采用自顶向下的设计方法:从系统级开始把系统划分为基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接用EDA元件库中的基本元件来实现为止。
其基本流程主要由两大主要功能部分组成::①设计开发即从编写设计文件→综合到布局布线→电路生成这样一系列步骤。②设计验证也就是进行各种仿真的一系列步骤,如果在仿真过程中发现问题就返回设计输入进行修改。
6.硬件描述语言可以用哪两种方式参与复杂数字电路的设计?
复杂数字电路的设计、复杂数字电路的仿真验证。
7.用硬件描述语言设计的数字系统需要经过哪些步骤才能与具体的电路相对应?
编写设计文件;功能仿真;优化布局布线;布线后门级仿真。
8.为什么说用硬件描述语言设计的数字逻辑系统下具有很大的灵活性并可以映射到任何工艺的电路上?
硬件描述语言的设计具有与工艺无关性。这使得工程师在功能设计,逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。
9.软核是什么?虚拟器件是什么?它们的作用是什么?
把功能经过验证的,可综合的,实现后电路结构总门数在5000门以上的Verilog HDL模型称为软核。而把由软核构成的器件称为虚拟器件。作用:大大缩短设计周期,加快复杂电路的设计。
IP与软核、固核、硬核
10.集成电路行业中IP的含义是什么?固核是什么?硬核是什么?与软核相比它们各有什么特点?各适合于什么场合?
在集成电路行业中IP是知识产权( Itellectual Property)的含义。
把在某一现场可编程门阵列器件(FPGA)上实现的经验验证正确的,总门数在5000门以上的电路结构编码文件称为固核。
把在某一专用集成电路(ASCI)工艺的器件上实现的经验证正确的,总门数在5000门以上的门电路结构版图掩膜称为硬核。
在工具实现手段和工艺技术尚未确定的逻辑设计阶段,IP 核具有很大的灵活性,很容易借助EDA工具与其他外部逻辑结合为一体。相比之下固核和硬核与其他外部逻辑结合为一体的灵活性要差很多。
11.简述Top_Down设计方法和硬件描述语言的关系。
Top_Down设计方法首先从系统设计入手,从顶层进行功能划分和结构设计。系统总仿真时顶层进行功能划分的主要环节,而该过程需要采用硬件描述语言的方法。
12.System Verilog与Verilog有什么关系?适合于何种设计?
System Verilog是Verilog语言的拓展和延伸。Verilog适合系统级,算法级,寄存器级,逻辑级,门级,电路开关级设计。而System Verilog更适合于可重用的可综合IP和可重用的验证用IP设计,以及特大型基于IP的系统级设计和验证。
总结:
Verilog适合系统级(system)、算法级(alogrithem)、寄存器传输级(RTL)、逻辑级(logic)、门级(gate)、电路开关级(switch)。
博客园上的大佬学习笔记,可参考