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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设计一个实现8位ALU功能的函数,其输入为两个4位操作数变量a和b,以及一个3位的选择信号select,输出为5位变量out,具体关系见下表。不考虑计算结果的上溢和下溢。3 x- r% @7 n5 x1 W1 d9 d( E
Select信号                      函数的输出
( f; R% S! L" m3’b000                                                   a6 ~' B# N7 w$ J8 N
3’b001                                                 a+b
5 T+ S# P$ \! a# f( |, Z3’b010                                                  a-b) S" R1 F7 I5 P; ?$ C' F% Y, u
3’b011                                                  a/b
, S" t  N/ @: w% g5 g3’b100                                             a%b(余数)
! I2 j4 u3 f* F7 `' P! G3’b101                                                 a<<1
3 C5 P0 Z, C7 g2 b3 S9 F9 X3’b110                                                 a>>1
% V( K3 E+ @/ Y/ F! F3’b111                                                  a>b6 M' v/ I3 l8 ^8 _" E, g
7 V2 w& Q0 K5 K1 Y- z# U
以下是我的代码:) s* a) W5 F: _- P  U1 `
module alu8(a,b,select,out);
$ Q7 M; a0 D, w. P* minput[3:0]a,b;& _, m0 L9 P6 q* C; }
input[2:0]select;9 a5 L4 @" T% `+ r
output[4:0]out;
5 o! o7 z9 f/ M- {  j* ]4 d/ `reg[4:0]out;) k" l# }$ t) J6 R: h  `
always@(select[2:0] or a or b)5 e8 T5 E/ `% Y0 j
case(sel)
7 i! u( t0 |! K5 U) Q3'b000ut=a;" P$ F0 q8 o, @8 v' h
3'b001ut=a+b;
: G4 w6 r, s6 H3'b010ut=a-b;5 G9 l# r' _! ]! z
3'b011:out=a/b;  z% t! C7 x! b# T
3'b100:out=a%b;
# q  J' M) p( Y9 K+ S$ F- Y3'b101:out=a<<1;  x0 }" ~  m+ k
3'b110:out=a>>1;" u3 X6 J9 F1 X, M' A- O# {
3'b111:out=a>b;
! Y  B4 u% G0 Y& @" O, ^- Pdefaultdisplay("Invalid control signals!");
3 I. F% K, A% k- Lendcase
9 ]5 @, V, b  F5 I# W; e4 fendmodule

该用户从未签到

2#
发表于 2012-8-13 15:53 | 只看该作者
module alu8(a,b,select,out,rst);
6 L3 R/ d6 f: a) N' D input[3:2]a,b,rst;
1 v& }- P- C) }) q0 h2 ? input[2:0]select;' Y' ?6 o0 a3 B" w" W
output[4:0]out;: O8 P4 J9 e; v% o8 i, v
reg[4:0]out;
$ e6 h  C* ^' o3 ?% u parameter
( a  L) g: z' K; l/ m1 u idle=3'b000,
& i8 F& G+ e8 c8 s( ?9 C s1=3'b001,
( J! m7 y7 L/ K0 P- j4 ~4 ~ s2=3'b010,
6 I7 V9 Z$ Z, }; z s3=3'b011,! g& n* W9 n; E! _
s4=3'b100,% a5 G& k2 q* P& t
s5=3'b101,
  `3 e) ~6 Y9 g, k s6=3'b110,
* t3 F( l: P4 R: A; r/ D s7=3'b111;
4 K1 a8 F: _9 v ( R  A5 M) v% w( S/ V( _
always@( a or b)
9 I+ d! I/ u, k; u* K if(rst)  p' _1 @! q% \
   out<=00000;
: O' Z' P' B' Q# x: l   else
3 @, |$ t: x. x6 A1 ]# ?   begin1 {& W  J; V6 z2 i1 ]. ]
   case(select)
( U3 {: f9 R$ a6 _ idle:begin
8 e) \, I& F6 G. y2 V) B   out<=a;: |: \& V  a1 p; P7 A8 W' _
    end+ H2 u! R0 s4 j* z0 g" J/ o
s1:begin
1 ~4 {+ F0 G$ }( G) [     out<=a+b;- |5 X! b+ s! r
      end. `2 v; R6 A: N2 B: |' ~
s2:begin' V+ X! {7 H# T$ s, A3 }
    out=a-b;
' ^( K6 K2 x6 q$ h& w" \5 P    end
( x' M2 j, {" n5 v) Z! ns3:begin
" k. }/ e5 E$ L' s    out=a/b;7 O8 D& U" [. ~9 D# ~2 `. W. A
    end
4 {6 j* L* o# o- \6 Os4: begin) v! g  n6 C+ |: z4 I
   out=a%b;: s' Z/ v  q9 P/ K. z5 ~/ C* S1 k. Y4 x
    end
" g+ L0 Z& J( `# ^ s5:begin
9 e* s# e+ C. ~; B" E. R    out=a<<1;
' |: O' G& P; P  C* b    end2 e2 S$ q. C: w  u! a4 V
s6:begin' q4 q, P9 z6 h: G4 @$ K
out=a>>1;
) {2 G7 \% c* rend  F  B" p0 {4 n- I% ~# g) [) m" g
s7:begin$ ]2 D( i4 v  u. T; G6 H
  out=a>b;8 G2 B6 U# {' ]$ |7 n3 m
  end7 A$ _6 C2 z% q6 n4 c9 \
default% e( i5 h' v2 R
$display( "Invalid control signals!");
- S; K2 @; }, y- f  M8 v& O endcase5 _6 w) t+ T$ ]- q1 _* c# j( V6 c
end# I+ g- E3 h( C6 M
endmodule

该用户从未签到

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

该用户从未签到

4#
发表于 2012-8-17 22:09 | 只看该作者
blue822180 发表于 2012-8-13 15:54 9 l0 F; ~. x1 V! H5 F6 L! S5 v
给你改了,我编译已经通过,没有错误有警告

  p. W( {' i% D/ x" Y& f这个程序不能编译下载到板子里吧??

该用户从未签到

5#
发表于 2012-8-20 08:25 | 只看该作者
逸风 发表于 2012-8-17 22:09 1 ?) t  }0 _6 c/ D1 K
这个程序不能编译下载到板子里吧??
6 E% e+ v: Z) h; j
兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧

该用户从未签到

6#
发表于 2012-8-20 12:02 | 只看该作者
blue822180 发表于 2012-8-20 08:25
  r* b! G6 j* p% _兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧
( g. S/ ?* o# _$ N3 M6 R$ u
是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪去,还能学到东西

该用户从未签到

7#
发表于 2012-8-20 16:31 | 只看该作者
逸风 发表于 2012-8-20 12:02
1 B& l7 y  `7 G. h4 `是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪 ...
' j* ~' X- ~" c% t# W) X2 }% F: J- C
开发板哪里买呀,什么型号?多少钱

该用户从未签到

8#
发表于 2012-8-20 16:49 | 只看该作者
blue822180 发表于 2012-8-20 16:31 & W! e5 W. T8 C. {9 k( _  O
开发板哪里买呀,什么型号?多少钱
1 V% N' A6 e* Y1 Z/ [5 k( `- u
到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看

该用户从未签到

9#
发表于 2012-8-21 08:42 | 只看该作者
逸风 发表于 2012-8-20 16:49
+ [: _3 S' f; F' a$ s到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看
4 x& b$ o$ |7 p* z" c7 t& ^( ]; m4 A8 R
我那个程序把非阻塞付直改为阻塞付直应该可以再板子上跑的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 15:58 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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