FPGA 数据选择器实验

FPGA 数据选择器实验

实验目的

(1)进一步熟悉和掌握Quatus18.1的使用
(2)熟悉ip核的调用
(3)学习和掌握电路原理图的设计流程

实验环境

Quatus18.1标准版
Cyclone IV EP4CE6F17C8
测试工具:Signal Tap、In-Systeam Source and Probes Editor

实验原理

1)系统原理
根据4选1数据选择器的工作原理,有公式:
在这里插入图片描述
由此可见,要实现选择器功能需要6个输入,1个输出。其中S1S0是数据选择端,A,B,C,D是数据输入端。由S1S0输出高低电平(开关信号)决定数据的输出和传送。

2)电路原理图
定义选择信号:sel(位宽为两位)
定义四个输入信号:din_a、din_b、din_c、din_d
定义输出信号:dout
其中调用ip核得到的RTL视图如下:
在这里插入图片描述

3)代码实现

模块代码:

module multip(
	input			clk	,
	input			rst_n	,
	
	input			din_a	,
	input			din_b	,
	input			din_c	,
	input			din_d	,
	
	input	[1:0]	sel	,
	
	output		dout	

);

reg		data_out		;

always@(posedge clk or negedge rst_n)begin
	if(!rst_n)begin
		data_out <= 1'b0;
	end
	else	begin
		case(sel)
			2'b00:data_out <= din_a;
			2'b01:data_out <= din_b;
			2'b10:data_out <= din_c;
			2'b11:data_out <= din_d;
			default:data_out <= 1'b0;
		endcase
	end 
end

	assign dout = data_out ;


endmodule

顶层文件代码:

module multiplexer(
	input				clk	,
	input				rst_n	,
	output			dout

);
wire			din_a/*synthesis keep*/;
wire			din_b/*synthesis keep*/;
wire			din_c/*synthesis keep*/	;
wire			din_d/*synthesis keep*/	;
wire	[1:0]	sel  /*synthesis keep*/;



multip u_multip(
	.clk			(clk	),
	.rst_n		(rst_n),
	.din_a		(din_a),	
	.din_b		(din_b),	
	.din_c		(din_c),	
	.din_d		(din_d),	
	.sel			(sel	),
	
	.dout			(dout	)
);

wire	[31:0]		probes;

issp	u_issp(
	.probe (probes),
	.source({sel,din_a,din_b,din_c,din_d})
);

	
endmodule

4)测试结果
打开In-Systeam Source and Probes Editor测试软件。
其中的source[0]对应是din_d;其中的source[1]对应是din_c;
其中的source[2]对应是din_b;其中的source[3]对应是din_a;
其中的source[4]对应是sel[0];其中的source[5]对应是sel[1];

故而其他值都为0时,将source[0]的值改为1,对应的din_d变换为高电平。dout在sel为00时输出din_a的值为0;如下图:
在这里插入图片描述

将source[0]的值改为1,source[4]的值改为1和source[5]的值改为1,对应的din_d、sel[0]、sel[1]变换为高电平。而dout在sel为11时输出din_d的值为1;如下图:
在这里插入图片描述

其他改变输入值,进而控制输出选择的信号同理。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值