差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
上一修订版 两侧同时换到之后的修订记录
实验2-2_4位比较器 [2017/02/27 21:57]
zhijun 创建
实验2-2_4位比较器 [2017/03/02 11:04]
zhijun
行 1: 行 1:
 <WRAP center ​ 60%> <WRAP center ​ 60%>
-====== 实验1.1 基本组合逻辑电路 ​======+====== 实验2.2 4位比较器 ​======
 </​WRAP>​ </​WRAP>​
  
 ===== 1.实验目的 ===== ===== 1.实验目的 =====
  
-  ​* 熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法 +* 熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法 
-  * 通过实验理解基本门电路 + 
-  * 掌握用Verilog HDL数据流基本门电路的方法+* 通过实验理解掌握比较器原理 
 + 
 +* 学习用Verilog HDL描述多位比较器级联电路 
  
 ===== 2.实验任务 ===== ===== 2.实验任务 =====
  
-Verilog实现不同2输入基本逻辑门+本实验的任务是描述4位的比较器电路,并for句和task语句实现比较器电路级联效果。 
  
 ===== 3.实验原理 ===== ===== 3.实验原理 =====
  
- 与门,与非门,或非门异或门,同或门真值如下表所示: +1位的比较器有如下性能: 
- +  * 如果X>​Y者X=Y且Gin=1那么输出Gout为1; 
-{{ :2选1选择逻辑单元真值表.png |}}  +  * 如果X=Y且Gin=0和Lin=0那么输出Eout为1; 
-   +  * 如果X<​Y者X= Y且Lin=1 ​那么输出Lout为1 。 
- ​原理图如下所示 +1位比较原理图与真值表如下:
-  +
-{{ :​2选1输入电路原理图.png |}} +
  
 +{{ ::​bijiaoqiyuanlitu.png?​600 |}}
  
 +写一个如下图所示的4位比较器的Verilog程序,我们可以使用1位比较器的Verilog模块,然后使用4个模块实例语句创建这个顶层模块设计。若想增加比较器的大小,需要为增加的X和y的每一位写新的模块例化语句。在Verilog always块中使用for循环语句,就可以很方便地实现任意位比较器。然而,模块实例语句不能用在always模块中,但可以用在任务(task)中。
 +Verilog for循环语句的一般形式为
 +//
 +{{ ::​foryunju.png?​600 |}}
 +//
 + ​初始分配为循环变量设置初始值。当条件为真时,执行表达式,然后由语句描述的for循环实体执行。之后,增量更新,再执行一次表达式。for循环的实体一直循环执行,直到条件表达式的值为假。如果for循环的实体部分包含多条语句,那么应该放在begin和end之间。
  
 +{{ ::​forxunhuan.png?​600 |}}
 ===== 4.Verilog HDL建模描述 ===== ===== 4.Verilog HDL建模描述 =====