|
2#
樓主 |
發表於 2007-9-13 17:14:29
|
只看該作者
回復 #1 day766 的帖子
Alu的 input為rum_A[15,0], rum_B[15,0], ALUs_dp[1,0], jpsign
( f* p2 q0 d2 I1 S. p; f" Q output為ALUz, ALUout[15,0]
* b4 n# T* Z8 f' X# Y% P0 s5 i# m3 T* _, g- Y* b
function為
3 p) ^; x7 e0 e; {
8 [1 S# O0 O6 W00 A →Res
, L3 r3 C5 H& F% q01 B →Res
: S" r7 d M3 r+ [: I10 A+B→Res6 p5 Z, ~: a2 z' s
11 A-B→Res/ ~. \8 h5 D2 m, t; X, A0 k; X4 {
0 J4 q! B2 Z3 p5 m
想要讓一些訊號(00,01)不經過ALU,等於是用三態的方式處理。
3 `9 b" N7 s1 D
5 _/ Y- J$ Q' D- i1 ~我試寫為2 U/ o- E4 _" U$ j
7 G! u8 N0 c: A& R D
if (ALUs_dp[1])=1+ T7 l# X% U: b- I$ b' V) b
then
( z/ D V; w) i+ o |4 J4 z, V( } begin0 ~) O' g* D/ [2 R
if ALUs_dp[0]==17 b1 U0 f( k8 f( X& r& \
then
" x0 ^+ O) Q; O4 X6 K/ n8 O# ? Res <= A+B% _. X! X F& C4 ?: |+ t
else5 g* M+ a* s. }! K
Res <= A-B8 ] h- ]3 Y& |; Y4 `
end
5 S) g) a! Q; j7 P) [+ }else
7 a4 u9 M0 i( A4 P begin
" A' u5 i0 u3 N M# S0 N& o- t if ALUs_dp[0]==1$ k* c6 A: f6 G) f. `
then9 l6 L6 m, t& K% Y2 N
Res <= A3 t/ e6 o V% H% F$ D# ~; Y' n
else7 k: C$ x; v" x
Res <= B
3 v z5 p, L1 x2 C end+ p0 h$ q& H" ?7 |; X* D' t
end
# Z% M5 z0 Y, h$ X- q3 T1 w& [" h2 Q# F, S; W
只是不知道這樣對不對?或是還有其他沒想到的地方嗎?1 {7 L" W7 ]7 R. P
麻煩板上高人了 |
|