FPGA学习-start-01

3-8译码器

数字电路(真值表)

A B C OUT
0 0 0 0000_0001
0 0 1 0000_0010
0 1 0 0000_0100
0 1 1 0000_1000
1 0 0 0001_0000
1 0 1 0010_0000
1 1 0 0100_0000
1 1 1 1000_0000

my3_8.v

复制代码
 1 module my3_8(a,b,c,out);
 2 
 3     input a; //输入端口A
 4     input b; //输入端口B
 5     input c; //输出端口C
 6 
 7     output [7:0]out; //输出端口
 8     reg [7:0]out; //寄存器型“在always块中的out必须是reg寄存器型”
 9 
10     always@(a,b,c)begin
11         case({a,b,c})
12             3'b000:out =  8'b0000_0001;
13             3'b001:out =  8'b0000_0010;
14             3'b010:out =  8'b0000_0100;
15             3'b011:out =  8'b0000_1000;
16             3'b100:out =  8'b0001_0000;
17             3'b101:out =  8'b0010_0000;
18             3'b110:out =  8'b0100_0000;
19             default out =  8'b1000_0000;
20         endcase
21     end
22 endmodule
复制代码

testbench

my3_8_tb.v

复制代码
 1 `timescale 1ns/1ps
 2 
 3 module my3_8_tb;
 4     
 5     //激励信号
 6     reg a;
 7     reg b;
 8     reg c;
 9 
10     //观测信号
11     wire [7:0] out;
12 
13     my3_8 u1(
14         .a(a),
15         .b(b),
16         .c(c),
17         out(out)
18     );
19     
20     inintial begin
21         a = 0;b = 0;c = 0;
22         #200; //延时200ns
23         a = 0;b = 0;c = 1;
24         #200; //延时200ns
25         a = 0;b = 1;c = 0;
26         #200; //延时200ns
27         a = 0;b = 1;c = 1;
28         #200; //延时200ns
29         a = 1;b = 0;c = 0;
30         #200; //延时200ns
31         a = 1;b = 0;c = 1;
32         #200; //延时200ns
33         a = 1;b = 1;c = 0;
34         #200; //延时200ns
35         a = 1;b = 1;c = 1;
36         #200; //延时200ns
37         $stop; //停止仿真
38     end
39 endmodule
复制代码

 

后模拟仿真,电路级变换,存在的可能电路波动错误

 

 

 

4-16译码器

 

posted @   KairusZhang  阅读(84)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
主题色彩