senzi01的个人空间 https://blog.eetop.cn/sennes [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

verilog小实验 lab1

已有 626 次阅读| 2013-5-2 13:26 |个人分类:verilog


一、实验要求

设计一个带功能选择的字节(8位)的比较器(compare.v)。

说明:比较两个字节的大小,选择控制位为sel[1:0]要求在sel的控制下:

1)当 sel=00时如a[7:0]大于b[7:0],则输出高电平,否则输出低电平;

2)当sel=01时如a[7:0]小于b[7:0],则输出高电平,否则输出低电平;

3)当sel=10时如a[7:0]等于b[7:0],则输出高电平,否则输出低电平;

并编写写测试模型,使其能进行比较全面的测试。观测RTL级仿真、综合后门级仿真有什么不同,并说明这些不同的原因。


module Compare_8bit(sel,a,b,result);

parameter bit_of_compare = 8;

 

input [bit_of_compare-1:0] a    ;  //输入 a

input [bit_of_compare-1:0] b    ;  //输入 b

input [1:0] sel;

 

output result;

 

reg result;

reg [1:0]compare;

 

always @ (a or b)

         compare=(a==b)?(2'b10):((a>b)?(2'b00):(2'b01));

 

always @ (compare or sel)

         result=(compare==sel)?(1'b1):(1'b0);

 

endmodule

 

///////////////////////////////////////////////////////////////////////////////////////////////

//                            [代码解释]                                                                                      

//         本代码首先将ab比较大小后的结果赋值给中间变量"compare"

//               "00"表示a>b   "01"表示a<b   "10"表示a=b  (正好与sel相对应)

//                                           然后判断comparesel是否相等。

//                                        若相等则输出高电平,若不等则输出低电平

///////////////////////////////////////////////////////////////////////////////////////////////


点赞

评论 (0 个评论)

facelist

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

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 1

    评论
  • 74

    访问数
关闭

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


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-7 14:05 , Processed in 0.021937 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部