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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设计一个实现8位ALU功能的函数,其输入为两个4位操作数变量a和b,以及一个3位的选择信号select,输出为5位变量out,具体关系见下表。不考虑计算结果的上溢和下溢。9 H) I7 q7 n# u
Select信号                      函数的输出& Y# l; Q1 c" h9 }  P& ?- i
3’b000                                                   a: k9 B& F- h. z4 g6 z
3’b001                                                 a+b
: e4 ?; v* }; y& v9 K: b* p3’b010                                                  a-b
. @3 R1 i" ?7 C, ^# x3’b011                                                  a/b
/ W( M5 c/ C8 \' _: p" N2 Q5 \3’b100                                             a%b(余数)5 N% k, }7 A! F* S
3’b101                                                 a<<1  {* h% b2 y$ Q& L3 q" g
3’b110                                                 a>>1
, s4 ~7 u: b  U$ e8 H3’b111                                                  a>b
4 O9 J4 W& B, @, l
3 R& d; H3 c4 U" v  I以下是我的代码:' L% M" p  s1 D- J2 t
module alu8(a,b,select,out);
: L' N) }' U7 Y& R. ~7 kinput[3:0]a,b;8 x6 ]' k5 s- u" n0 i1 D6 b6 {
input[2:0]select;' y1 L! F) t) `$ G; ~; w4 C
output[4:0]out;
* L9 }  W; O5 N( P% Sreg[4:0]out;8 `% N& S3 Q, {5 P9 h
always@(select[2:0] or a or b)" R/ u$ z- e% ]% M) Z
case(sel)
  [! ?/ T3 u" S3 O, u3'b000ut=a;$ F- ~* j" `( ?7 [! m' X2 G: A
3'b001ut=a+b;
1 {; d( n/ ]2 o$ k# D9 P. O3'b010ut=a-b;7 c- v7 G. V8 V" W9 f' X
3'b011:out=a/b;
9 S7 ]  F: Q* X* W5 `9 F/ T7 i3'b100:out=a%b;1 v4 U5 A3 W1 c
3'b101:out=a<<1;
# }  v1 a8 E* ~. l# a- w# W" F3'b110:out=a>>1;
* y2 e" ]( R, s- N. _! b( w3'b111:out=a>b;2 Z  Y' b" f* J* ]* B4 I
defaultdisplay("Invalid control signals!");, M9 w1 F# p  u5 v$ v8 y% ^+ S9 B
endcase  R9 b; O) a+ n# l/ O7 \2 s8 C& s
endmodule

该用户从未签到

2#
发表于 2012-8-13 15:53 | 只看该作者
module alu8(a,b,select,out,rst);
3 I) }% m% Z) d9 R: o1 l1 n input[3:2]a,b,rst;
# v* N8 C, c+ _ input[2:0]select;
9 c0 T# Q% g+ U$ f- l; M- _ output[4:0]out;
. K. I. Y: [2 N reg[4:0]out;
+ V  Q' F. _* p! n7 t  M6 D parameter
! S; {3 J! }, D idle=3'b000,
+ Q8 Q+ g% N, ~/ B% {6 ?- n) |( I s1=3'b001,/ ~% r& O5 ]1 a! ^0 b) m
s2=3'b010,0 b2 w4 k0 ^# l  }: M
s3=3'b011,* c$ y( H8 {* d4 S
s4=3'b100,
' y% D' N' J0 t6 A; H3 ^ s5=3'b101,& N. X7 L6 {0 }7 i* l9 ?
s6=3'b110,0 E7 `4 _$ `5 I. B
s7=3'b111;7 }: x/ T* d/ Y( d5 @  V

. D3 h3 l7 T$ @# w2 L  \% ^ always@( a or b)& i" y3 P8 m0 B0 X& q- U9 ]) R
if(rst)7 ^6 X* T" Z" h' y
   out<=00000;. z, }! e9 r! A
   else
; y8 r; q' F1 V1 j' T   begin7 o' `' ?6 Y0 n2 y4 I5 R# [" `* g
   case(select)
  y9 K! B6 Z) R' r6 r idle:begin1 @" O% A( C! t4 E, b
   out<=a;; I6 @0 X. z0 U$ h! x
    end
. o* }: @$ N4 x0 m' M" @ s1:begin4 `* B* n; F4 S- `! W
     out<=a+b;( S. V: Z9 g  t9 k6 t% R
      end& l4 |6 v+ B$ W6 P2 \
s2:begin1 ^0 \( }' Y5 d% g. P
    out=a-b;
. Z. X/ k9 T0 W5 t; v( _( H    end
- W; A! c1 R/ T) z2 y" ~) c3 K3 Ds3:begin
' X- O: _3 w9 E    out=a/b;: t* o) \/ o$ v5 n
    end. l8 j: d' T. L6 h
s4: begin
2 q" Z  @( l" @; \8 i  [5 r% u# w1 k   out=a%b;3 s' ]2 u+ k% w- }6 B$ [
    end
7 m- |6 A/ ?" M  z% X/ K$ e s5:begin( k$ e+ U# k# M' o  `( w
    out=a<<1;
8 a8 {0 m, U5 ]$ b9 ^    end
, X& y( |" g! ]& d2 us6:begin
5 B- r+ I- R4 L& n) f) u( G! Qout=a>>1;
% i) X- T7 [1 p; aend
9 e2 H. N0 E# d4 S% ~% h+ ^$ N3 a$ Q( A' Ns7:begin
9 W* q9 R: G$ Y# x7 L  out=a>b;
; ~7 i- v9 n" w; r; ?  end
' Y& U9 i- H8 Y+ e$ S* ~- n3 R1 U default
, D. A+ T, p; j8 A; H7 ` $display( "Invalid control signals!");, v& P3 f) F* o3 I. e% z3 e
endcase6 M2 O( N; C0 w
end0 c+ ^' T: s- f: d+ G  b6 b2 o
endmodule

该用户从未签到

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

该用户从未签到

4#
发表于 2012-8-17 22:09 | 只看该作者
blue822180 发表于 2012-8-13 15:54
$ ]& Z  O  w2 }6 @2 }给你改了,我编译已经通过,没有错误有警告

6 l4 M( R- E& m这个程序不能编译下载到板子里吧??

该用户从未签到

5#
发表于 2012-8-20 08:25 | 只看该作者
逸风 发表于 2012-8-17 22:09
/ _3 m8 T2 h! y6 h3 C% S8 {: s这个程序不能编译下载到板子里吧??
  E, a( ^- s1 n0 F' f, W
兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧

该用户从未签到

6#
发表于 2012-8-20 12:02 | 只看该作者
blue822180 发表于 2012-8-20 08:25 ! T# J: p' O0 S$ Z
兄弟我没有板子,我只能做到仿真没问题,至于能不能上班子你试试吧
( O2 P- j+ ~0 j
是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪去,还能学到东西

该用户从未签到

7#
发表于 2012-8-20 16:31 | 只看该作者
逸风 发表于 2012-8-20 12:02
  g6 _: O! I3 g% c" x是的,不能上板子的,仿真倒是可以。我觉得学FPGA时需要个板子的,更实际,建议买个开发板吧,也贵不了哪 ...

2 D8 G! Z+ w# i8 U& y开发板哪里买呀,什么型号?多少钱

该用户从未签到

8#
发表于 2012-8-20 16:49 | 只看该作者
blue822180 发表于 2012-8-20 16:31
# \2 j( |# v5 v- r2 `开发板哪里买呀,什么型号?多少钱
8 [7 R' b5 e0 u! I+ S7 u6 |
到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看

该用户从未签到

9#
发表于 2012-8-21 08:42 | 只看该作者
逸风 发表于 2012-8-20 16:49
* g) ^1 s+ \& s% D: i- g2 ^到FPGA各大公司的主页上都有关于开发板介绍的,不过官网上比较贵,可以到taobao上看看

( ?/ f: k/ s5 w& t. d# o7 @9 ?我那个程序把非阻塞付直改为阻塞付直应该可以再板子上跑的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 14:30 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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