差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
1bithalfadd [2021/10/02 13:17]
gongyu
1bithalfadd [2021/10/02 13:27] (当前版本)
gongyu
行 1: 行 1:
 ## 1位半加器 ## 1位半加器
 设计一个1位半加器电路,然后在实验板上实现自己设计的逻辑电路,并验证是否正确。 设计一个1位半加器电路,然后在实验板上实现自己设计的逻辑电路,并验证是否正确。
 +
 +如果不考虑有来自低位的进位,将两个1位二进制数相加,称为半加。实现半加的电路叫做半加器。按照二进制加法运算规则,可以得到如下表所示的半加器真值表。其中,A、B是两个加数,S是相加的和,CO是向高位的进位。将S、CO和A、B的关系写成逻辑表达式则得到:\\ ​
 + 
 + ​S=A’B+AB’=A⊕B \\ 
 + ​CO=AB ​
 +
 {{ :​half-adder.jpg?​800 |}} <WRAP centeralign>​ 1位半加器的符号、真值表以及逻辑构成 </​WRAP>​ {{ :​half-adder.jpg?​800 |}} <WRAP centeralign>​ 1位半加器的符号、真值表以及逻辑构成 </​WRAP>​
  
行 9: 行 15:
   - 掌握用Verilog HDL数据流方式描述电路的方法。   - 掌握用Verilog HDL数据流方式描述电路的方法。
  
-### 3. 原理图 +### 2. 使用CircuitJS仿真
-如果不考虑有来自低位的进位,将两个1位二进制数相加,称为半加。实现半加的电路叫做半加器。按照二进制加法运算规则,可以得到如下表所示的半加器真值表。其中,A、B是两个加数,S是相加的和,CO是向高位的进位。将S、CO和A、B的关系写成逻辑表达式则得到:\\  +
-  +
- ​S=A’B+AB’=A⊕B \\  +
- CO=AB  +
- +
-{{ :​1位半加器真值表.png?​nolink&​300 |}} \\   +
- +
-{{ ::​逻辑电路.png?​nolink&​400 |}} <WRAP centeralign>​ 使用与非门和异或门构成 </​WRAP>​ +
- +
- +
-### 4. 使用CircuitJS仿真+
 电路图仿真可以参见[[https://​www.eetree.cn/​war/​circuitjs.html?​lang=zh|CircuitJS]]中1位半加器: 电路图仿真可以参见[[https://​www.eetree.cn/​war/​circuitjs.html?​lang=zh|CircuitJS]]中1位半加器:
  
 {{ :​1bithalfadder.mp4 |}} <WRAP centeralign>​ 用Circuitjs对1位半加器做到仿真 </​WRAP>​ {{ :​1bithalfadder.mp4 |}} <WRAP centeralign>​ 用Circuitjs对1位半加器做到仿真 </​WRAP>​
 +### 3. 原理图
 +{{drawio>​onebitadder_led.png}}
  
-### 5. Verilog代码+### 4. Verilog代码
 程序清单halfadder.v\\ ​ 程序清单halfadder.v\\ ​
 <code verilog> <code verilog>
行 42: 行 39:
  
  
-#### 7.1 验证方式 +### 5. 管脚分配
-{{drawio>​onebitadder_led.png}} +
- +
-### 6. 管脚分配+
 {{ :​1bhadder_pin.jpg?​800 |}} <WRAP centeralign>​1位半加器在Web IDE中的管脚分配 </​WRAP>​ {{ :​1bhadder_pin.jpg?​800 |}} <WRAP centeralign>​1位半加器在Web IDE中的管脚分配 </​WRAP>​
  
  
-### 7. 功能验证+### 6. 功能验证
   - 打开Lattice Diamond,建立工程。   - 打开Lattice Diamond,建立工程。
   - 新建Verilog HDL设计文件,并键入设计代码。   - 新建Verilog HDL设计文件,并键入设计代码。