题解 | #位拆分与运算#

位拆分与运算

https://www.nowcoder.com/practice/1649582a755a4fabb9763d07e62a9752

1.题目

输入一个包含了四个数据[3:0][7:4][11:8][15:12] 16位数据,

根据sel选择输出四个数据的相加结果,并输出valid_out信号(不输出时拉低)

0: 不输出且只有此时的输入有效 (即只有当sel=0时,输入的d才是有效的)

1:输出[3:0]+[7:4]

2:输出[3:0]+[11:8]

3:输出[3:0]+[15:12]

sel

输出out[4:0]

Valid_out

00

不输出,并且此时的d有效

拉低

01

d[3:0]+d[7:4]

拉高

10

d[3:0]+d[11:8]

拉高

11

d[3:0]+d[15:12]

拉高

2.模块图

3.参考波形图



4.解题思路

       使用时序逻辑,在sel=0时,对输入d进行锁存,这样保证了在sel=0时更新dsel0时保持锁存的值不变;sel=1/2/3时,通过使用锁存的d分别输出不同outvalid_out即可

5.绘制波形

但是有一点要注意的是: 如果sel使用阻塞赋值"="产生激励,那么得到的结果如下面第一张图, 但是如果sel采用非阻塞“<=”产生,则得到的波形图如下面图2

6.仿真代码和结果

    initial

        begin

            rst = 1'b0;

            d = 16'b0000_0000_0000_0000;

            sel = 2'd0;

            #30;

            rst = 1'b1;

            #10;

            d = 16'b1000_0100_0010_0001;

            #20;

            sel = 2'd2;

            #60;

            sel = 2'd1;

            d = 16'b1000_0100_0010_0011;

            #60;

            sel = 2'd0;

            #20;

            sel = 2'd3;

            #20;

            d = 16'b1000_0100_0010_0111;

            #100;

            $stop;

        end


    initial

        begin

            rst = 1'b0;

            d = 16'b0000_0000_0000_0000;

            sel = 2'd0;

            #30;

            rst = 1'b1;

            #10;

            d = 16'b1000_0100_0010_0001;

            #20;

            sel <= 2'd2;

            #60;

            sel = 2'd1;

            d = 16'b1000_0100_0010_0011;

            #60;

            sel = 2'd0;

            #20;

            sel = 2'd3;

            #20;

            d = 16'b1000_0100_0010_0111;

            #100;

            $stop;

        end


全部评论

相关推荐

找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务