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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设计一个实现8位ALU功能的函数,其输入为两个4位操作数变量a和b,以及一个3位的选择信号select,输出为5位变量out,具体关系见下表。不考虑计算结果的上溢和下溢。9 H. U+ e: Q$ Y# t
Select信号                      函数的输出! q4 \) m1 }. T' x# h0 A3 L
3’b000                                                   a
% G$ H' @* T8 m! |3’b001                                                 a+b
# ]- ^! t3 B: [* f. R+ y3’b010                                                  a-b
8 F; g7 V5 T: i) u3’b011                                                  a/b
( v: ^( p# y% p& i9 m3 F3’b100                                             a%b(余数)0 }$ d: d* Z. T# a* v( h
3’b101                                                 a<<19 U. R8 w! F8 g
3’b110                                                 a>>1
- w' M  ?, W* ~/ n. n6 p# Z; l' F3’b111                                                  a>b$ C) Z% P3 S; U5 P* a& K
% e, y1 T; f0 u" p% ~5 M4 e+ F' R, i0 g1 v
以下是我的代码:
  @$ n( c7 L* zmodule alu8(a,b,select,out);# S# Z2 m! W" [9 T% V- b5 O
input[3:0]a,b;
) Y1 k1 W# J, e1 m  r& v7 j, h: w& tinput[2:0]select;; P% K' D  R  h) z$ m
output[4:0]out;
/ @1 t6 C& I# freg[4:0]out;3 F, U- w, q4 Y  F
always@(select[2:0] or a or b)5 t3 K. C$ {! R* z
case(sel)
& o3 i& Y# B  p3'b000ut=a;: ?& Z/ }9 L3 b" B( Q
3'b001ut=a+b;/ t: l% G+ ?/ I# I+ J& K+ {' U
3'b010ut=a-b;
1 ]: Q: T! M  [3'b011:out=a/b;, ~. W+ a& X$ O
3'b100:out=a%b;
6 {4 [  F: E2 _0 C3'b101:out=a<<1;
' y" r1 J' a0 c! v3'b110:out=a>>1;$ d! K) d9 v* T6 T
3'b111:out=a>b;: K1 J) K6 d( a
defaultdisplay("Invalid control signals!");- ]9 L" x; p6 r
endcase# k# E! x6 _5 a. H6 H
endmodule

该用户从未签到

2#
发表于 2012-8-13 15:53 | 只看该作者
module alu8(a,b,select,out,rst);# k+ V, _3 z$ s8 [) w
input[3:2]a,b,rst;7 A0 q1 Y+ q. f: L1 n
input[2:0]select;* F) q6 h; m. ?, n
output[4:0]out;
4 [( W/ N/ s& B  u' h  Q+ b reg[4:0]out;1 n$ ^; m  Y' N( M
parameter
0 b: R6 ~: y. w* y idle=3'b000,
; z! C5 _8 k# V( X1 Y9 ^; X s1=3'b001,* a7 }* F0 L* @# J7 @3 p4 A
s2=3'b010,2 m1 N7 {! L6 ?. p3 v* q  G, G
s3=3'b011,
. E8 }# T( P2 h, {$ N* c s4=3'b100,
+ z, [7 H# T) z* u$ _2 M6 t s5=3'b101,
# e! p; V& U9 a% i s6=3'b110,
  m8 V  |2 [3 e s7=3'b111;# {: B9 r& S0 T- x& u# N! L6 a
7 k) H$ C9 N0 ]. {! S/ I3 ]
always@( a or b)
% E% Q" V2 g& s  L+ t2 o if(rst); i8 b0 g/ k3 E7 G7 w
   out<=00000;# s1 K, H& |) o1 J* o' E+ i9 @
   else
0 Z  e# x% [( {4 z" B9 Z5 X" ]   begin# V, Y9 v& t! @$ ]7 B6 O2 J  L
   case(select)( U3 M# x, \* H/ S
idle:begin
0 D- ~" a  b; h+ Y+ q1 E9 u   out<=a;: M' H5 `& _3 N) F" Q) f3 ~8 m1 U
    end
4 p/ n0 _+ k; K# L s1:begin
! ~8 }- l6 E  c  b, J     out<=a+b;
4 O3 f% e! \' R& V* ?7 n. R      end  x) U' O$ o% W$ V
s2:begin2 e8 Y* z% J- F8 U9 g0 P6 I
    out=a-b;
, v6 ~$ b# t$ ^4 O    end* v0 e0 x2 `) Z8 w, Y. |
s3:begin
* `1 |' D6 p! S) G    out=a/b;6 f" T. p9 N) x/ k8 X; C( x
    end4 x& B. b3 _7 S
s4: begin# M7 R: ^/ o' a& U; m
   out=a%b;+ E+ z( q+ N1 _" i0 U/ q
    end
0 c5 z& F+ Y9 e. b; r s5:begin. g5 D- u, r. l. `, @, \+ S- G
    out=a<<1;: |4 p% c! b5 N
    end, y* H4 l7 H2 U" t
s6:begin) x* t8 x1 Y) z* U
out=a>>1;
9 a: F* G& X0 O) @9 l# T7 Yend
! M& d( i* c7 l# U8 Ws7:begin1 a- e$ f5 O( t: E9 s0 ^1 |
  out=a>b;
7 R  v, A8 o: o3 N' m  end9 s) n+ d( b) C( [, @  I) _' a
default
4 _9 j4 h) S' X" m $display( "Invalid control signals!");8 {" {, V; _/ z  [
endcase
, h9 q- w' c  f2 U7 A end) j  Q% j5 G! ^( |0 P
endmodule

该用户从未签到

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

该用户从未签到

4#
发表于 2012-8-17 22:09 | 只看该作者
blue822180 发表于 2012-8-13 15:54
$ C/ j( ]& D! V6 s' r给你改了,我编译已经通过,没有错误有警告

" k: \6 Q/ L! [这个程序不能编译下载到板子里吧??

该用户从未签到

5#
发表于 2012-8-20 08:25 | 只看该作者
逸风 发表于 2012-8-17 22:09 - W! \& y+ x/ P3 S! S' i. }5 o
这个程序不能编译下载到板子里吧??

/ c+ H% z4 w2 a5 d' W% }$ j, M兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧

该用户从未签到

6#
发表于 2012-8-20 12:02 | 只看该作者
blue822180 发表于 2012-8-20 08:25 , e0 n2 Y5 `% B8 v: X
兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧

$ k1 K: l, Q' B. k; m& y0 P是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪去,还能学到东西

该用户从未签到

7#
发表于 2012-8-20 16:31 | 只看该作者
逸风 发表于 2012-8-20 12:02
  c# s# t4 W8 t是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪 ...
7 g8 }3 u7 ]. @; r4 e) k) d
开发板哪里买呀,什么型号?多少钱

该用户从未签到

8#
发表于 2012-8-20 16:49 | 只看该作者
blue822180 发表于 2012-8-20 16:31
. U, l( L" A3 H- [开发板哪里买呀,什么型号?多少钱
; |% |. a3 p6 C$ `/ S6 P0 U! O
到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看

该用户从未签到

9#
发表于 2012-8-21 08:42 | 只看该作者
逸风 发表于 2012-8-20 16:49
1 _# h  C$ r# g. O/ Y到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看
, ]1 L# V7 _- D$ k8 N
我那个程序把非阻塞付直改为阻塞付直应该可以再板子上跑的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-30 09:05 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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