verilog编程的问题。。急求大神帮助啊

modulenpc(npc,imm,branch,zero,next_pc);input[29:0]npc;input[15:0]imm;inputbranch;inpu... module npc( npc, imm, branch, zero, next_pc );
input [29:0] npc ;
input [15:0] imm ;
input branch ;
input zero ;
output [29:0] next_pc ;
//
wire [29:0] n_pc ;
wire [29:0] lshift ;
//
if( branch && zero )
begin
lshift[15:0] = imm[15:0];
lshift[31:16] = 0 ;
lshift[31:0]<<2 ;//zuo yi liang wei
n_pc = npc + 1 ;
next_pc = n_pc + lshift ;
end
else
n_pc = npc + 30'b1 ;
next_pc = n_pc ;
endmodule
总有错误:Illegal reference to net "dout".
我明明定义了的啊。。。而且看网上有人说if和case只能用在always中,但是我这个module里面用不到always啊。。。而且我也没有设置clk的端口,该怎么办呢。。。
错误是处在dout <= dm[addr] ;这句这。。
展开
 我来答
yl0409202
2013-12-04 · TA获得超过567个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:287万
展开全部
那你就不要用if 用 组合逻辑,你这弄得时许逻辑,没有时钟怎么跑。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sunray
推荐于2018-05-06 · TA获得超过290个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:109万
展开全部
你搞不清组合逻辑与时许逻辑。时序逻辑要有时钟驱动,才有左移。组合逻辑要左移,只能叫做截取!
lshift[31:0]<<2 ; 是什么意思?左移?放在哪儿?要记住吗?没有reg怎么记住?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FPGA培训与毕设
2013-12-02 · 超过16用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:45.2万
展开全部
在always外用组合逻辑 定义为wire型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式