FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > VHDL

VHDL comp.lang.vhdl newsgroup / Usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 08-08-2003, 12:47 PM
YesMann
Guest
 
Posts: n/a
Default Compilation error

Hello,
I have error in the process below;
My process is:

1. process(cycle)
2. begin
3. case cycle is
4.
5.
6. WHEN "000000" | "000001" | "000010" => REG <= "001000";
7. WHEN "000011" to "011101" => REG <= "000000";
8. WHEN "011110" | "011111" | "100000" => REG <= "001010";
9. WHEN "100001" => REG <=
"000010";
10. WHEN "100010" | "100011" | "100100" => REG <= "001101";
11. WHEN "100101" to "101000" => REG <= "000101";
12.
13. WHEN OTHERS => REG <="000000";
14.
15. end case;
16. end process;

The line 7 and 11 are considered as error : " Range must be a scalar type".
What can I specified the range "000011" to "011101" in VHDL language ?

Thanks in advance


Reply With Quote
  #2 (permalink)  
Old 08-08-2003, 01:19 PM
Jonathan Bromley
Guest
 
Posts: n/a
Default Re: Compilation error


"YesMann" <[email protected]> wrote in message
news:[email protected]..

[...]
> 3. case cycle is

[...]
> 7. WHEN "000011" to "011101" => REG <= "000000";

[...]

> The line 7 and 11 are considered as error : " Range must be a scalar

type".
> What can I specified the range "000011" to "011101" in VHDL language ?


You can't. However, you are using these values rather like numbers,
so it may be easier to convert them to integers for use in the case
statement:

case to_integer(cycle) is
...
when 3 to 29 => REG <= "000000";
...

Of course, the precise form of "to_integer" depends on what
numeric packages you are using, and the data type of "cycle".
If "cycle" is the output of a counter, and you have been
sensible and used ieee.numeric_std, and cycle is of type
UNSIGNED, then to_integer() is correct.


Reply With Quote
  #3 (permalink)  
Old 08-08-2003, 02:51 PM
YesMann
Guest
 
Posts: n/a
Default Re: Compilation error



> case to_integer(cycle) is
> ...
> when 3 to 29 => REG <= "000000";
> ...
>
> Of course, the precise form of "to_integer" depends on what
> numeric packages you are using, and the data type of "cycle".
> If "cycle" is the output of a counter, and you have been
> sensible and used ieee.numeric_std, and cycle is of type
> UNSIGNED, then to_integer() is correct.

_______________________________

Thanks you for your response;
But if I process as your description, I have another message error:
"Type error in range expression";
What happened?

Thanks in advance




Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
mb-g++ compilation error with EDK 8.2.02i Bathala FPGA 0 02-13-2008 10:44 AM
MXE compilation error [email protected] FPGA 0 03-16-2007 04:09 PM
Error 10170 syntax error during compilation Jughead Verilog 3 08-28-2006 08:32 AM
Compilation error YesMann FPGA 2 08-08-2003 02:51 PM


All times are GMT +1. The time now is 01:23 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved