差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2_to_4_decoder [2021/09/15 22:20]
gongyu
2_to_4_decoder [2021/10/09 18:54] (当前版本)
gongyu [2. 用CircuitJS仿真]
行 1: 行 1:
 ## 组合逻辑中的2-4译码器 ## 组合逻辑中的2-4译码器
- 
-### 1. 实验目的 
-  * (1)熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法; 
-  * (2)通过实验理解译码器电路; 
-  * (3)学习Verilog HDL行为级描述方法描述组合逻辑电路。 
- 
-### 2. 实验任务 
 设计一个2-4译码器。 设计一个2-4译码器。
- 
-### 3. 实验原理 
 2-4译码器,输入的2位二进制代码共有四种状态,译码器将每个输入代码译成对应的一根输出线上的高、低电平信号。由此可得如下表1-6的真值表。将输入的A、B和输出Y0、Y1、Y2、Y3的关系写成逻辑表达式则得到:\\ ​ 2-4译码器,输入的2位二进制代码共有四种状态,译码器将每个输入代码译成对应的一根输出线上的高、低电平信号。由此可得如下表1-6的真值表。将输入的A、B和输出Y0、Y1、Y2、Y3的关系写成逻辑表达式则得到:\\ ​
-  
 Y0=A’B’\\ ​ Y0=A’B’\\ ​
 Y1=A’B\\ ​ Y1=A’B\\ ​
行 17: 行 7:
 Y3=AB\\ ​ Y3=AB\\ ​
    
 +{{ ::​2-4译码器真值表.png?​nolink&​300 |}} <WRAP centeralign>​ 真值表 </​WRAP>​\\  ​
 +{{ ::​逻辑电路2-4译码器.png?​nolink&​300 |}} <WRAP centeralign>​ 逻辑电路 </​WRAP>​
  
-{{::2-4译码器真值表.png?​nolink&​300|}} \\  +### 1. 知识点 
 +  * 通过实验理解译码器电路; 
 +  * 学习Verilog HDL行为级描述方法描述组合逻辑电路。
  
-### 4逻辑电路 +### 2用CircuitJS仿真 
-{{::​逻辑电路2-4译码器.png?​nolink&​300|}}+{{ :24decoder.mp4 |}}<WRAP centeralign> ​2:4译码器在CircuitJS中的仿真效果 </​WRAP>​
  
-### 5. 用CircuitJS仿真 
  
 +### 3. 原理图
 {{drawio>​decode24led.png}} {{drawio>​decode24led.png}}
  
-### 6. Verilog ​HDL建模描述 +### 4. Verilog码 
-2-4译器程序清单decode24.v\\ ​ +<​code ​python
-<​code ​verilog+// ******************************************************************** 
 +// >>>>>>>>>>>>>>>>>>>>>>>>>​ COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<​ 
 +// ******************************************************************** 
 +// File name    : decode24.v 
 +// Module name  : decode24 
 +// Author ​      : STEP 
 +// Description ​ : 2-4decode control LED 
 +// Web          : www.stepfpga.com 
 +//  
 +// -------------------------------------------------------------------- 
 +// Code Revision History :  
 +// -------------------------------------------------------------------- 
 +// Version: |Mod. Date:   ​|Changes Made: 
 +// V1.0     ​|2021/​10/​08 ​  ​|Initial ver 
 +// -------------------------------------------------------------------- 
 +// Module Function:​利用2路开关的状态作为输入,通过2-4译码实现控制LED灯的显示。
  
   module decode24   module decode24
    (    (
-     input wire [1:0] a,           ​//​定义两位输入+     input wire [1:0] a,          //​定义两位输入
      ​output reg [3:0] led      //​定义输出的4位译码结果对应的led      ​output reg [3:0] led      //​定义输出的4位译码结果对应的led
    );    );
-  ​//​always块语句,a值变化时执行一次过程块 + 
-  always@(a) ​                   ​+  always@(a) ​                     ​//​always块语句,a值变化时执行一次过程块
  begin  begin
  case(a)  case(a)
- 2'​b00:​ led = 4'b0001; //​2-4译码结果 + 2'​b00:​ led = 4'b1110; //​2-4译码结果 
- 2'​b01:​ led = 4'b0010+ 2'​b01:​ led = 4'b1101
- 2'​b10:​ led = 4'b0100+ 2'​b10:​ led = 4'b1011
- 2'​b11:​ led = 4'b1000;+ 2'​b11:​ led = 4'b0111;
  endcase  endcase
  end  end
   endmodule   endmodule
-  ​</​code>​+</​code>​ 
 + 
 +{{ :​decode24_verilog.png |}} <WRAP centeralign>​ 2:​4译码器在Web IDE中的代码界面 </​WRAP>​ 
 + 
 + 
 +### 5. 管脚分配 
 +{{ :​decode24_pinout.png |}} <WRAP centeralign>​2:​4译码器在WebIDE中的管脚分配 </​WRAP>​ 
  
-### 7步骤+### 6功能
   - 打开Lattice Diamond,建立工程。   - 打开Lattice Diamond,建立工程。
   - 新建Verilog HDL设计文件,并键入设计代码。   - 新建Verilog HDL设计文件,并键入设计代码。