模组(module)的概念

2024-06-26 09:03:43

  可以是一个逻辑闸、一个三十二位元计数器、一个记忆体子系统、一个机算机系统或是一个用网路相连的多部电脑。

  模组中与外界连接端(port)可以是一个位元或数个位元。连接端可以宣告为输入端、输出端或输出入端。

  以下介绍Verilog语法,用三种不同层级(Level)来表示模组的方式。

  它有三个单一位元称为 in1、in2、及 out 的连接端。其中 in1及 in2 为输入,而 out 为输出。其实这个 AND2 模组能做的事和 and 闸是一样的。

  一个Verilog模组包含了关键字(keywords)、名字(names)、文字(literals)、 注解(comments)以及标点符号。Verilog语法中大小写与C语言一样,大小写是不一样的,而Verilog中所有的关键字均是使用小写。空白、跳格(tab)及换行是用来增加程式的可读性。注解的用法为 /*注解*/。

  k8凯发

  所有的模组均以关键字module开始,并紧跟著该模组的模组名称、输入输出的串列。

  上述三个例子 的模组接著宣告输出及输入的型别为wire。例外的是在行为式模组的例子将其输出宣告为 reg的型别。其实在Verilog中所有的输出及输入均预设为wire的型别,因此这些宣告(除了宣告为reg型别的输出外)均可省略。

  以上三个模组分别说明三种不同的描述方式∶ 结构式(structural)、资料流程式(data-flow)及行为式(behavioral)。

  在这层次中模组是由逻辑闸连接而成,在这层次的设计工作就好像以前用描绘逻辑闸来设计线路一样。

  它是一种模拟组合函式(combinational-functions)的方法。使用这种描述方式,函式可视为一棵有方向性的树(directed-tree)。输入为其树叶,输出为其树根。 当任何输入有所改变时,输出会被重新计算而跟著改变。资料流程式只能用来实践组合函式。 在这个层次中,要说明资料如何在暂存器中储存与传送,如何处理资料。

  它是一种使用高阶语言来描述硬体的方式。因Verilog提供很普遍及功能强大的描述方式。因此使用行为式所描述的模组其描述与真实的电路可能毫无关连。甚至某些行为式模组可能无费晕硬体实践。这种特性是Verilog的优点也是缺点。 在这个层次的设计工作就好像写C语言一样。

  (例宜礮中的结构式模组有一个AND闸的实例。在(例宜礮中的AND与其他如or、nand、nor、not等均为Verilog的基本元件(primitive)。这些是Verilog语言预先定义好的函式。例如,这个AND闸实例会不断地观测其输入。如果输入有任何变化,这个AND函式将会重新用新的输入值计算出输入值。

  @(in1or in2) 表示式告诉拟器等待 in1或 in2发生变化。 如果发生变化则下列设定 :

  将表示式 in1AND in2 的值放置於变数out中。同时,always这个关键字也意味著当这个设定完成时,模拟器将等待下一次 in1或 in2 的变化。也就是说,always区块(block)很像传统程 式语言的无穷回圈。

服务热线

0898-08980898

© Copyright © k8凯发(中国)天生赢家·一触即发 版权所有

地址:江西省南昌市
电话:0898-08980898