找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

1

主题

9

帖子

122

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
原程序如下:2 Z" _6 P/ h+ k; X
library ieee ;' E. Z3 z; s' R4 [  W6 T( b3 l
use ieee.std_logic_1164.all ;9 `2 l$ J% y4 e7 _
use ieee.std_logic_arith.all ;) A/ ^. f6 F) c1 \, _8 D
use work.butter_lib.all ;0 L  E4 D4 b; V) J7 u
use ieee.std_logic_unsigned.all ;3 B  }9 u" W5 V7 I# _1 O
use std.textio.all;
; G* `. A: c( H: C- h$ D7 T; O* A; H  G( B% G9 F" L
entity synth_test is7 y9 e- _1 B5 p3 `! |/ \
end synth_test ;
$ O7 r% A9 ?- X- d0 M* C/ [9 Z/ O
- l$ @% [+ k4 `8 L( narchitecture rtl of synth_test is
  f0 p& E1 D: _; ^component synth_main3 _/ B* B  E9 F6 y* i6 E2 i
port(
. A: n+ _# W7 y; h              data_io : in std_logic_vector(31 downto 0);
3 p+ {  Z, c3 K/ L4 o      final_op : out std_logic_vector(31 downto 0) ;7 d" t% X5 J1 w/ T5 B0 F) Y
      clock_main,clock,enbl,reset,init : in std_logic+ J, d$ r2 V2 ^0 ]" m3 E
    );
) G  C3 I2 h/ z& E. @! ^end component;8 j2 W, M( {3 ~
signal data_io : std_logic_vector(31 downto 0);
' `  w- t  ?1 R) A' c9 xsignal final_op : std_logic_vector(31 downto 0) ;* C5 D0 C- A% K9 O! S' H/ {5 a. K
signal clock_main,clock,enbl,reset,init :std_logic;
' N! R% r$ i+ v0 F" d& `' L, B3 F2 s7 ^3 O9 j( _
begin7 X5 P" o0 V' s  \
dut:synth_main port map(data_io=>data_io,final_op=>final_op,clock_main=>clock_main,clock=>clock,enbl=>enbl,reset=>reset,init=>init);! s% \/ h# N4 a* i& L6 V! c& U/ p

( n" d8 [: _) K; Sprocess
% Q6 y6 ], s) F8 ?$ ?variable i : integer := 0 ;% R1 Q- K( u4 e/ A* m3 G# v
begin
- }# ~" [0 Y* ?5 {5 Ifor i in 1 to 1000 loop . D) L% w. v7 {. @  Z& `* d
clock <= '1' ;
- a$ \. [" i, e/ |# y9 _; s. zwait for 5 ns ;
& G  Z, B, d) I( j8 r8 mclock <= '0' ;- P3 L' N* G) L$ h7 m# S
wait for 5 ns ;$ E, D: y1 A% l, a
end loop ;
/ Z9 g# |5 e" H; K: e' @; Y% Nend process ;
$ |5 n  V' M( |/ X/ j4 w; q9 A  @, L0 F
process
5 g" d( B$ B9 y: v5 U% @variable j : integer := 0 ;* d+ |) R' n& r$ }
begin   y) f" j- `* m6 t6 z2 I) Q2 |9 c
for j in 1 to 1000 loop * s" Y5 j2 [+ y# `% R3 P  C% O0 H
clock_main <= '1' ;
$ b. O( F# o# S; qwait for 200 ns ;7 L$ O5 ], B; J  y! i5 k
clock_main <= '0' ;! O$ r1 X8 B0 t) h( c
wait for 200 ns ;
$ b2 O5 o9 B. j$ h$ pend loop ;
$ L+ g) p* m5 N$ S; fend process ;
5 v  G  \2 O+ Q# i! c' F
1 l" E# Y: J' A! c6 ]process: w- L$ t' G: R
file vector_file : text open read_mode is "C:\modeltech_6.5g\examples\rom_ram.in" ;
/ p: [( a! V1 X* `" g--file vector_file : text IS IN "C:\modeltech_6.5g\examples\rom_ram.dat" ;
$ `% v0 Q1 z4 Z$ M5 t1 s2 U! _2 x: Nvariable l , l2 : line ;
: Y) A3 t1 m: {/ e$ N1 d# @variable q  : integer := 31 ;
" a$ [2 ^" W3 N5 o; u4 jvariable count : integer ;
5 s4 S% M8 e( I* t--variable t_a , t_b : std_logic_vector (31 downto 0) ; . B1 Q! ], z9 n  l; W! V5 M; H
variable t_a , t_b : std_logic_vector (31 downto 0) ; ; n9 F+ @# j9 S) }) G2 }% @* i2 m
variable space : character ;" S+ v6 h3 i% S% I( c; `# m
begin
3 r" ?8 ?$ i. @2 n
" ^$ M) |7 S9 X1 ywhile not endfile(vector_file) loop
8 @: _% b1 A& t. n--for count in 1 to 16 loop
9 c7 Q. g3 Z/ S' g* p: w5 hq := 31 ;
8 ~) z0 |/ |) i& A, Lreadline(vector_file , l2) ;3 B, B" M) T# n6 {9 Z# p" T4 x
/ E% l  q6 b; w% ]  W; T6 M* R
for p in 0 to 31 loop -- data from RAM
$ p- B% i2 x3 r0 q$ H  }% @- L3 j# vread(l2 , t_b(q)) ;* ]  k: B* \. A% @( c
q := q - 1 ;
: b3 w( E, j1 Q) u& Mend loop ;
6 l6 H# e3 W- i/ g: ?2 r/ tq := 31 ;" r4 o# W- b+ {- h5 ^5 Q# q
data_io <= t_b(31 downto 0) ;
0 k7 l  I, x( E* B
8 c$ H" r) B: n8 e* P7 I6 m! T, ~wait for 400 ns ;1 m. ^! q$ [5 e8 A  D5 F
end loop ;8 `. P/ d% t* t8 e3 L  G
wait for 8 ms ;7 l+ [, C) Q# v/ d
--wait for 650 ns ;* Q" W  \# B* w# K0 C4 A
end process;
/ l* B5 l$ J; d8 e* X0 u/ Y1 }6 m" B7 @: x! f; D
-- process to reset
- U& k! D4 D9 d& G& zprocess
" h3 f( W4 z6 z7 z. s& r- G2 U. dbegin
" M6 z$ _9 E2 J! ^reset <= '1' ;
& u" H2 P9 m. Y! N+ ^9 V3 wenbl <= '1' ;- f# p3 w+ Q# B: a, y
wait for 10 ns ;! v+ t6 D( F9 X- }
reset <= '0' ;( d4 [: n* q+ b' P  x
wait ;) f+ Q1 [. |% p7 X+ O. x/ G
end process ;
, o: y( i. R" t/ [2 R
3 T% Z; T) ]1 l- P" x- jprocess- v9 c: e( }- k6 f
begin0 X! Q. ~3 J; e, L! T9 t
init <= '1' ;. ?) }' m! K3 E3 P: C# z
wait for 15 ns ;
" p8 Q, @" ^9 K7 |init <= '0' ;
2 _$ O* ?9 k, k4 T) }wait ;
8 }% q4 _% {0 U9 B% ?end process ;2 w9 }; G! @0 ~8 @& m" {! N

% d' V" W' e1 Z0 Cend rtl ;
3 w/ R8 c' _! ^7 B6 M1 j7 ?
8 `9 c2 B5 z; x& q! ^5 {  V/ |% ~7 v; D! g4 A
: ^3 Q3 s/ D# h7 B8 o' n
用modelsim仿真提示如下错误:No feasible entries for subprogram "read".
# Z% P9 z- W) y! B. C如果我屏蔽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 类型。
0 E* b) G* C: m2 a; E可以把 t_b(q) 的类型换一下试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-28 00:09 , Processed in 0.066422 second(s), 32 queries , Gzip On.

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

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

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