找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

1

主题

9

帖子

122

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
原程序如下:% u, \  f3 U2 O
library ieee ;
$ Y& l& a6 b" U$ n6 }! P  O6 Buse ieee.std_logic_1164.all ;7 z' w( O; D$ S3 j+ s8 N
use ieee.std_logic_arith.all ;
6 ~2 p, P, K; h' }use work.butter_lib.all ;$ b2 G$ R8 w5 W1 ]9 n% s, U
use ieee.std_logic_unsigned.all ;
$ r# f$ c# M/ ^: A) V2 Guse std.textio.all;5 N$ ^# |, c! h# E! Q
+ M) U* s4 a* X% |9 r
entity synth_test is$ z2 u# X" S# z2 p) s8 v
end synth_test ;
. r" o+ B% w( Y0 g1 e: M* h% I3 U/ E& N( h( N2 f
architecture rtl of synth_test is + @9 t: d9 L$ \! b+ ~
component synth_main: ^9 s# F- ~' L: e0 A# }2 k: K
port(
5 u! u0 j  B9 i7 Z- D              data_io : in std_logic_vector(31 downto 0);
# z" l3 `- A, x! U      final_op : out std_logic_vector(31 downto 0) ;
! A5 @9 f# v: p7 S* o      clock_main,clock,enbl,reset,init : in std_logic
+ G  E4 Y8 k& F: M& R0 T# X% T- q    );. d7 m# i4 O% D  G  T, j7 E
end component;- [- M( Z9 P  p- x. c8 R
signal data_io : std_logic_vector(31 downto 0);0 `$ Z& p& n5 x: V3 |
signal final_op : std_logic_vector(31 downto 0) ;+ V$ s; P  }8 y+ ?/ \& L
signal clock_main,clock,enbl,reset,init :std_logic;
7 d+ L+ p1 o5 E0 i: w: D- V3 U: R. G9 Z, |) f# t
begin
8 w& A5 a* F5 P4 V3 ^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);
" ?+ {4 L3 t% \1 q# ^- S5 Y, z8 b. Z  H& `
process$ H" e) q4 N6 F, O  C  o
variable i : integer := 0 ;
3 c; d$ M# G1 v; T% n5 Z5 u) ]- L, @begin ; [& E( _2 I" D! o% g6 d1 }# }
for i in 1 to 1000 loop ; h. F1 J" k7 y; o5 h* D) Q
clock <= '1' ;
( A* P' S3 ~2 J0 @" vwait for 5 ns ;7 q3 n# m) {( k7 D
clock <= '0' ;
" y! v& s# h% m0 ywait for 5 ns ;/ z' X2 ~& L" K0 u! Y; m# J
end loop ;
3 o5 A2 o2 L5 i. Bend process ;
8 |5 F2 o- b. E! q4 ?7 Z" e$ a3 h9 ]. Q: O
process. B* U' q. o2 Y8 r1 P
variable j : integer := 0 ;
% m1 r. c$ i/ M9 Q6 nbegin
' i; k0 C2 v, Y2 K8 m8 ]for j in 1 to 1000 loop - ^! B& ?/ ?* ~1 [
clock_main <= '1' ;, n* k  L! m# d: \1 C* j
wait for 200 ns ;3 d* h' Z  I2 B
clock_main <= '0' ;
$ [. F9 I1 h& {7 o, D, q  Twait for 200 ns ;
& T% M: b* r: g; x* q9 Eend loop ;
0 t; p. C9 F9 P, H1 w1 i( send process ;8 {; d2 d" ~' S/ P9 L7 _
, T1 L; p! R7 T' O& h. c: ?
process  X7 |2 W  I, w' k. {
file vector_file : text open read_mode is "C:\modeltech_6.5g\examples\rom_ram.in" ;
" L; s6 T7 e" F0 Y- P--file vector_file : text IS IN "C:\modeltech_6.5g\examples\rom_ram.dat" ;
$ D- R. s% `' h) e0 U- a' Nvariable l , l2 : line ;- n7 j5 K$ h# t
variable q  : integer := 31 ;" Q  }! u: `' u& R7 L3 Q. h6 m
variable count : integer ;7 X$ i1 n7 |! H& }6 p
--variable t_a , t_b : std_logic_vector (31 downto 0) ;
; U, ^$ R' S8 d/ N  [" M) cvariable t_a , t_b : std_logic_vector (31 downto 0) ; , q* f$ j% `( l, }- `+ b
variable space : character ;
# Y) P! {2 g& N4 v: g4 ?  ?( L3 Sbegin
8 ?* u; I8 y1 W# g/ K# K
8 `' p, c4 U, @+ R* ]! Dwhile not endfile(vector_file) loop
" [6 C& D2 C# `9 R7 I--for count in 1 to 16 loop9 \5 m0 m( i% c) G) t9 ]9 U
q := 31 ;
7 r# C6 V0 ~% A- Zreadline(vector_file , l2) ;+ J# _4 A* C% N, O; }" k7 b
$ X& F9 w- G3 n+ ]
for p in 0 to 31 loop -- data from RAM0 b7 I& T9 C7 M2 O) ?8 |
read(l2 , t_b(q)) ;
6 W7 j# i. P( ~; v% hq := q - 1 ;, B$ t# U6 R# L3 j' E$ a
end loop ;/ R$ i, h9 a7 ~. c
q := 31 ;; h9 E9 m3 _+ S% ?) c, G; h
data_io <= t_b(31 downto 0) ;
6 H* {3 D; h& x: f% W& W2 A7 w: R- ?4 [2 S
wait for 400 ns ;
% _$ }- H! u+ l9 R7 g( Fend loop ;
: ]$ f" J( V2 hwait for 8 ms ;
# L8 T: i- v) \$ g/ Z3 `8 x* N6 C--wait for 650 ns ;
& U; Z) o  H+ h# t: k, hend process;9 J# v5 k. m* D0 x

3 K: V: f& j2 N& {-- process to reset
* O! S) K+ _% p1 zprocess  E/ N  N, ^) P
begin7 k. K6 w( t3 `/ i+ y- I3 x% H
reset <= '1' ;3 p& D* D- o+ C. j, X# }
enbl <= '1' ;
* Y- c" J7 }, J( x8 o. E& Cwait for 10 ns ;
) o% F- y" B4 H5 z! hreset <= '0' ;! x: _6 x0 Q$ x3 L0 [  Y
wait ;9 v) B. ~! H- D5 [& R! K- t' R& `
end process ;% A- Z6 b& C# S$ M0 B, l
8 j% m4 N0 Q9 r! r
process0 ]. A9 J, {( i# o, |- j% @* x& i
begin8 c" D1 p, @; r) {! X1 F+ h
init <= '1' ;
( Y* U8 ]9 O2 @# k  W8 C, j. Gwait for 15 ns ;. C9 i4 o) j$ F/ k
init <= '0' ;
0 P9 }) C, g1 K# G8 W8 ]" ~wait ;
- V2 p: K/ u  J$ ]. Vend process ;% t& u; h' d  K% @4 Y- l

6 l& S+ @. \5 v) cend rtl ;* S, O4 d& H8 e8 p
5 I& s  y% a+ W6 p
1 j% D3 p0 z7 ]
( L3 R& E/ R4 c) R: u1 R
用modelsim仿真提示如下错误:No feasible entries for subprogram "read".
2 R# k# h) o% S2 J% c3 P7 Q2 S* i如果我屏蔽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 类型。' `" g/ _. V* i, @; T
可以把 t_b(q) 的类型换一下试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

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

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

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

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