找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

1

主题

9

帖子

122

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
原程序如下:
  `' M% l2 p, b; P* a) ?5 Glibrary ieee ;! b7 u# k9 T; i; h4 y
use ieee.std_logic_1164.all ;
' o  X, y  c; y* ]. ~# {, ^use ieee.std_logic_arith.all ;
( |+ i% t4 K6 Puse work.butter_lib.all ;, G+ M  u9 r" R) X( X/ @
use ieee.std_logic_unsigned.all ;
6 K' L& {* p  b+ w( s) Euse std.textio.all;
* ]4 N, t/ E& I8 {4 D- {1 ]. e: `5 W2 H% K! r/ d9 Y- {9 a
entity synth_test is
$ C7 [5 z7 L! _end synth_test ;
3 l& x% U/ O$ P# l' b% N" C4 ^& m9 R& ~# `/ ?. ?$ Q
architecture rtl of synth_test is
! P& X9 R' v$ ycomponent synth_main4 ?- @# }  d& x3 k( c* ]
port(" U0 w! Q3 k0 t& H- Z7 E* a
              data_io : in std_logic_vector(31 downto 0);
+ }5 R# A- v4 V' p7 m, d0 \      final_op : out std_logic_vector(31 downto 0) ;
; x4 P: R, S( s      clock_main,clock,enbl,reset,init : in std_logic
* D( Z5 B0 l7 v! Z/ ^8 @% v. [    );% Q& g* e9 U' p+ Y& G
end component;8 Y% V  f7 r; w2 N/ R9 d0 ?
signal data_io : std_logic_vector(31 downto 0);. k, D& g. M$ |$ o' t  t
signal final_op : std_logic_vector(31 downto 0) ;
+ U8 _1 c0 h6 z8 J( Bsignal clock_main,clock,enbl,reset,init :std_logic;. E/ F& }$ }. g" B$ ]" P( s4 ~6 ?
$ u* g% Y, M, j
begin/ p: v4 {0 o/ o; f% N9 y/ L
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);
- c! w/ j. s; S0 K+ _/ T2 e2 e
/ }! M; F$ N% q" w% `- w  xprocess
) Y+ H+ ^' ]* v& W( v5 Qvariable i : integer := 0 ;
% r3 K" F" K, J! l0 rbegin
$ @1 T; f' r  h; R/ n, Jfor i in 1 to 1000 loop
5 f4 C8 G2 S% m0 ~& Dclock <= '1' ;
7 ?1 M. `9 a+ o0 F5 M8 V2 u0 F7 V; jwait for 5 ns ;
. i+ ?& M5 o& j6 [  R: cclock <= '0' ;
3 M3 T/ P+ \' U; t" uwait for 5 ns ;
; I# N7 p( e; m% i& Qend loop ;5 ]$ }6 s; L+ n  G3 P, Z
end process ;
; U8 y/ o7 I; U& n
8 x% \5 {* y- cprocess
1 {: `0 p+ l" R4 ^% v; J  z6 H( I# D; ~/ avariable j : integer := 0 ;8 z+ n/ y3 S% O" E6 D4 W3 Y
begin 2 |( V2 ]' x1 F3 h# q+ a! \
for j in 1 to 1000 loop
2 {7 S( O/ g9 H& P. Bclock_main <= '1' ;
* O$ @6 K2 \$ r& [9 n1 Vwait for 200 ns ;7 L  }) ]2 Z2 R: d# ]0 V' p/ H
clock_main <= '0' ;; y2 x* Y( }% g. D) D2 W; ]0 K
wait for 200 ns ;
, }- F5 x  u- ]$ n- Fend loop ;$ Q% M" J6 f9 b! `0 T; u/ u4 j: q3 F
end process ;
- u6 l, U; S4 R8 p( l
( f+ j0 d7 H* V( r. a4 Fprocess
0 L4 I4 q# O, k  k3 ?+ R  v) P1 |file vector_file : text open read_mode is "C:\modeltech_6.5g\examples\rom_ram.in" ;% P( u: c+ D; a( t' U0 B8 ~* {4 d
--file vector_file : text IS IN "C:\modeltech_6.5g\examples\rom_ram.dat" ;
  F+ q' p( c1 g' Q% qvariable l , l2 : line ;3 `6 h7 M% P: ~1 y; }
variable q  : integer := 31 ;
4 I, ]) o" {+ i" A2 fvariable count : integer ;
0 l. a. d# O2 W--variable t_a , t_b : std_logic_vector (31 downto 0) ;
2 g$ Z* t' i# p' v2 j( Bvariable t_a , t_b : std_logic_vector (31 downto 0) ; ! i* j: D( X2 m2 T% y7 B
variable space : character ;
- h# C8 m2 S* U9 wbegin
' }. E# D) k) d* _7 {8 x" ]8 @, Y. B, p4 [* X# y3 r
while not endfile(vector_file) loop- q7 n. \( K5 b, r9 S  [; B1 x
--for count in 1 to 16 loop
2 @( t/ p, v& c+ m& yq := 31 ;
/ {; r1 j7 v! B) d7 Z+ K3 Qreadline(vector_file , l2) ;
# J4 B* N3 Z  b+ W7 I! ?) N( I( p
for p in 0 to 31 loop -- data from RAM# J' C. ^% I; J0 I0 |6 ]5 U
read(l2 , t_b(q)) ;/ w" d  `. a- w1 d' Z7 @4 X( m; \
q := q - 1 ;
0 F4 Z( G6 r6 k6 L# U8 ?7 o6 Lend loop ;1 Y3 J$ F; R, `% E$ X
q := 31 ;/ \. T0 b% Y/ {* V, M/ @3 v9 p
data_io <= t_b(31 downto 0) ;
  N$ e4 K  S/ h: b( j2 H# s& ], Q' u2 B+ A$ I. p* h
wait for 400 ns ;
9 L- {, ], c9 Wend loop ;+ e0 N2 o0 M$ L: K
wait for 8 ms ;
3 [( ^: w# w- K- M+ @--wait for 650 ns ;  r/ l) v1 `! ?( v6 P" x" L6 ]4 [
end process;' @* C( C& R9 d9 Z/ C3 y
) _& q7 `/ ^6 J5 B: |5 C
-- process to reset( V! F4 p  {) d. K  o5 k: D
process
0 m# s- S9 ]% @  ybegin
2 i, b2 y* P0 w: B7 ]9 l) w8 ?4 G3 Ureset <= '1' ;/ x2 @4 b# I6 t& Z( A: z/ u
enbl <= '1' ;
0 r$ d  a* v5 ~wait for 10 ns ;
) Y) ^5 ]! \" J( B' j1 g, Sreset <= '0' ;  T& W. v) ]: [4 {" e* p& {* U
wait ;. ~  o8 W8 ?1 G$ d& ?8 b) G% w
end process ;
* g& X  X" [) |8 G, V) A9 i5 [
4 w" i; h4 ~9 `5 G4 N, c) y9 Q3 Lprocess2 X5 u1 G$ h0 v5 {# O/ F
begin
2 y  G; O: [3 ~0 Q, Y2 K* X% Uinit <= '1' ;
+ R( U0 q  I2 w0 F& W4 Twait for 15 ns ;8 W6 d4 h, \4 X* g
init <= '0' ;) h: `% {! V; u* A
wait ;
( N& X% c- X6 wend process ;
# b1 C6 \2 ]' H* T, i8 E; f1 k' ^9 \) H
end rtl ;+ L% e0 Z7 E* u  C8 j4 C' y5 x. [
- I0 W: _' M7 T- T
3 y4 y3 b( f" l  F4 Y) ~7 q

, {* i8 K8 ~1 [8 [/ M: ]1 O用modelsim仿真提示如下错误:No feasible entries for subprogram "read".: l" R6 m/ Q7 Y. ~7 F# Z. U0 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 类型。% u- M0 j& P( H% b% v, M
可以把 t_b(q) 的类型换一下试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 08:32 , Processed in 0.064497 second(s), 32 queries , Gzip On.

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

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

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