微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > quartus仿真问题,

quartus仿真问题,

时间:10-02 整理:3721RD 点击:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity LCD1602 is
   Port (
      CLK    : in std_logic;
      Reset  : in std_logic;
      LCD_RS : out std_logic;
      LCD_RW : out std_logic;
      LCD_EN : out std_logic;
      data   : out std_logic_vector(3 downto 0));
end LCD1602;
architecture Behavioral of LCD1602 is
   type iState is (  
         Write_instr,    --写命令字
         Write_DataUP4_1,    --写LCD一线高4位
         Write_DataDown4_1,    --写LCD一线低4位
         Set_DDRamAddUp,    --设置DDRam地址高4位
         Set_DDRamAddDown,    --设置DDRam地址低4位
         Write_DataUP4_2,    --写LCD二线高4位
         Write_DataDown4_2    --写LCD二线低4位
       );
   signal State:iState;  
   type Ram is array(0 to 15) of std_logic_vector(7 downto 0);
   constant MyRamUp:Ram:=(x"41",x"41",x"41",x"41",x"41",x"41",x"41",x"41",x"41",x"41",x"41",x"41",x"41",x"42",x"42",x"42");
                        --AAAAAAAABBB
   constant MyRamDown:Ram:=(x"42",x"42",x"42",x"42",x"42",x"42",x"42",x"42",x"42",x"42",x"42",x"42",x"41",x"41",x"41",x"41");
                        --BBBBBBBBBBAAAA
   signal   LCD_Clk : std_logic :='0';
   signal   datacnt : integer range 0 to 15:=0;
begin
   LCD_RW               --写命令字到LCD控制器  
   LCD_RS 功能设置
       data 模式设定
       data 显示设定
       data 00H 设定读写地址位
       data
   LCD_RS
   if datacnt=15 then
       data --0xc0   :   1100 0000=>40H   设定读写地址位
       LCD_RS
       data
       LCD_RS
       if datacnt=15 then
      data
       state<=Write_instr;
   
end case;
end if;
end process;
end Behavioral;
仿真不出结果,有人用这个程序弄出来了,我没弄出来

小编首先得有激励文件啊,就是写一个Testbench文件来给你的Entity产生激励,看输出响应,你所说的仿真不出结果是指什么呢?

输入的激励有点小问题,没输出常见可能有二:1,复位信号的时间小于一个时钟周期
2,时序不对,因为你第一个进程产生敏感信号驱动下面两个进程,你给的激励永远不会触发后面两个进程

输入没有激励信号  怎么会有输出呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top