找回密码
 注册
关于网站域名变更的通知
查看: 1413|回复: 8
打印 上一主题 下一主题

高手帮忙看看我的代码有什么问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-1-17 01:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
设计一个实现8位ALU功能的函数,其输入为两个4位操作数变量a和b,以及一个3位的选择信号select,输出为5位变量out,具体关系见下表。不考虑计算结果的上溢和下溢。
, B2 f0 b+ F, v% dSelect信号                      函数的输出
8 }  D2 v# n# b9 [5 j3’b000                                                   a
' _7 Q3 K! ^2 U$ V3’b001                                                 a+b1 ~2 J; }$ y# }, q, y
3’b010                                                  a-b
+ N0 |- j3 t0 w3 B2 o3’b011                                                  a/b
' K# x* H* B2 {+ [0 Z3’b100                                             a%b(余数)
. p4 D1 F" O% [) o3’b101                                                 a<<1
; y8 w/ h0 Y! E7 J( t3’b110                                                 a>>1
7 n$ m4 l' e+ d: P7 \- H# p3’b111                                                  a>b" i- l) C: W& l6 l. e5 D7 X! g
! s* c8 ?" I4 N
以下是我的代码:
+ U/ I2 [+ r& q% X% N% Qmodule alu8(a,b,select,out);/ [! @5 U' f( P# w) \0 s
input[3:0]a,b;
8 Y/ S7 B. ?! M: Vinput[2:0]select;
5 H+ [/ m7 P, }output[4:0]out;
; O! A3 O1 f- `) y1 D. I% W: Mreg[4:0]out;
4 ?5 M: L8 M9 Q2 K' s$ Kalways@(select[2:0] or a or b)
  K' u8 P. n! q  B5 d' _+ s3 Hcase(sel)
5 n# _5 ~5 W4 ?( w0 O2 O  b3 [# N3'b000ut=a;
2 t8 T2 L) C0 b! u3'b001ut=a+b;
3 W: h/ C$ F  s$ Y3'b010ut=a-b;7 G; A: G7 @. b! {5 X
3'b011:out=a/b;
, @) |4 ~8 I2 y. V3'b100:out=a%b;
3 U' B5 e: A8 L  c; ^0 M1 y( b3'b101:out=a<<1;' a0 U8 z% x# X8 C4 S7 X8 z
3'b110:out=a>>1;
8 P4 h; d6 P6 Q/ }9 d- o7 w/ P3'b111:out=a>b;
* _5 E/ k8 ]$ A; W$ ^" t, L$ x4 Zdefaultdisplay("Invalid control signals!");, O2 D0 k* A5 A5 b) m
endcase! e& o& B6 z/ O; \3 {) f
endmodule

该用户从未签到

2#
发表于 2012-8-13 15:53 | 只看该作者
module alu8(a,b,select,out,rst);" x! j5 ~' l0 p. j
input[3:2]a,b,rst;1 J- x; l, K' k0 ~$ U0 l0 F: H) J+ P
input[2:0]select;
2 @& {6 d  s+ e5 d" H output[4:0]out;
3 q  j( v& K2 r$ ~7 [( B. \: W* K; K reg[4:0]out;
" i! b- o% f  l7 R) [8 I parameter   N# F" w& \( s( i
idle=3'b000,
# b3 \! H) ~# s/ i9 `, A8 Y* t, x s1=3'b001,
) D8 `; Z. S( M( s3 o/ R, G s2=3'b010,8 s- n0 C% x. t0 G$ p
s3=3'b011,
0 d6 T6 ~& Z) e% i: Z5 D# T+ V s4=3'b100,
0 b  m6 i1 Z( P6 X9 D  r0 h, j s5=3'b101,
4 v+ R; S( R$ }3 O- n7 }" ]) F s6=3'b110,- V& M: z- Y- v5 A$ v7 c  E$ x
s7=3'b111;( M! B* Q- F% x% g& g
9 a* _. v0 e$ V$ |% ~' K
always@( a or b)
4 u0 w. a* d& n0 m  } if(rst)/ k1 F0 l4 b9 Q
   out<=00000;/ @8 ~6 q3 _- P3 {$ N3 G8 a
   else" o0 g3 r, K+ y* Q
   begin
8 \+ k/ _; e" l. h* j5 S- c   case(select)
, |) E. @" N5 y idle:begin$ M: ?3 P2 [6 X; A# c
   out<=a;
' \/ [) U1 z/ [7 K7 P    end$ U$ D% ^" F# T! \( q+ d& _0 C5 {
s1:begin; S; U, `( y7 j$ h* b, r" ^
     out<=a+b;* ?" o8 M" h+ w% X4 B& J% i; _
      end% B1 X% k9 G* `/ x
s2:begin; W2 X' ^/ _6 t/ B
    out=a-b;
& o; k4 r2 |7 t8 a    end; s* |) p' b  T4 z( l, O( m
s3:begin7 a" D8 Z1 l0 Z2 O( B
    out=a/b;8 {& N/ t4 V: O1 J
    end
- D* ^: o* ?7 U# rs4: begin
1 ~' u1 C! }8 I3 f. p   out=a%b;/ H; ?( }. o$ W: S6 P9 _
    end! r  {2 F' p- [0 C8 s
s5:begin3 V  c6 g2 I8 Z9 s0 X. k* G
    out=a<<1;
" z4 T& O! l- H5 ?    end
+ c& p! e1 N3 x3 i! P: p$ c0 h2 us6:begin
0 }2 R1 n* c- }9 U4 n$ G% U. ?out=a>>1;
+ H2 n4 F$ A+ [end
! h( j& Z7 q0 I3 W- F1 \' Js7:begin4 f4 {+ O2 K# `+ S" o3 s2 Q3 t
  out=a>b;
, S& {& {/ N! A3 b  end+ O6 n; Z' o: t; m3 X. x: d1 P
default! B$ n2 E" V4 U, Q
$display( "Invalid control signals!");1 p1 l- }( C- M# R; ~7 |$ N
endcase
$ U2 Z. n' I4 f0 H) z7 m end8 O1 n; g: p' I. o; M8 |- B
endmodule

该用户从未签到

3#
发表于 2012-8-13 15:54 | 只看该作者
给你改了,我编译已经通过,没有错误有警告

该用户从未签到

4#
发表于 2012-8-17 22:09 | 只看该作者
blue822180 发表于 2012-8-13 15:54 . W- \0 `0 X) u4 |+ i0 o
给你改了,我编译已经通过,没有错误有警告

, q) P& N- }0 z( h这个程序不能编译下载到板子里吧??

该用户从未签到

5#
发表于 2012-8-20 08:25 | 只看该作者
逸风 发表于 2012-8-17 22:09
" k# g' u& s, f1 ^% U) X这个程序不能编译下载到板子里吧??

0 ?7 P) |) q3 ~兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧

该用户从未签到

6#
发表于 2012-8-20 12:02 | 只看该作者
blue822180 发表于 2012-8-20 08:25 ; V" f4 ]  F# u0 I
兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧
  g; P* h" s! D3 z
是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪去,还能学到东西

该用户从未签到

7#
发表于 2012-8-20 16:31 | 只看该作者
逸风 发表于 2012-8-20 12:02 / j! x* ^3 M( z( S
是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪 ...

& \" ?, V5 n4 K& |& j开发板哪里买呀,什么型号?多少钱

该用户从未签到

8#
发表于 2012-8-20 16:49 | 只看该作者
blue822180 发表于 2012-8-20 16:31
) D0 b/ ^. b7 _/ e9 X' k开发板哪里买呀,什么型号?多少钱

5 q% L1 ]! B$ L+ C! E- A到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看

该用户从未签到

9#
发表于 2012-8-21 08:42 | 只看该作者
逸风 发表于 2012-8-20 16:49 + W! n% Y. Z' i* ^! ]4 \; a
到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看

3 D# i4 ]0 D* u- Z我那个程序把非阻塞付直改为阻塞付直应该可以再板子上跑的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 04:17 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表