原创 不同的verilog代码风格看RTL视图之二

2008-10-2 08:59 8990 16 20 分类: FPGA/CPLD

不同的verilog代码风格看RTL视图之二<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


    这次要说明的一个问题是我在做一个480*320液晶驱动的过程中遇到的,先看一个简单的对比,然后再讨论不迟。


    这个程序是在我的液晶驱动设计中提取出来的。假设是x_cnt不断的增加,8bitx_cnt加一个周期回到0后,y_cnt1,如此循环,本意是要让下面的dout信号只有在x_cnt>=5 & y_cnt=0或者x_cnt<= 4,y_cnt=1这个区间内为1,其它时刻内为0。一般而言会有如下两种描述,前者是时序逻辑,后者是组合逻辑。当然除了下面两种编码风格外,还可以有很多种不同的编码。这里只是列举其一说明一下问题。


Ex2:


input clk;


input[7:0] x_cnt,y_cnt;


output dout;


 


reg dout_r;


 


always @ (posedge clk)


      if(x_cnt == 8'd5 && y_cnt == 8'd0) dout_r <= 1'b1;


      else if(x_cnt == 8'd6 && y_cnt == 8'd1 ) dout_r <= 1'b0;


 


assign dout = dout_r;


 


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图


    综合后使用了<1macrocells。主要使用的是4个等于比较器。然后每个时钟的上升沿做一次判断,仔细看上面的RTL视图,其实你还可以发现优先级的问题,这个后面再说。


 


组合逻辑的代码:


input clk;


input[7:0] x_cnt,y_cnt;


 


output dout;


 


assign dout = ((x_cnt >= 8'd5 && y_cnt == 8'd0) ||


(x_cnt < 8'd6 && y_cnt == 8'd1 ));


    点击看大图


 


    综合后使用了2macrocells。用了2个等于比较器,还有2个小于(等于)比较器。但是占用的资源却比前者多出了一倍多,这个似乎说明了一些问题。其实在这个很简单的设计里,这种资源占用情况还不是很明显,我在做整个项目中用了这两种不同的设计风格后发现:两种不同的coding style得到的macrocells占用个数差别达到10几个(这个可能是比较极端的情况)。当然了,这其中更多的因素可能是布局布线后走线等在不同风格代码下的耗费是不一样的。总之,前者更值得推荐,就是说能用等于比较器直接赋值(哪怕是用故意生成的锁存器来保持赋值),也不用小于(大于)比较器。


 

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户3700143 2016-4-23 10:51

俺也在csmsc干过,那是02年的事情了

用户614066 2015-5-25 15:03

上面的代码能实现x_cnt>=5 & y_cnt=0或者x_cnt<= 4,y_cnt=1这个区间内为1,其它时刻内为0。上面的代码能实功能吗????求解答

ilove314_323192455 2011-7-10 22:23

确实说道点上了,primace其实还是差太远了

用户94409 2011-7-9 22:22

哥们以前在CSMSC的时候就做过FPGA和CPLD的芯片设计,感觉还是xilinx和altera的牛逼,其实可编程逻辑器件的核心还是布局布线算法和软件啊,国内目前这个根本做不了,能做的几个大牛也是从xilinx和ALTERA的出来的!

用户931629 2011-1-16 02:16

51的单片机内核可以使用SDCC的开源编译器,只要把里面的库文件改一下就好了,我试过,OK的,效果很好。

用户1396840 2010-12-30 09:33

国产的FPGA就一个字,差! 你只看Datasheet有啥用,而且你只看资源,对于芯片资料中的资源和性能的分析也很不全面。Altera和Xilinx的销售也一直在和对手比较,都会给个图表你,表示他们的产品有多好多好,但真正做过东西的人一眼就看明白,打的都是擦边球。 FPGA结构简单,这点做过芯片的人都知道,国产FPGA没什么了不起,哥也捏得出来!关键的是软件,以AgateLogic为例,那破软件不是一般人用得了的。。。他们的销售的解释是:我们可以帮你们写软件,就一个字,汗。。 AgateLocig的另一个问题就是工艺落后,发热。这些都是致命的。

用户318826 2010-12-29 18:03

要支持国产

用户1285362 2010-12-28 13:49

雅格逻辑很早就关注了,还都过简历,不过被鄙视了. 面向低端的MCU+FPGA个人觉得还是很有前景的.

用户1695575 2010-12-23 22:21

我还是比较佩服台湾,各种芯片都能山寨,虽然比正品有差距

用户1527113 2010-12-21 21:27

这么牛啊。哪里弄的片子?
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
EE直播间
更多
我要评论
4
16
关闭 站长推荐上一条 /3 下一条