Chip123 科技應用創新平台
標題:
用VHDL把一個ALU改成三態的MUX,想請教三態的function是如何描述?
[打印本頁]
作者:
day766
時間:
2007-9-11 10:39 PM
標題:
用VHDL把一個ALU改成三態的MUX,想請教三態的function是如何描述?
小弟最近要用VHDL把一個ALU改成三態的MUX,但不知道三態的function是如何描述。
/ e0 v3 y8 H3 J. O1 z' c G
因此可否麻煩版眾提供個範例,或是提點一下三態的描述方式。
作者:
day766
時間:
2007-9-13 05:14 PM
標題:
回復 #1 day766 的帖子
Alu的 input為rum_A[15,0], rum_B[15,0], ALUs_dp[1,0], jpsign
5 {/ f1 g" E2 K" S8 j7 ]0 E
output為ALUz, ALUout[15,0]
: N$ i: L" X$ Q+ O
1 m; E1 G: f* X, J
function為
0 c. I1 l' l0 j1 I1 X! Q# l
' W6 @& A0 k: @8 z8 X
00 A →Res
) z7 U4 e* `# {' A- j+ m
01 B →Res
7 N/ |5 t/ J$ d% \. N9 Q1 V
10 A+B→Res
/ d2 i! l9 y0 P/ {7 a
11 A-B→Res
- p/ V( \! G3 B/ y3 U/ F: P
3 G1 Y' D w0 t' z2 Y: p
想要讓一些訊號(00,01)不經過ALU,等於是用三態的方式處理。
/ G* O2 \( Y2 K7 {! e
& c7 m6 M5 E1 S( i
我試寫為
' y; }; a* n- N3 Q- H' m$ A+ z
5 x# X: s! v( C+ a) U4 I6 b
if (ALUs_dp[1])=1
' e. ]# n+ ?: S4 O6 J
then
6 `! B# W( }/ l. } S( e' U- p
begin
! @- A* k7 U9 H4 ^
if ALUs_dp[0]==1
5 p( h g% N/ R$ d) A) z# Y2 V3 L
then
, b0 |8 e5 S# @
Res <= A+B
# H' K8 \7 _; P/ w0 Q# J/ Q
else
h2 W7 ^) c: u& o
Res <= A-B
4 u7 t& T* c( A9 j; M# B& u1 P! n
end
1 @; f2 w+ d0 y. B- r' X- a* D# Z
else
* ~3 p7 o% u* K" k9 R8 H
begin
! R, W" j$ l3 q- ~# o
if ALUs_dp[0]==1
! q" D) y. `- _$ l3 b+ Y M+ L
then
* F O5 y! o1 i9 B
Res <= A
& o& p, s4 W) x
else
# B3 `! G3 J& t. Q; h1 I) K
Res <= B
7 H7 z4 `! j$ C5 {7 Q
end
+ p ]) U$ B, y2 @/ V" L8 N
end
( Z$ L9 ?% a U9 p5 J k* R" S
) I x& c. p0 Z7 W$ V3 X
只是不知道這樣對不對?或是還有其他沒想到的地方嗎?
4 o! ?, h3 s/ k. Z- U
麻煩板上高人了
作者:
tommywgt
時間:
2007-9-19 08:12 PM
不建議在CODE內放三態電路
0 ]2 h- V( b3 i- |) d# G! q
& } @5 B: B; w5 `! E
大部分的case都可以用mux解決掉吧
歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/)
Powered by Discuz! X3.2