|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
如何将一段的C语言转换成硬件描述语言Verilog,下面就是一段C语言程序,求各位大神帮帮忙,关键是一些思路和技巧,该如何下手等等,非常感谢。. g1 ^. d) ^, ?9 F7 f. R
void src(short int** pd,short int** ose,short int** pzse,int nse,int il,int jl,int mod)
+ t, x) I9 j1 k0 f* A8 @" g{
9 B% W5 w, c! k; z8 [ int i,j,k,l;
; p8 y! E# b; W1 e double std,avg,temp;
$ R9 y0 ^( V# ~7 A! @/ s short int** pdse;8 a# `" L' z. T! ?! ~' J8 o, y
pdse=(short int**)malloc(il*sizeof(short int*));
9 ~! u7 B& }2 B( N/ D2 m1 \7 `' ] for(i=0;i<il;i++){
: C+ Z& I: |2 r9 {3 o6 n- e1 F pdse=(short int*)malloc(jl*sizeof(short int));$ f4 L3 Q& o1 Z( Z7 X3 S
for(j=0;j<jl;j++){) Y" m1 {/ ]7 p0 E
pdse[j]=-1;' }) {! L" S5 @5 u6 D3 a
}
* d8 D. y4 m5 I4 i" M }
% t9 b1 n* } l7 E1 v9 f3 D L0 c. ? for(i=rn;i<il-rn;i++){
, h( p6 j' u2 n% i for(j=rn;j<jl-rn;j++){* S* U2 L' ~9 v; k% c& T! N* B- D& X3 k
avg=0;0 I! _9 l$ D2 w# o, m! k& E$ s) B
temp=0;
( L) \& p# O5 G& H7 w std=0;3 O* E; Z) ^, A; @9 g/ y
for(k=-rn;k<=rn;k++){2 }; ^+ b0 J0 b7 F" [
for(l=-rn;l<=rn;l++){
5 b/ W5 S9 s$ p% v! ? avg+=(double)pd[i+k][j+l];/ W7 ?6 H( ~6 j' ]
}- s. M+ r# r/ v9 G
}: [/ {8 C1 T' i) h0 o4 b# S
avg=avg/((double)sn*sn);1 R; L! i) A r
for(k=-rn;k<=rn;k++){" O! W, d/ U8 @
for(l=-rn;l<=rn;l++){
3 E$ O7 g6 A V temp+=((double)pd[i+k][j+l]-avg)*((double)pd[i+k][j+l]-avg);2 Z9 ]) c; a( W& v% t7 g1 N
}+ i& N* r6 j! k1 y" P% H, s
}
, R# ]1 x+ p& C, Q* P. o std=pow(temp/((double)sn*sn),0.5);
4 E4 P$ K0 T( {0 M% o if(std<c*drt){
; N- p* |( {5 B: j, |7 i6 g* d) |* n# _) f if(mod==0)pdse[j]=pd[j];1 b! d" B- \! S- i: P0 O5 K$ a
}" n( m! \+ H+ _" t3 w' y
else{
$ P* k Z7 G" u" G) p; A if(mod==1)pdse[j]=pd[j];2 A8 R0 _3 x+ m T8 K, F( }' z9 m
}
3 ?( d' N+ p3 z' t }3 _* j' n: D7 N! u' B* W; L3 V
}
6 K6 J; T1 w! h7 E- g& ] sr(pd,pdse,ose,pzse,il,jl,nse);! v9 L' { C4 V _' o& }) i$ k* f
}: @7 s! e0 Q A
|
|