找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 874|回复: 1
打印 上一主题 下一主题

vhdl程序有错误,恳求高手指点(程序有点长,但只有一个错)

[复制链接]

1

主题

9

帖子

122

积分

二级会员(20)

Rank: 2Rank: 2

积分
122
跳转到指定楼层
1#
发表于 2012-5-16 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
原程序如下:
* p6 {; q7 {, H; ?library ieee ;
7 `, @) l+ |9 E# _2 Z/ i+ Wuse ieee.std_logic_1164.all ;
& {% {# U. }3 h/ z- u3 f- duse ieee.std_logic_arith.all ;
" Z( ]8 k# g9 k4 n! R+ i6 juse work.butter_lib.all ;# p0 x# P2 |! K. I. M
use ieee.std_logic_unsigned.all ;
2 D8 f# e8 Z. R+ B. W% q+ iuse std.textio.all;9 E& l# O7 O! r8 s
; L5 Y6 a3 A$ [' s8 l
entity synth_test is) M* I) h9 N; o5 o
end synth_test ;
3 z7 _: p" `/ V; C# n# \9 ]
5 I- p6 |- M2 H, larchitecture rtl of synth_test is
+ ^, _2 T! g) F7 }2 P- W7 ]) x" gcomponent synth_main
0 ]" z6 b4 @  c' sport(
: ^4 _3 Z  N" L  O* G6 e              data_io : in std_logic_vector(31 downto 0);' T" Y2 s- o( D9 a  w: e2 B
      final_op : out std_logic_vector(31 downto 0) ;
, N) |% x9 v, V9 j4 A      clock_main,clock,enbl,reset,init : in std_logic$ Y# ?- s' O/ C8 R9 K
    );7 x) n* i' A, D5 \$ \1 e
end component;4 y) ~3 r, J5 p# B% `$ g+ Y. d
signal data_io : std_logic_vector(31 downto 0);+ S) {+ f. l% {# f0 B( T
signal final_op : std_logic_vector(31 downto 0) ;+ s, {2 A, i! r* d, J  a; s
signal clock_main,clock,enbl,reset,init :std_logic;( n, h. c, r9 F9 O7 n3 s# V
" t3 X4 Z* S* M9 T  S: Y% G
begin
5 h2 Y/ P) T! J' Rdut:synth_main port map(data_io=>data_io,final_op=>final_op,clock_main=>clock_main,clock=>clock,enbl=>enbl,reset=>reset,init=>init);
) F% W" x7 ?6 y: e8 e% x% ?6 T' ]' R
6 A! M- U7 W( z& F8 Qprocess
' e/ X! r5 v: Q8 P# k2 z8 L( v  bvariable i : integer := 0 ;, O9 F1 _! X2 h' J- T) c
begin
4 F: E' T$ D! s6 @, c8 ?/ Vfor i in 1 to 1000 loop
# ^( u: H5 h1 x1 O+ d3 nclock <= '1' ;9 X& \- o7 }% P: x2 f7 ]7 l
wait for 5 ns ;% n+ W) p  K* S* U( e* |5 _
clock <= '0' ;! H! J/ l& v$ i* |' E9 P
wait for 5 ns ;* i; I( O& O6 Q4 K. Q9 z- ~
end loop ;
& T! u2 ^7 a9 r" I# Oend process ;
2 \5 d) V7 z7 e4 w1 c) P9 r9 D9 z2 H
6 P5 Q/ r8 A/ [7 O5 aprocess
4 p( E1 ^& ]1 v, O. hvariable j : integer := 0 ;
$ ^& N% o6 w) }  N0 U5 r6 G  abegin / A8 j9 w8 `4 M  a1 B7 U- ~, u
for j in 1 to 1000 loop
) D0 i* [+ @: Q, Y, V* ]clock_main <= '1' ;
2 c' n7 r4 {6 F5 Zwait for 200 ns ;: t' Z3 L" m, J) ~
clock_main <= '0' ;, x, _- o" ^# r/ Z" \" f
wait for 200 ns ;; Q' z: h8 S7 c- }" Z  C
end loop ;
& }" j/ ]. Y$ k6 C6 nend process ;
" a7 v3 t: y# E, V( w
) T% J+ N- z" _process/ C, i4 u( A- [
file vector_file : text open read_mode is "C:\modeltech_6.5g\examples\rom_ram.in" ;0 }3 ]2 P' x' u: I- V# l3 V
--file vector_file : text IS IN "C:\modeltech_6.5g\examples\rom_ram.dat" ;
7 U1 d5 t7 T% T& k- Wvariable l , l2 : line ;4 C* Q3 f- P, J3 g( K# @# G3 _
variable q  : integer := 31 ;# s  x, e! {1 G4 N3 I: \
variable count : integer ;/ v/ a, I' C% v. z9 s4 x" [' Q
--variable t_a , t_b : std_logic_vector (31 downto 0) ; 0 ~* R+ ~6 C9 U2 k# E! }# m# B
variable t_a , t_b : std_logic_vector (31 downto 0) ;
* v$ ~) \8 T' s# d; m1 x, B9 }0 _- xvariable space : character ;2 o3 P6 ?, O  Q1 ~
begin
. K8 b1 r2 G/ K* h/ E" _( r% F+ h
while not endfile(vector_file) loop
4 p1 A, [7 u& N--for count in 1 to 16 loop2 t7 q- }( r6 b
q := 31 ;
4 x) J: X4 d$ h0 O. k. [6 vreadline(vector_file , l2) ;: _7 P& v+ f& F4 r

: E  D% \9 A9 V! M/ gfor p in 0 to 31 loop -- data from RAM
8 G: Q. W/ ?) X! L: p: tread(l2 , t_b(q)) ;7 x  n6 Z0 @0 X0 r7 m+ e
q := q - 1 ;
* k$ L- `: K5 Y# M- Aend loop ;
- q; e6 b; m; p* @. Y+ c% p0 C8 P8 Lq := 31 ;
# x- R3 K$ ?) b9 G- Zdata_io <= t_b(31 downto 0) ;* W( |9 L2 N1 D3 a8 D1 @* _

