差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
stepmxo2-lab2 [2018/08/28 15:18]
group001 [Verilog HDL建模描述]
stepmxo2-lab2 [2021/08/16 13:38]
gongyu 移除
行 1: 行 1:
-=====实验目的=====+## 1位全加器 
 + 
 +### 实验目的
   * (1)熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法;   * (1)熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法;
   * (2)通过实验理解基本逻辑门电路;   * (2)通过实验理解基本逻辑门电路;
   * (3)学习在Verilog HDL语言中实例化基本逻辑单元,用结构化描述电路的方法。   * (3)学习在Verilog HDL语言中实例化基本逻辑单元,用结构化描述电路的方法。
-=====实验任务=====+ 
 +### 实验任务
 用与非门和异或门设计一个1位全加器电路,然后在实验板上实现自己设计的逻辑电路,并验证是否正确。 用与非门和异或门设计一个1位全加器电路,然后在实验板上实现自己设计的逻辑电路,并验证是否正确。
-=====实验原理=====+ 
 +### 实验原理
 在将两个多位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加。这种运算称为全加,所用的电路称为全加器。按照二进制加法运算规则,可以得到如下表所示全加器真值表。其中,A、B是两个加数,CI是来自低位的进位,S是相加的和,CO是向高位的进位。将S、CO和A、B、CI的关系写成逻辑表达式则得到:\\ ​ 在将两个多位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加。这种运算称为全加,所用的电路称为全加器。按照二进制加法运算规则,可以得到如下表所示全加器真值表。其中,A、B是两个加数,CI是来自低位的进位,S是相加的和,CO是向高位的进位。将S、CO和A、B、CI的关系写成逻辑表达式则得到:\\ ​
    
行 12: 行 16:
  
 {{::​1位全加器真值表.png?​nolink&​400|}} \\  ​ {{::​1位全加器真值表.png?​nolink&​400|}} \\  ​
-=====逻辑电路(使用与非门和异或门构成)=====+ 
 +### 逻辑电路(使用与非门和异或门构成)
 {{:​逻辑电路全加器.png?​nolink&​400|}} {{:​逻辑电路全加器.png?​nolink&​400|}}
-=====Verilog HDL建模描述=====+ 
 +### Verilog HDL建模描述
 1位全加器程序清单adder1.v\\ ​ 1位全加器程序清单adder1.v\\ ​
 +<code verilog>
 +
 +
   module adder1   module adder1
     (     (
行 25: 行 34:
     );     );
       wire s1,​s2,​s3; ​  //​定义中间变量       wire s1,​s2,​s3; ​  //​定义中间变量
-    xor (s1,​a,​b); ​              ​//​调用基本异或门+    xor (s1,​a,​b); ​                ​//​调用基本异或门
     xor (sum,​s1,​cin);​     xor (sum,​s1,​cin);​
     nand (s2,​a,​b);​ //​调用基本与非门     nand (s2,​a,​b);​ //​调用基本与非门
行 31: 行 40:
     and  (cout,​s2,​s3); ​     and  (cout,​s2,​s3); ​
   endmodule   endmodule
-=====实验步骤=====+   
 +  </​code>​ 
 + 
 +### 实验步骤
   - 打开Lattice Diamond,建立工程。   - 打开Lattice Diamond,建立工程。
   - 新建Verilog HDL设计文件,并键入设计代码。   - 新建Verilog HDL设计文件,并键入设计代码。