集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2812|回复: 2

verilog语言,if语句中如何既保存原来的值又不生成锁存器?

[复制链接]
congbupt 发表于 2010-12-4 14:37:52 | 显示全部楼层 |阅读模式
RT
比如:
//  low_count是一个模4的计数器,一直循环下去,0123-0123-0123……
task shift_state;
            case(sh_state)
                    idle2:sh_state = (low_count==0)?bit1:idle2;
                    bit1: sh_state = (low_count==0)?bit2:bit1;
                    bit2: begin
                                sh_state = (low_count==0)?bit1:bit2;
                                          if(low_count==0)
                                             byte_end = 0;
                                          else
                                             byte_end = 1;
                                         end
                    default:sh_state = idle2;
             endcase
endtask
 楼主| congbupt 发表于 2010-12-4 14:39:38 | 显示全部楼层
补充一下,上面这个case也生成锁存器。

另外是询问if语句中如何既保存原来的值又不生成锁存器。多谢各位大神
hwakicestone 发表于 2010-12-21 11:49:25 | 显示全部楼层
在if语句中进行操作,在else里面加上对这个语句的重复复制就好了!比如
if(a)
b<=c;
else
b<=b;
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2025-6-18 17:11 , Processed in 0.117652 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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