首页 新闻资讯 技术资料 论坛 网站地图
存储器 综合电子技术 嵌入式硬件 军工/航空航天 测试测量 安防产品 工业控制
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  求救VHDL牛逼的来帮帮忙
出处:综合电子论坛 时间: 2006-06-03
lixiaomin96 发布于 2006-5-30 20:43:00
表情求救VHDL牛逼的来帮帮忙
谁能把下面这个VHDL程序变换成能用MAX+PLUSⅡ仿真的VHDL程序啊求求各位大哥了!!!帮帮忙!!

library IEEE;
use IEEE.std_logic_1164.all;

entity Vsvale is
  port ( CLOCK,RESET,NSCAR,EWCAR,TMSHORT,TMLONG: in  STD_LOGIC;
         OVERRIDE,FLASHCLK:                      in  STD_LOGIC;
         NSRED,NSYELLOW,NSGREEN:                 out STD_LOGIC;
         EWRED,EWYELLOW,EWGREEN,TMRESET:         out STD_LOGIC );
end;

architecture Vsvale_arch of Vsvale is
type Sreg_type is (NSGO,NSWAIT,NSWAIT2,NSDELAY,
                   EWGO,EWWAIT,EWWAIT2,EWDELAY);
signal Sreg: Sreg_type;
begin

process (CLOCK)
begin
  if CLOCK'event and CLOCK ='1'then
    if RESET = '1' then Sreg <= NSDELAY; else
      case Sreg is
        when NSGO =>
          if    TMSHORT='0' then Sreg <= NSGO;
          elsif TMLONG='1'  then Sreg <= NSWAIT;
          elsif EWCAR='1' and NSCAR='0' then Sreg <= NSGO;
          elsif EWCAR='1' and NSCAR='1' then Sreg <= NSWAIT;
          elsif EWCAR='0' and NSCAR='1' then Sreg <= NSWAIT;
          else                               Sreg <= NSGO;
          end if;
        when NSWAIT  => Sreg <= NSWAIT2;
        when NSWAIT2 => Sreg <= NSDELAY;
        when NSDELAY => Sreg <= EWGO;
        when EWGO =>
          if    TMSHORT='0' then Sreg <= EWGO;
          elsif TMLONG='1'  then Sreg <= EWWAIT;
          elsif NSCAR='1' and EWCAR='0' then Sreg <= EWGO;
          elsif NSCAR='1' and EWCAR='1' then Sreg <= EWWAIT;
          elsif NSCAR='0' and EWCAR='1' then Sreg <= EWWAIT;
          else                               Sreg <= EWGO;
          end if;
        when EWWAIT  => Sreg <= EWWAIT2;
        when EWWAIT2 => Sreg <= EWDELAY;
        when EWDELAY => Sreg <= NSGO;
        when others  => Sreg <= NSDELAY;
      end case;
    end if;
  end if;
end process;
TMRESET  <= '1' when Sreg=NSWAIT2 or Sreg=EWWAIT2 else '0';
NSRED    <= FLASHCLK when OVERRIDE='1' else
            '1' when Sreg/=NSGO and Sreg/=NSWAIT and Sreg/=NSWAIT2 else '0';
NSYELLOW <= '0' when OVERRIDE='1' else
            '1' when Sreg=NSWAIT or Sreg=NSWAIT2 else '0';
NSGREEN  <= '0' when OVERRIDE='1' else '1' when Sreg=NSGO else '0';
EWRED    <= FLASHCLK when OVERRIDE='1' else
            '1' when Sreg/=EWGO and Sreg/=EWWAIT and Sreg/=EWWAIT2 else '0';
EWYELLOW <= '0' when OVERRIDE='1' else
            '1' when Sreg=EWWAIT or Sreg=EWWAIT2 else '0';
EWGREEN  <= '0' when OVERRIDE='1' else '1' when Sreg=EWGO else '0';
end Vsvale_arch;



liurong82 发布于 2006-6-3 10:21:00
表情

我可以帮你做!qq179382032


关闭】 【打印
相关专题  
嵌入式软件
开发工具
电源系列
数控系统
军工/航空航天
AD/DA
存储器
软件开发
综合电子技术
接口电路
传感控制
IC设计
计算机外设
嵌入式开发新闻
工业控制
汽车电子
测试测量
应用产品
安防产品
消费电子
CPLD/FPGA
通信产品
SOPC
医疗电子
嵌入式硬件

© 2007 百斯嵌入式开发网 网站地图