完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用VHDL编写的程序,Modelsim跑前后仿真都没有问题。下载到片子上怎么都没结果。后来考虑可能是没有进状态机,试着用LED发现没有状态转移。后来编写了一个最基本的状态机程序,发现也是同样问题。
程序如下: library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values --use IEEE.NUMERIC_STD.ALL; -- Uncomment the following library declaration if instantiating -- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity ProgramTest is Port ( Clk, Reset : in STD_LOGIC; LED1,LED2 : out STD_LOGIC); end ProgramTest; architecture Behavioral of ProgramTest is type tateType is (stIdle, stLed, stComplete); signal StateType: PresState; signal StateType: NextState; signal oLed1, oLed2: std_logic; begin process (Clk, Reset) begin if rising_edge(Clk) then if Reset = '1' then PresState <= Idle; else PresState <= NextState; end if; end if; end process; process (PresState) begin case PresState is when stIdle => oLed1<= '1'; NestState <= stLed; when stLed => oLed2 <= '1'; NextState <= stComplete; when stComplete => NextState <= Idle; end case; end process; end Behavioral; LED上拉到3.3V,因此高电平的时候LED灯不亮。下载到片子后,LED1灯不亮,LED2灯亮,说明状态机没进入第二个状态。请大侠指教一下!! |
|
相关推荐
1个回答
|
|
本帖最后由 钟哥30 于 2017-11-20 08:41 编辑
FPGA复位好像是低有效吧,if Reset = '1' then改成if Reset = '0' then |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1634 浏览 1 评论
1396 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1608 浏览 0 评论
937 浏览 0 评论
2404 浏览 0 评论
1490 浏览 37 评论
5691 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 06:16 , Processed in 0.724809 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号