导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→LIBRARY IEEE;                 

* 59091: 编译错误请教

   dali_ly 
dali_ly发表的帖子 

 
LIBRARY IEEE;                     
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.ALL;
USE IEEE.Std_logic_unsigned.ALL; 

Entity part1 is 
 Port
 (
    busy  : IN   std_logic;
    data_ad : in   STD_LOGIC_VECTOR(15 DOWNTO 0);
       data  : out  STD_LOGIC_VECTOR(15 DOWNTO 0)
 );
end part1; 

architecture rtl of part1 is
 signal   q1 : STD_LOGIC_VECTOR(15 DOWNTO 0) ;
 signal   q3 : STD_LOGIC_VECTOR(19 DOWNTO 0) :="00000000000000000000" ;
 signal   q4 : STD_LOGIC_VECTOR(19 DOWNTO 0) :="00000000000000000000" ;
 signal   q5 : STD_LOGIC_VECTOR(19 DOWNTO 0) :="00000000000000000000" ;
 signal   q6 : STD_LOGIC_VECTOR(19 DOWNTO 0) ;
 constant a3 : STD_LOGIC_VECTOR(19 DOWNTO 0) :="00100000000000000100";       -- -917500的二进制补码;
 constant m  : time := 1 us ;
begin 

process (busy)
 variable q2 : STD_LOGIC_VECTOR(15 DOWNTO 0) ;
begin
  if (busy'event and busy ='1') then
     q1   <= data_ad after m;

     if (q1   < "1000111101011100") then                  
       q2(15 DOWNTO 0) := "0000000000000000";
     elsif (q1>  "1010001111010110") then                 
       q2(15 DOWNTO 0) := "1111111111111110";
     else                                             -- 数值范围变换;
         q3(15 DOWNTO 0)  <=q1;
         q4(19 DOWNTO 4)  <=q3(15 DOWNTO 0);            -- 左移四位;
         q5(18 DOWNTO 3)  <=q3(15 DOWNTO 0);            -- 左移三位; 
         q6   <= q3+q4+q5+a3;                                
         q2(15 DOWNTO 0) := q6(16 DOWNTO 1);          -- 右移一位;
     end if;
  end if;

 data   <= q2(15 DOWNTO 0);
 
end process;

end rtl;

---------------------------------------------------------------------------------------------------------------------
编译已能通过,你自己看看改了哪些吧!

发表时间:2004年7月27日9:35:17

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:请把你的系统相关信息告诉我,如,是什么操作系统、用的是什么CPU等等。
[下一篇帖子]:74系列的LS158应该怎样使用74系列的158应该怎样使用,有没有中文文档可以参考,里面的prop