原创 VrilogHDL综合一例

2007-5-2 10:35 2041 0 1 分类: FPGA/CPLD

       Vrilog HDL综合时,网线型数据被映射成硬件的连线,而寄存器型变量则要根据上下文被赋值的环境来确定映射成连线还是存储元件(触发器或锁存器)。


        例module boke(acr,bar,fra,sqp);
                    input acr,bar,fra;
                    output sqp;
                    wire  acr,bar,fra;
                    reg  sqp,trq;


                   always@(acr or bar or fra)
                       begin
                              sqp="trq|fra";
                              trq="bar"&acr;
                       end


            endmodule


           该语句语义很明确,只要出现与事件表列出的bar、acr、fra相关的事件,就会执行always语句。因为trq在被赋值之前就被引用了,在重复执行always语句过程中trq不得不保持原值,所以它被推导成为存储器。不过,这还不足以明确如何把trq构造成锁存器,因为trq未在任何条件控制下被赋值。此时,综合系统可能无法为其建立锁存器,而有可能生成图示电路。(被综合成网线)


          


           点击看大图

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

ash_riple_768180695 2007-5-7 09:52

分析得很精彩。

我经常被这样的公式搞懵。每次看到阻塞式赋值语句都会陡然紧张起来。如履薄冰般地分析完毕,往往还会出错。人脑不是电脑,实在是太绕了。

能不能换个角度考虑:禁止书写这样的语句,不要和综合工具玩捉迷藏。

从学习语言本身的角度出发,进行这样的锻炼是必要的。但是从使用语言描述电路的角度出发,这样的描述完全可以避免。

从语言本身考虑,wire型和reg型是两种变量;从电路出发考虑,组合逻辑和时序逻辑是两种基本电路类型。

如果能够记住:描述时序逻辑,必须采用reg型;描述组合逻辑,可以采用wire型,也可以采用reg型;采用reg型描述,哪种方式会得到时序逻辑、哪种方式会得到组合逻辑,区分一下。

有了上面三条,基本的电路描述就不成问题了。再附加一点:时序逻辑采用"always <= "描述,组合逻辑采用"assign = "描述。这样,就不会出现人脑不如电脑的问题了。

相关推荐阅读
用户1396506 2007-05-02 09:45
学习硬件描述语言的一点体会
       我是一名大三学生,学微电子专业的,想在博客里写一写自己学习的体会,由于缺乏实践,写的有不对的地方希望大家指点一下,谢谢!        大二下学期我学习了VHDL,用的是QUARTUS ...
用户1396506 2007-04-24 22:19
半导体行业术语
178 TDDB(TIME DEPENDENT DIELECTRIC BREAKDOWN) 介电质层崩贵的时间依存性 利用介电质崩溃时间(Time to Breakdown)TBD与外加电场(电压)的...
用户1396506 2007-04-24 22:16
半导体行业术语
161 SILICON 硅 硅-SI(全文SILICON)为自然界元素之一种,意即我们所使用的硅芯片组成元素,再元素周期表中排行14,原子量28.09,以结晶状态存在(重复性单位细胞组成),每一单位细...
用户1396506 2007-04-24 22:14
半导体行业术语
132 PHOTORESIST 光阻 光阻为有机材料,系利用光线照射始有机物质进行光化学反应而产生分子结构变化,在使用溶剂使之显像。目前一般商用光阻主要含有二部分(1)高分子树酯(2)光活性物质,一工...
用户1396506 2007-04-24 21:59
半导体行业术语
103 LOAD LOCK 传送室 用来隔绝反应室与外界大器直接接触,以确保反应室内之洁净,降低反应是受污染之程度。一般用于电浆蚀刻及金属溅度等具有真空反应室之设备。   104 LOT NUMBER...
我要评论
1
0
关闭 站长推荐上一条 /3 下一条