×

组合逻辑设计的要点和练习

消耗积分:3 | 格式:rar | 大小:98 | 2010-07-17

凤毛麟角

分享资料个

目的: 掌握基本组合逻辑电路的实现方法。   

 

   这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。在Verilog HDL中,描述组合逻辑时常使用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。

 

模块源代码:

//--------------- compare.v -----------------

module compare(equal,a,b);

input a,b;

output equal;

   assign  equal=(a==b)?1:0; //a等于b时,equal输出为1;a不等于b时,

                             //equal输出为0。

endmodule

 

    测试模块用于检测模块设计得正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。

   

测试模块源代码:

`timescale 1ns/1ns      //定义时间单位。

`include  "./compare.v" //包含模块文件。在有的仿真调试环境中并不需要此语句。

                       //而需要从调试环境的菜单中键入有关模块文件的路径和名称

module  comparetest;

   reg a,b;

   wire equal;

   initial              //initial常用于仿真时信号的给出。

     begin

       a=0;

       b=0;

     #100   a=0; b=1;

     #100   a=1; b=1;

     #100   a=1; b=0;

     #100   $stop;      //系统任务,暂停仿真以便观察仿真波形。

     end

    

    compare  compare1(.equal(equal),.a(a),.b(b));    //调用模块。

   

endmodule

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !