前两篇给大家介绍了软件的安装、破解以及工程的建立等基本的软件操作,这一篇就通过简单的二选一的数据选择器的设计来实际操作一下,要记住,多动手才是王道。
设计背景:
数据选择器在数字电路的设计中非常重要,在FPGA内部的逻辑实现中都是通过数据选择器实现的,数据选择器的应用使我们的代码和设计更加人性化,多元化。
设计原理:
本次的设计主要是一个简单的二选一数据选择器,我们的设计主要有4个端口,数据输入data_1,data_2,数据选择位select,输出data_out
设计架构图:
设计代码:
模块
0modulesel_1(data_1,data_2,select,data_out);
1
2inputdata_1,data_2;//数据输入
3inputselect;//选择位
4
5outputregdata_out;//数据的输出
6
7always@(*)
8begin
9if(select)//如果选择位为高,输出data_1
10data_out=data_1;
11else//如果选择位为低,输出data_2
12data_out=data_2;
13end
14
15endmodule
测试模块
0`timescale1ns/1ps
1
2modulesel_1_tb;
3
4regdata_1,data_2;//定义模块的输入输出
5regselect;
6
7wiredata_out;
8
9initialbegin
10data_1=0;
11data_2=0;
12select=0;
13
14#200data_1=1;data_2=0;//延迟200ns给输入赋值
15#100select=1;//延迟200ns后给选择位赋值
16#100select=0;//延迟200ns后给选择位赋值
17
18#200data_1=0;data_2=1;
19#100select=0;
20#100select=1;
21
22#300$stop;
23end
24
25sel_1 sel_1_dut(//模块的例化,和端口的连接
26.data_1(data_1),
27.data_2(data_2),
28.select(select),
29.data_out(data_out)
30);
31
32endmodule
仿真图:
在仿真中我们可以真实的看到,当数据data_1为1,data_2位0的时候,当选择位select为0的时候,输出data_out的值为0也就是data_2的值,当select为1的时候,data_out的值位1,也就是data_1的值,后面的仿真也一样我们可以清楚的看到。
以上就是二选一数据选择器的设计,大家可以自己动手在quartusII 13.1 去操作一下,体验一下。
- FPGA
+关注
关注
1620文章
21473浏览量
598011 - 选择器
+关注
关注
0文章
105浏览量
14452
发布评论请先登录
相关推荐
评论