打印
[VHDL]

cpld写lcd的时序,第一次写vhdl,大家帮忙看看有问题没

[复制链接]
1813|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
zhubright|  楼主 | 2013-9-18 13:00 | 只看该作者
这是时序,,T4=200ns,    T3=400ns,T3起始到T6起始的间隔为100ns,用的时钟周期是50ns.

360截图20130916194318015.jpg (12.66 KB )

360截图20130916194318015.jpg

使用特权

评论回复
板凳
zhubright|  楼主 | 2013-9-18 13:01 | 只看该作者
第一次写程序,对时序懵懵懂懂的,希望得到指点
这是程序
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity lcd is
  PORT ( LCD_RST: in std_logic;
         LCD_DIN: in std_logic_vector(7 downto 0);
LCD_CLK: in std_logic;
LCD_A0 : out std_logic;
LCD_A1 : out std_logic;
LCD_WR : BUFFER std_logic;
LCD_RD : out std_logic;
LCD_CS : BUFFER std_logic;
LCD_D  : out std_logic_vector(7 downto 0)
);
end lcd;
architecture Behave of lcd is
SIGNAL SIG_CON: integer range  0 to 15;
BEGIN
   process(LCD_RST,LCD_CLK,SIG_CON)
begin
   LCD_RD<='1';  ---读信号始终无效,只写不读
LCD_CS<='0';  ---片选信号可以一直是低吧?????????
if( LCD_RST='0' )then
if(LCD_CLK'event and LCD_CLK='0') then----------这里改成上升沿也行么????????
         SIG_CON <= SIG_CON + 1;
    end if;
if (SIG_CON=3) then
     LCD_D<=LCD_DIN;
end if;
IF (SIG_CON=5) THEn
      SIG_CON<=0;
   LCD_WR<=  NOT LCD_WR;
end if;
else   LCD_D <= "00000000";
end if;
end process;
end Behave;             

使用特权

评论回复
地板
GoldSunMonkey| | 2013-9-18 21:25 | 只看该作者
zhubright 发表于 2013-9-18 13:01
第一次写程序,对时序懵懵懂懂的,希望得到指点
这是程序
library IEEE;

还是仿真一下吧

使用特权

评论回复
5
GoldSunMonkey| | 2013-9-18 21:25 | 只看该作者
我现在没有心思看代码了

使用特权

评论回复
6
huangxz| | 2013-9-18 23:20 | 只看该作者
GoldSunMonkey 发表于 2013-9-18 21:25
我现在没有心思看代码了

VHDL是比较难看懂的。

使用特权

评论回复
7
EDAbuffalo| | 2013-11-8 21:50 | 只看该作者
很多错。。看别人写的代码比看自己的麻烦的多啊。同意猴哥。。仿真一下全搞定

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

244

帖子

1

粉丝