原创 【博客大赛】从多路器代码中的小感触

2012-5-8 10:15 1253 9 13 分类: FPGA/CPLD

多路选择器的不同语句的实现

module mux1(

            input a,

            input b,

            input sel,

            output out

            );

assign out=sel?a:b;

endmodule

 

module mux2(

            input a,

            input b,

            input sel,

            output reg  out

            );

 

always@(a or b or sel )

begin

case(sel)

 1'b1:  out=a;

 1'b0:  out=b;

default:  out='bx;

endcase

end

endmodule

 

module mux3(

            input a,

            input b,

            input sel,

            output reg  out

            );

 

always@(a or b or sel )

begin

if(sel)

   out=a;

else

   out=b;

end

 

endmodule

1.jpg

   图1-1 assign语句的RTL

2.jpg

图1-2 assign语句的Technology Map Viewer

 

3.jpg

 

 

       图2-1 CASE语句的RTL

4.jpg

      图2-2CASE语句的Technology Map Viewer

5.jpg

 

      图3-1 if-else语句的RTL

6.jpg

     图3-2 if-else语句的Technology Map Viewer

  从各自实现情况看,它们所占有的资源基本是一样的。但从RTL中CASE语句还是与 if-else语句有所区别。CASE语句倾向于并行结构,后者倾向于优先级

  不管采用何种方式进行设计,最近的优化和布局布线其实是交给了开发工具去干,所以我以为在硬件描述语句中,可以用一句话:条条路径通罗马,大路可能宽阔,小路可能便捷,但是最终都是到达同一个目的地。从上面的分析,形式可以不同,其实实现逻辑是相同的,这也能看出了开发工具的强大的地方!

 

文章评论4条评论)

登录后参与讨论

用户1696769 2012-5-8 10:14

未来还可以用WORD直接粘贴,图片也可以粘贴的。不过需要再等等,新编辑器近期将会上线。

用户421530 2012-5-7 19:32

原先用word复制的,看来是不行拉。。。没办法就只能一张一张插上去了把!

用户377235 2012-5-7 09:05

图图呢

用户403664 2012-5-7 08:46

怎么看不到图片啊
相关推荐阅读
用户421530 2013-12-01 13:16
基于Altera FPGA的千兆以太网实现方案
  1 引言   在系统设备不断向小型化、集成化、网络化发展的今天,嵌入式开发成为新技术发展的最前沿,改变着系统的整体结构。FPGA由于其自身特点,成为嵌入式开发的最佳平台。Altera公司结合其最新...
用户421530 2013-07-26 22:58
不在执迷于过去,只为不断突破,寻找奋斗的归宿&价值
    好久好久,没有来到自己的博客,一切是陌生的亲切,这里面呼喊自己的回归,是奋斗与自信 ,是价值与积淀的回归,今天不是起点,只是一个开始,从大学的校园走出来,面对工作,我的选择也许不是自己的想...
用户421530 2012-08-27 22:56
常用电平标准汇编版(1)
现在常用的电平标准有TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232、RS485等,还有一些速度比较高的LVDS、GTL、PGTL、CML、HSTL、SSTL等。...
用户421530 2012-07-17 00:26
于细微中见区别(1)---阻塞&非阻塞赋值(Verliog HDL)
阻塞赋值——“=” <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 非阻塞赋值——...
用户421530 2012-06-20 00:41
SOPC之软件编程学习--系统时钟API函数应用
利用sys/alt_alarm.h系统时钟服务头文件中的alt_alarm_start ()API 函数以及时钟回调函数进行精确定时。我的设计在现有源程序的基础上,添加三个时钟服务程序,分别利用不...
用户421530 2012-06-19 15:18
SOPC之软件编程学习---头文件(1)
在Altera FPGA里面的SOPC学习过程中,软件编程中遇到的第一个编程,往往是LED灯的控制,这几天断断续续的学习了些,总算了入了NIOS II 学习的门槛,开始我对FPG**上系统的探索。在软...
我要评论
4
9
关闭 站长推荐上一条 /2 下一条