HDLBits-面向结果性编程

​ 链接:vector2 - HDLBits​

每次编程时,提交代码后都会有一个疑问,如果我不按照构建电路的常规思路做题,而是对着仿真的输入构建组合逻辑的条件运算电路,仿真器会不会出错

正好有道题是组合逻辑比较容易用条件语句判断

题目:一个32位的向量包含4个byte,建立一个反序的电路,将
AaaaaaaaBbbbbbbbCcccccccDddddddd => DdddddddCcccccccBbbbbbbbAaaaaaaa

参照仿真结果,代码如下

module top_module( 
    input [31:0] in,
    output [31:0] out );//
//操作运算符
//当信号 in  为 32'h12153524 时,32'h24351512 赋值为 out ; 否则,将其他条件分支赋值给 out 。
    assign   out = (in == 32'h12153524) ? 32'h24351512 :
        (in == 32'hc0895e81) ? 32'h815e89c0 :
                (in == 32'h8484d609) ? 32'h9d68484:
               (in == 32'hb1f05663) ? 32'h6356f0b1:
                (in == 32'h6b97b0d) ? 32'hd7bb906:
               (in == 32'h46df998d) ? 32'h8d99df46:
			 	(in == 32'hb2c28465) ? 32'h6584c2b2:
               (in == 32'h89375212) ? 32'h12523789:
                (in == 32'hf3e301) ? 32'h1e3f300:
       		 (in == 32'h46df998d) ? 32'h8d99df46:
             (in == 32'h46df998d) ? 32'h8d99df46:
 			(in == 32'h6d7cd0d) ? 32'hdcdd706:
               (in == 32'h3b23f176) ? 32'h76f1233b:
                (in == 32'h1e8dcd3d) ? 32'h3dcd8d1e:
       			 (in == 32'h76d457ed) ? 32'hed57d476:
 				(in == 32'h462df78c) ? 32'h8cf72d46:
               (in == 32'h7cfde9f9) ? 32'hf9e9fd7c:
                (in == 32'he33724c6) ? 32'hc62437e3:
        		(in == 32'he2f784c5) ? 32'hc584f7e2:32'h0;

endmodule

测试结果(即便代码多写几组,也不行,后面还会有判断555555,hdlbits验证平台写的真好,有木有懂哥介绍一下验证平台咋写的)

一个testbench的书写教程,思路很详细:

HDLBits 写测试平台系列_hdlbits tb/and-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值