File: unconstraint.vhdl

package info (click to toggle)
fauhdlc 20180504-3.1
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 3,064 kB
  • sloc: cpp: 23,188; ansic: 6,077; yacc: 3,764; lex: 763; makefile: 605; python: 412; xml: 403; sh: 61
file content (37 lines) | stat: -rw-r--r-- 1,038 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-- $Id$ 

-- is this valid VHDL? (unconstrained array of unconstrained array)
-- doesn't seem to be valid vhdl. lrm doesn't really directly say
-- that it's not allowed, but I have found no vhdl compiler so far
-- which accepts it.

-- Copyright (C) 2008-2009 FAUmachine Team <info@faumachine.org>.
-- This program is free software. You can redistribute it and/or modify it
-- under the terms of the GNU General Public License, either version 2 of
-- the License, or (at your option) any later version. See COPYING.


package t is 
	type byte is array(integer range <>) of bit;
	type memory is array(integer range <>) of byte;

	function getsth(m : memory; initializer : bit) return bit;
end package t;

entity something is
end entity something;

use t.byte;
use t.memory;
use t.getsth;
architecture implementation of something is
begin
	x : process
		variable a : byte range 1 to 10;
		constant c : memory := ("11111111", "111111111");
		variable b : bit;
	begin
		a := "10011001";
		b := getsth(c, 1);
	end process;
end implementation;