【发布时间】:2014-09-27 18:03:55
【问题描述】:
我是初学者,但仍然不敢相信我无法编写如此简单的代码来工作。 我有 Digilent Nexys2 FPGA,编程 xilinx ISE 我的目标是在两个不同的七段显示器上打印数字“2”和“1”(我想用眼睛看到“21”。A、B、C、D、E、F、G、P 是显示器的led(kathodes),AN0和AN1是显示器的阳极,0亮)。
我试图在那里投资的逻辑是,FPGA 将如此快速地重复这个“过程”,以至于我的眼睛只能检测到灯亮。 我认为我应该将 clk 放入进程敏感度列表的原因是每次时钟发生变化时,它都会进入进程并执行我的命令,对吗? 我在这里犯了什么逻辑错误? 我试图做出 if else 语句,其中 IFrising_edge (clk) then "1" 将显示 else "2" 但它仍然导致一些错误.. 到底是什么?我应该让这个过程计时吗?
这是我想合成它时收到的警告
WARNING:Xst:647 - Input <clk> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
这是我在尝试生成编程位文件时收到的警告
WARNING:PhysDesignRules:367 - The signal <clk_IBUF> is incomplete. The signal does not drive any load pins in the design.
WARNING:Par:288 - The signal clk_IBUF has no load. PAR will not attempt to route this signal.
WARNING:Par:283 - There are 1 loadless signals in this design. This design will cause Bitgen to issue DRC warnings.
WARNING:PhysDesignRules:367 - The signal <clk_IBUF> is incomplete. The signal does not drive any load pins in the design.
和
这是 UCF- 文件:
NET "clk" LOC = B8;
NET "A" LOC = L18;
NET "B" LOC = F18;
NET "C" LOC = D17;
NET "D" LOC = D16;
NET "E" LOC = G14;
NET "F" LOC = J17;
NET "G" LOC = H14;
NET "P" LOC = C17;
NET "AN0" LOC = F17;
NET "AN1" LOC = H17;
NET "AN2" LOC = C18;
NET "AN3" LOC = F15;
这里是代码本身:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity disp is
Port (
clk : in STD_LOGIC;
A : out STD_LOGIC;
B : out STD_LOGIC;
C : out STD_LOGIC;
D : out STD_LOGIC;
E : out STD_LOGIC;
F : out STD_LOGIC;
G : out STD_LOGIC;
P : out STD_LOGIC;
AN0 : out STD_LOGIC;
AN1 : out STD_LOGIC;
AN2 : out STD_LOGIC;
AN3 : out STD_LOGIC
);
end disp;
-- main idea: writing "21" on seven segment display.
architecture BEHAV of disp is
begin
process (clk)
begin
--writing '1' ( AN0 is on )
AN0 <='0';
AN1 <='1';
AN2 <='1';
AN3 <='1';
A <='1';
B <='0';
C <='0';
D <='1';
E <='1';
F <='1';
G <='1';
P <='1';
--writing '2' ( AN1 is on )
AN0 <='1';
AN1 <='0';
AN2 <='1';
AN3 <='1';
A <='0';
B <='0';
C <='1';
D <='0';
E <='0';
F <='1';
G <='0';
P <='1';
end process;
end BEHAV;
【问题讨论】:
标签: vhdl