求助!!(VHDL)
本帖最后由 donlimao 于 2011-8-25 11:45 编辑在下是新手,刚刚开始学FPGA,用的VHDL语言。
一个很简单的程序,就是设计了一个东西,只有输入和输出端口,输入端口数值为一个常数,然后经过输出端口到MSP430中去。可是经检测发现在输出端口的数值不是我想要的值,而且还被锁死了,始终是(10010110)二进制。下面程序:(请各各高手帮帮忙!小子感激涕零!)但用QuartusII仿真正常。
library ieee;
use ieee.std_logic_1164.all;
USE IEEE.Std_Logic_Unsigned.ALL;
USE IEEE.Std_Logic_Arith.ALL;
ENTITY abc IS
PORT
(
DataIN: IN Std_Logic_Vector(7 DOWNTO 0); --数据线
DataOUT: OUT Std_Logic_Vector(7 DOWNTO 0) --数据线
);
END abc;
ARCHITECTURE Action OF abc IS
BEGIN
process (datain)
begin
DataOUT <= DataIN;
end process;
end Action; 建议根据仿真波形好好检查一下源代码和测试代码!!!!!!!!!! 你要的是一个输入直接等于输出?如果这样没必要加IEEE.Std_Logic_Arith.ALL;和process进程,而且这么写的RTL图你看过嘛?建议你加时钟信号进行总体控制。 锁死的原因是你的进程写的有点儿问题。。
你肯定是第一次输入的数据就让锁在里面了,没法变,只有重启板子才行。。。
fpga 一般用时钟控制,复位键也可以弄上,所以管脚你自己加
建议改下进程
process(clk,datain)
begin
if rising_edge clk then
data_out<=data_in;
end process; 谢谢,各位大大!! 呵呵,互相学习嘛!!!!!!!!! 高手云集啊 !!!!! 对,要加时钟
页:
[1]