在下是新手,刚刚开始学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;
锁死的原因是你的进程写的有点儿问题。。
你肯定是第一次输入的数据就让锁在里面了,没法变,只有重启板子才行。。。
fpga 一般用时钟控制,复位键也可以弄上,所以管脚你自己加
建议改下进程
process(clk,datain)
begin
if rising_edge clk then
data_out<=data_in;
end process;