提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
二选一多路选择器用来解决什么问题?
用来将多个输入信号中选择一个信号进行输出。可以实现数据选择、控制流选择等。
一、二选一多路选择器是什么?
是将多个输入进行选择性单个输出。
二、verilog编程
1.源文件
代码如下(示例):
module mux2//功能定义名字
(
a,b,sel,out//输入端口
);
input a;//对端口进行定义,输入和输出
input b;
input sel;
output out;
assign out=(sel==1)?a:b;//一个简单的赋值语句,当sel=1时,out=a;sel=0,out=b
endmodule
2.test_bench(1600ns的时序仿真)
代码如下(示例):
`timescale 1ns/1ns //第一个1ns是单位,第二个1ns是精度
module mux2_tb();
reg s_a,
reg s_b,
reg sel,
wire out
mux mux2_inst0(
.a(s_a);
.b(s_b);
.sel(sel);
.out(out);
);
initial begin
s_a=0;s_b=0;sel=0;#200;
s_a=0;s_b=0;sel=1;#200;
s_a=0;s_b=1;sel=0;#200;
s_a=0;s_b=1;sel=1;#200;
s_a=1;s_b=0;sel=0;#200;
s_a=1;s_b=0;sel=1;#200;
s_a=1;s_b=1;sel=0;#200;
s_a=1;s_b=1;sel=1;#200;
$stop;
end
endmodule
三、时序仿真结果分析
结果显示,有着接近8.163ns的延迟。
总结
fpga的基本设计流程:
1、设计定义
2、设计输入输出
3、分析综合(vivado,quartus II,ISE)
4、功能仿真
5、布局布线
6、分析性能(静态时序分析,vivado)
7、板级调试
8、整理资料