, O  w( _* W7 `2 X; E$ owait for 400 ns ;7 \1 e5 y3 k- ~
end loop ;- w. ]1 _8 S: y# H3 q
wait for 8 ms ;" n/ i/ M. z% v3 z& {! o& s
--wait for 650 ns ;
( n! J9 Q: l, Q$ R9 Fend process;1 D3 |. l0 K) x) i5 i) o( F

1 J, A0 I/ ]: W; y+ e-- process to reset
: [, C# i- V% K  r. r& Yprocess
- c, T+ A1 X2 _  U' t2 v# j# ubegin
- a2 r. s. \( j  P7 [, greset <= '1' ;. R$ B5 w$ G: n8 M. W1 g, Q
enbl <= '1' ;( E) w' }% f: H- Z+ @; w
wait for 10 ns ;" ~/ ^1 e8 k  D6 [  ^
reset <= '0' ;$ u& ^3 I  M# X5 M
wait ;2 C. o1 ?( g: k+ ~0 b$ @' o
end process ;0 m5 X' |/ H' ]8 C# [7 k3 Q

5 E' Z& D4 A8 t7 L' @process
) a- O* z/ U1 f) r  i. ?$ {begin: ?$ w* \9 Z6 z3 ?; T1 D: ]
init <= '1' ;$ |3 Z9 {4 r9 k
wait for 15 ns ;
7 r5 v- z: j" N$ i" t9 j) ninit <= '0' ;* v) V( u* j3 v8 V1 R
wait ;, R( S" j; J: G3 b& D/ n  z. g5 D3 t
end process ;
+ y8 x# ?$ M8 R! l
% ]# O+ _0 O' \& R; g" ~end rtl ;
/ ?4 |1 ^" @0 ~% Q5 O4 c7 A& f) ~) B8 m8 B3 f. J

  U  l2 d0 T; y
0 Z( j  P% V. a* A& G用modelsim仿真提示如下错误:No feasible entries for subprogram "read".# h* s# t. _% j2 E, h8 @. X
如果我屏蔽read一行,则程序编程可以通过,我刚学这个,还望高手指点。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

0

主题

2

帖子

68

积分

二级会员(20)

Rank: 2Rank: 2

积分
68
2#
发表于 2012-12-18 22:00 | 只看该作者
read procedure 不支持你 t_b(q) 的 std_logic 类型。
' e$ n% B) e2 I2 K8 @7 I% v可以把 t_b(q) 的类型换一下试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-19 06:11 , Processed in 0.053550 second(s), 31 queries , Gzip On.

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

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

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