集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 4528|回复: 2

assign 和always语句描述组合逻辑的利弊

[复制链接]
HANG 发表于 2010-6-26 01:51:37 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-3 05:48 编辑

我要描述一个简单的二选一电路,用了这个语句:

assign result = ( if_a == 1'b1 ) ? data_a : data_b ;

但是我的同事说最好不要这样描述,而要改为用always块描述

always @ ( if_a or data_a or data_b )
begin
   if ( if_a == 1'b1 ) begin
    result = data_a ;
   end
   else begin
    result = data_b ;
   end
end

他的理由是assign语句的执行与仿真器有关,真的是这样的吗?

我目前了解到的情况是:RTL描述中使用基本的构造模块和使用连续assign语句各有优缺点。连续assign语句是一种非常简洁的表示功能的方式,通常能生出性能很好的组合逻辑电路。然而,最终的逻辑结构并不一定是对称的。调用基本构造模块可以产生对称的设计,并且逻辑综合工具能够更有效地优化小模块。然而,调用构造模块是一种不太简洁的设计描述方式;它制约了针对设计工艺的重定向,并且通常会降低仿真器性能。

请问各位有什么看法?欢迎大家发表意见!
大鹏 发表于 2022-2-14 14:50:30 | 显示全部楼层
assign 和always语句描述组合逻辑的利弊
zxopenhl 发表于 2022-2-22 09:45:03 | 显示全部楼层
assign 和always语句描述组合逻辑的利弊
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-25 00:59 , Processed in 0.060160 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表