在学习过程,一般都会默认把reg当作触发器类型,自然认为综合时也会被综合成触发器类型,但是某天在VLSI这种书看到,把reg理解成触发器并不精准,所以产生了该疑问。
总结:
在过程赋值语句中,表达式右侧的计算结果在某种条件的触发下放到一个变量当中,而这个变量可以声明成reg类型的。
根据触发条件的不同,过程赋值语句可以建模不同的硬件结构:如果这个条件是时钟的上升沿或下降沿,那么这个硬件模型就是一个触发器;如果这个条件是某一信号的高电平或低电平,那么这个硬件模型就是一个锁存器;
如果这个条件是赋值语句右侧任意操作数的变化,那么这个硬件模型就是一个组合逻辑。
*也就是说,综合出触发器的条件是,需要有时钟的沿触发。*
在一些语句中,需要定义变量为reg类型(always、fuction等)。根据触发条件的不同,过程赋值语句可以建模不同的硬件结构。如果有时钟沿触发,则会生成DFF。
解答链接: http://blog.sina.com.cn/s/blog_4fcd1ea30102z5i4.html
若侵权,私信速删 。