|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 xunledelang 于 2010-7-18 21:55 编辑
我在用textio读取256*256图片灰度值数据(整数类型的txt文本),为何第一个数总不对,是-2147483648,其余的都是正确的。
library ieee;
USE STD.TEXTIO.ALL;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
USE IEEE.STD_LOGIC_TEXTIO.ALL;
entity textio256 is
port(
clk : in std_logic;
data_out: out integer
);
end textio256;
architecture TB of textio256 is
type memory is array( 0 to 65536 ) of integer;
--type memory is array( 0 to 65535 ) of integer;
begin
ReadData: process
file file1 : text open read_mode is "lena_65536.txt";
variable rom: memory;
variable startup:BOOLEAN:=TRUE;
variable line1 : line;
--variable i : integer range 0 to 65536 := 0;--不用再此进行初始化
variable i : integer;
begin
--if ((clk = '1') and (clk'event)) then--延后一个时钟读取数据
if startup then
--wait until ((clk = '1') and (clk'event));
for i in rom'range
loop
--wait until ((clk = '1') and (clk'event));--放到这里,第一个数也是错的
readline(file1,line1);
read(line1,rom(i));
data_out <= rom(i);--第36行
end loop;
startup:=false;
--data_out <= rom(i);--放到这里不对,没有输出
wait until ((clk = '1') and (clk'event));--放到这里,第一个数也是错的
end if;
end process;
end TB; |
|