• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于FPGA的8选1数据选择器设计Verilog代码ISE仿真

2025/07/30
1263
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240530193204636.doc

共1个文件

名称:基于FPGA的8选1数据选择器设计Verilog代码ISE仿真

软件:ISE

语言:Verilog

代码功能:

分别使用f-else语句和case语句完成8选1数据选择器的设计并给出测试代码,以及功能仿真和时序仿真的波形图。

说明:使用下面给出的模块名和端口名完成设计代码

要求.jpg

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

设计源码(case)

//8选1数据选择器,使用CASE语句

module MUX_8_1(

input [7:0] I,//输入

input [2:0] S,//控制

output reg DATA   //输出

);

always@(S)

case(S)//控制

3'b000:DATA=I[0];

3'b001:DATA=I[1];

3'b010:DATA=I[2];

3'b011:DATA=I[3];

3'b100:DATA=I[4];

3'b101:DATA=I[5];

3'b110:DATA=I[6];

3'b111:DATA=I[7];

default:;

endcase

endmodule

测试源码(case)

`timescale 1ns / 1ps

module test;

// Inputs

reg [7:0] I;

reg [2:0] S;

// Outputs

wire DATA;

// Instantiate the Unit Under Test (UUT)

MUX_8_1 uut (

.I(I),

.S(S),

.DATA(DATA)

);

initial begin

// Initialize Inputs

I = 8'b10100011;//输入

//S为000~111共8种情况

S = 3'b000;

#100;

S = 3'b001;

#100;

S = 3'b010;

#100;

S = 3'b011;

#100;

S = 3'b100;

#100;

S = 3'b101;

#100;

S = 3'b110;

#100;

S = 3'b111;

#100;

end

 

endmodule

功能仿真

时序仿真

设计源码(if-else)

//8选1数据选择器,使用IF语句

module MUX_8_1(

input [7:0] I,//输入

input [2:0] S,//控制

output reg DATA   //输出

);

always@(S)

if(S==3'b000)

DATA=I[0];

else if(S==3'b001)

DATA=I[1];

else if(S==3'b010)

DATA=I[2];

else if(S==3'b011)

DATA=I[3];

else if(S==3'b100)

DATA=I[4];

else if(S==3'b101)

DATA=I[5];

else if(S==3'b110)

DATA=I[6];

else

DATA=I[7];

endmodule

测试源码(if-else)

`timescale 1ns / 1ps

module test;

// Inputs

reg [7:0] I;

reg [2:0] S;

// Outputs

wire DATA;

// Instantiate the Unit Under Test (UUT)

MUX_8_1 uut (

.I(I),

.S(S),

.DATA(DATA)

);

initial begin

// Initialize Inputs

I = 8'b10100011;//输入

//S为000~111共8种情况

S = 3'b000;

#100;

S = 3'b001;

#100;

S = 3'b010;

#100;

S = 3'b011;

#100;

S = 3'b100;

#100;

S = 3'b101;

#100;

S = 3'b110;

#100;

S = 3'b111;

#100;

end

 

endmodule

功能仿真

时序仿真

部分代码展示:

//8选1数据选择器,使用CASE语句
module MUX_8_1(
input [7:0] I,//输入
input [2:0] S,//控制
output reg DATA   //输出
);
always@(S)
case(S)//控制
3'b000:DATA=I[0];
3'b001:DATA=I[1];
3'b010:DATA=I[2];
3'b011:DATA=I[3];
3'b100:DATA=I[4];
3'b101:DATA=I[5];

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=815

  • 2-240530193204636.doc
    下载

相关推荐