注册 登录
ET创芯网论坛(EETOP) 返回首页

hanjingyu2008的个人空间 http://blog.eetop.cn/?219089 [收藏] [复制] [分享] [RSS]

日志

设计一个合理结构的32-1MUX

已有 387 次阅读2019-1-30 23:35







module MUX32_1(sel32, i32, o32)

begin

 

input [4:0] sel32;

input [31:0] i32;

output  o32;

wire [7:0] a;

wire [1:0] b;

 

MUX4_1 U0 ( .sel4(sel32[1:0]), .i4(i32[ 3: 0]), .o4(a[0]) );

MUX4_1 U1 ( .sel4(sel32[1:0]), .i4(i32[ 7: 4]), .o4(a[1]) );

MUX4_1 U2 ( .sel4(sel32[1:0]), .i4(i32[11: 8]), .o4(a[2]) );

MUX4_1 U3 ( .sel4(sel32[1:0]), .i4(i32[15:12]), .o4(a[3]) );

MUX4_1 U4 ( .sel4(sel32[1:0]), .i4(i32[19:16]), .o4(a[4]) );

MUX4_1 U5 ( .sel4(sel32[1:0]), .i4(i32[23:20]), .o4(a[5]) );

MUX4_1 U6 ( .sel4(sel32[1:0]), .i4(i32[27:24]), .o4(a[6]) );

MUX4_1 U7 ( .sel4(sel32[1:0]), .i4(i32[31:28]), .o4(a[7]) );

 

assign b[0] = sel32[2] ? a[4] : a[1];

assign b[1] = sel32[2] ? a[7] : a[0];

assign b[2] = sel32[2] ? a[5] : a[2];

assign b[3] = sel32[2] ? a[6] : a[3];

 

MUX4_1 U8 (.sel4(sel32[4:3]), .i4(b[3:0]), .o4(o32) );

 

endmodule

 

 

/********  sub module ********/

module MUX4_1(sel4, i4, o4)

begin

 

input  [1:0] sel4;

input  [3:0] i4;

output  o4;

 

always @(*)

    case(sel4):

      2’b00: o4 = i4 [0];

      2’b01: o4 = i4 [1];

      2’b10: o4 = i4 [2];

      2’b11: o4 = i4 [3];

    endcase

 

endmodule

 


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|ET创芯网 ( 京ICP备:10050787号 京公网安备:110105001212 )

GMT+8, 2019-4-26 21:45 , Processed in 0.045628 second(s), 7 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部