Verilog HDL 学习要点总结(一)

Posted by Harid七月 - 13 - 2011 Leave comments

1、逻辑综合:将RTL的HDL代码映射到具体工艺上加以实现,产生门级网表;

2、门级网表:使用门电路以及门电路之间的连接;

3、SOC:SOC(System on Chips)是采用深亚微米工艺的电路,其中包含一个或多个微处理器内核,至少10万门的用户门以及相当容量的存储器,同时在芯片上出现CPU、DSP、数字电路、模拟电路、存储器等多种电路;

4、采用Verilog输入法最大的优点是其与工艺无关性。这使得工程师在功能设计、逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路;

5、把功能经过验证的、可综合的、实现后电路结构总门数在5000门以上的Verilog HDL模型称之为“软核”。而把由软核构成的器件称之为虚拟器件,在新电路的研制过程中,软核和虚拟器件可以很容易地借助EDA工具与其他外部逻辑结合为一体;

6、把在某一种现场可编程门阵列(FPGA)器件上实现的、经验证是正确的、总门数在5000门以上的电路结构编码文件为“固核”;

7、把在某一种专用集成电路(ASIC)工艺的器件上实现上、经验证是正确的、总门数在5000门以上的电路结构版图掩膜称为“硬核”;

8、Verilog HDL 程序是由模块构成的。如果每个模块都是可综合的,则通过综合工具可以把它们的功能描述全都转换为最基本的逻辑单元描述,最后可以用一个上层模块通过实例引用把这些模块连接起来,把它们整合成一个很大的逻辑系统。Verilog 模块可以分为两种类型:一种是为了让模块最终能生成电路的结构,另一种只是为了测试所设计电路的逻辑功能是否正解;

9、Verilog 程序包括4个主要部分:端口定义、I/O说明、同部信号声明和功能定义;

10、在Verilog模块中所有过程块(如:initial块、always块)、连续赋值语句、实例引用都是并行的,亦即在同一模块中这三者出现的先后次序没有关系;

11、只有连续赋值语句(assign)和实例引用语句可以独立于过程块而存在于模块的功能定义部分;

12、Verilog HDL中总共有19种数据类型。

13、有3种方法在模块中产生逻辑:

(1)、用assign声明语句。如: assign a = b & c;这种方法的句法很简单,只需写一个“assign”,后面再加一个方程式即可。

(2)、用实例元件。如:and #100 ul(q, a, b); 采用实例元件的方法像在电路图输入方式下调入库元件一样,键入元件的名字和相连的引脚即可。这表示在设计中用到一个跟与门一样的名为ul的与门,其输入端为a、b,输出为q。输出延迟为100个单位时间。要求每个实例元件的名字必须是唯一的,以避免与其他调用与门的实例混淆。

(3)、用“always”块。如:

always @ (posedge clk or posedge clr)

begin

……

end

 

采用“assign”语句是描述组合逻辑最常用的方法之一。而“always”块既可用于描述组合逻辑,也可以描述时序逻辑。用“always”块可用很多种描述手段来表达逻辑。如按一定的风格来编写“always”块,可以通过综合工具把源代码自动综合成用门级结构表示的组合或时序逻辑电路;

14、三种建模方法:数据流建模、行为建模、结构化建模。

   声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
   原创文章转载请注明:转自《Verilog HDL 学习要点总结(一)


分享按钮