CY0904030105

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Altera的 AE说initial和异步置位都会综合为power-up的reset。 

倍感惊奇,一直以为不可以综合,于是自己做了个实验,

1  使用 synplify pro 9.6, 还是ignored,warning如下,

@W: Initial statement will only initialize memories through the usage of $readmemh and $readmemb. Everything else is ignored。

 

 2 用Altera自带综合器。未报相关warning。能否综合power-up reset无从得知。

 

在通常的状况下,所有的门在上电的时候输出为低。但是这并不是不能改变的。你可以把上电设置为高,这样综合工具可能会做两种事情,把输出反向,或者使用preset 控制(如果存在的话)把初始值放进门里。 

 

当时上电为高的做法,并不是非常必要,因为你其实是可以使用复位信号来获得你想要的初始状态的。 

 

如果你觉得这是必须的,那么有几种方法你可以做: 

--首先是在 QuartusII里面你可以针对某个或者某些 门设置 power-up level为高或低。 

--在代码中使用 altera_attribute 

--直接写代码设置初始值: 

例如,

reg q = 1'b1; 

always @ (posedge clk or posedge aclr) 

begin 

 if (aclr) 

   q <= 1'b0; 

 else 

   q <= d; 

end

posted on 2012-05-02 18:53  CY0904030105  阅读(738)  评论(0编辑  收藏  举报