EDA365电子工程师网
标题:
求助代码编译问题
[打印本页]
作者:
stonylian
时间:
2012-6-26 16:43
标题:
求助代码编译问题
本人新手,下面是一Verilog HDL程序代码,为什么总是编译不成功啊,恳请知道的帮助解决一下啊,
D( M2 N F' V* |' U1 U- V- C
module ihq_counte(rst,clk,ihq_control,ia,ib,ic,iap,ibp,icp,iahq,ibhq,ichq);
$ q) v$ ^- }8 V8 `9 T0 s/ ?6 h
input rst;
- M1 _6 e3 V8 h; h7 @! g- s5 f8 T
input clk,ihq_control;
& r+ m P8 }1 d; E7 a6 K
input[15:0]ia;
* Q" q# o7 n: @/ p0 X7 E
input[15:0]ib;
# J- t' w+ H( C- F
input[15:0]ic;
- o3 o8 S y! J3 F" ^9 u
input[15:0]iap;
; u/ t# p+ j# @9 r4 v
input[15:0]ibp;
: J/ I2 x ?' B$ S
input[15:0]icp;
( f& R5 c- d% @" x! ?& L; Y* `, U P
output[15:0]iahq;
9 B) n+ r6 A* b+ z2 H
output[15:0]ibhq;
9 K5 J8 k' V4 L: P$ B# s
output[15:0]ichq;
. g: Z% G+ c: q5 @7 I
reg signed[15:0]a1,a2,a3,bl,b2,b3,cl,c2,c3,iahq,ibhq,ichq,iahq1,ibhq1,ichq1;
% c- U `3 i* P+ v; b
always @(posedge rst or posedge ihq_control)
/ g# D/ V/ ?$ a0 V9 f/ v3 R1 s
if(rst)
# u; \/ |: j+ ]+ a% W9 O
begin
- {/ o5 Q1 p1 ]: m+ F( V" A
iahql=0;
7 v7 n4 |$ p) M& k5 k: u0 l
ibhql=0;
( g$ c& }8 U4 C
ichql=0;
" ~ c7 B7 ?9 L$ `
end
: r5 s/ ^1 I6 d! l9 W% u
else if(clk)
) U* G( b: V2 m% j r/ A0 |: B: a! n
begin
9 K& o% ^8 c; H/ k' J: _
iahq=ihaql;
8 ^4 h7 x6 o! ] _# Y8 @
ibhq=ibhql;
$ h j+ [5 v5 Y4 {8 w! y" B) x
ichq=ichql;
0 ^' c# ?' r5 r$ S! Z- V
end
, t, H/ _' ~0 y; T
else
( O9 F L4 h$ M
! s* c: f7 s7 U; C
begin
6 l( R% ~; t: \& t/ B" g; ~
if(ia[11]==0)al=ia;
. B% @! ~' h: P0 s# j8 k3 K
else
. ~, _. u: B, b. ?2 ~3 |
begin
3 Q( `$ ]+ U- `: i$ `! J1 R- o
al=ia;
8 G0 x: A; A# g" c: J' [
a1[15:12]=15;
1 G8 U) J! g; u# a/ v
end
. c# R9 K: Y7 i# B0 A: |7 @
a2=iap;
, z9 P, h: Y7 _! H& |
if(a2>0)a2=a2>>3;
: d; n- f, p1 A: E. R5 E5 a
else
2 R1 E9 `( Q2 Z h
begin
. W# P0 F+ u2 u6 S1 ~
a2=a2>>3;
4 @9 P% Z3 I+ @) C
a2[15:13]=7;
( G- M; p) ~0 D* d, F* b; m
end
n" w: i, E" D- f% ^1 W$ q% _
if(ib[11]==0)b1=ib;
/ l! f; O( S7 N# ?
else
+ x, y- ~$ U- i5 I1 H0 y9 `" F
begin
# O/ Q( P0 f9 X3 G8 C4 _9 g
bl=ib;
) P7 ], Z% e' q+ A* M
bl[15:12]=15;
E9 z& ]" u( Q! Z* [) C# o
end
6 I: \5 `& Z3 f! L/ b& h
b2=ibp;
2 \- h1 h" e* K3 z8 [+ |0 J
if(b2>0)b2=b2>>3;
+ {0 h; H1 r. O' v1 |6 @5 M* a
else
~0 K6 A0 U5 }0 P' V
begin
6 ~0 K" |6 e) P6 I9 v, T: V
b2=b2>>3;
6 O9 k! ~# K6 T. s
b2[15:13]=7;
7 F! F7 M \& V' ]# W
end
1 L0 z2 M) p) {! @5 O( G; S. N
if(ic[11]==0)cl=ic;
4 o; E. Q ]7 u2 `- }
else
- O, J6 J5 V& \8 h
begin
. R# a& E* W2 U& r6 V. H
cl=ic;
( I5 k$ b5 n+ x0 k. I2 r0 Y
cl[15:12]=15;
" v3 R+ P/ P1 e7 w1 {8 D& J
end
9 V1 z4 q7 D6 J$ q
c2=icp;
$ |! k7 m. t" _3 m9 _9 L3 v* @
if(c2>0)c2=c2>>3;
1 R7 ~" g; Z# E. m) h: i
else
6 i9 o8 P ~% t" r
begin
% Z$ ^" X8 G& T: f0 N6 a
c2=c2>>3;
9 r8 }- b3 A4 t+ M: l$ V* F$ b
c2[15:13]=7;
1 v) Q- D) |# W6 j0 n
end
" O- a4 O3 ]/ B. E. F
a3=al-a2;
& w4 R+ s1 D. ~# J1 a H q- e
b3=bl-b2;
) `! W3 t7 j; O8 r
c3=cl-c2;
* K; [+ [2 q# N( G& g
iahql=a3;
" ] p- _1 _: z- x
ibhql=b3;
4 o3 S! I g' D. j- O! ?
ichql=c3;
/ |# d+ n4 b* Q! [$ q" B% b! K
end
" ]; d% t2 ]0 e X* \( u$ X
endmodule
作者:
blue822180
时间:
2012-8-2 17:20
老大你工程名和你模块名字相同吗?你怎么不黏贴出问题所在?
作者:
blue822180
时间:
2012-8-2 17:34
我看你代码了,你错误原因是很多信号没有定义呀,你直接用的,这些不知道是输入还是输出呀,你根据你的情况改一改吧
作者:
xy31554406
时间:
2012-9-3 13:41
always里面最好用非阻塞赋值啊。还有clk信号和ihq_control信号会不会同时动作,导致 if else执行起来有冲突啊?
欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/)
Powered by Discuz! X3.2