VHDL之User-defined data types

VHDL allows the user to define own data types.

1 user-defined integer types  

-- This is indeed the pre-defined type integer
type integer is range -2147483647 to +2147483647;

-- indeed the pre-defined type natural
type natural is range 0 to +2147483647;

-- user-defined subset of integers
type my_integer is range -32 to 32;

-- user-defined subset of integers or naturals
type student_grade is range 0 to 100;

2 user-defined enumerated types

-- This is indeed the pre-defined type BIT
type bit is (‘0‘,‘1‘);

-- user-defined subset of std_logic
type my_logic is (‘0‘,‘1‘,‘Z‘);

-- indeed the pre-defined type of BIT_VECTOR
-- range <> is used to indicate that the range is unconstrained
-- NATURAL range <> indicate the range must fall within the NATURAL range
type BIT_VECTOR is array (NATURAL range <>) of BIT;

-- an enumerated data type, typical of finte state machines
type state is (idle, forward, backward, stop);

-- another enumerated data type
type color is (red, green, blue, white)

  The encoding of enumerated types is done sequentially and automatically. For example, for the type color above, two bits are necessary (there are four states), being ‘‘00’’ assigned to the ?rst state (red), ‘‘01’’ to the second (green), ‘‘10’’ to the next (blue), and ?nally ‘‘11’’ to the last state (white).

时间: 2024-11-03 05:41:39

VHDL之User-defined data types的相关文章

C++ Data Types

Primitive Built-in Types: C++ offer the programmer a rich assortment of built-in as well as user defined data types. Following table lists down seven basic C++ data types: Type  Keyword Boolean bool Character char Integer int Floating point float Dou

Data Types

原地址: Home / Database / Oracle Database Online Documentation 11g Release 2 (11.2) / Database Administration Data Types Each value manipulated by Oracle Database has a data type. The data type of a value associates a fixed set of properties with the va

Data Types in the Kernel &amp;lt;LDD3 学习笔记&amp;gt;

Data Types in the Kernel Use of Standard C Types /* * datasize.c -- print the size of common data items * This runs with any Linux kernel (not any Unix, because of <linux/types.h>) * * Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet * Copyr

Data Types in Java

In Java, Data types are classified into two categories: 1. Primitive Data Type 2. Non-Primitive Data Type there are 8 primitive data types: char boolean byte short int  long  float double 8 primitive can be classfiied into 4 groups; group 1: Integer

Data Types in the Kernel &lt;LDD3 学习笔记&gt;

Data Types in the Kernel Use of Standard C Types /* * datasize.c -- print the size of common data items * This runs with any Linux kernel (not any Unix, because of <linux/types.h>) * * Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet * Copyr

Oracle Schema Objects——Tables——Oracle Data Types

Character Data Types 字符数据类型 Character data types store character (alphanumeric) data in strings. 字符数据类型存储在字符串中的字符 (字母或数字) 数据. The most commonly used character data type is VARCHAR2, which is the most efficient option for storing character data. 最常用的字

高性能MySQL笔记-第4章Optimizing Schema and Data Types

1.Good schema design is pretty universal, but of course MySQL has special implementation details to consider. In a nutshell, it’s a good idea to keep things as small and simple as you can. MySQL likes simplicity, and so will the people who have to wo

【翻译】苹果官网的命名规范之 Naming Properties and Data Types

苹果官方原文:Naming Properties and Data Types 前言:纯属练习英语和学习.翻译错误和不通顺的地方敬请谅解和指正.O(∩_∩)O 属性和数据类型的命名 本节讲述了属性定义.变量.常量.通知和异常的常用命名规范. l 定义属性和变量 一个属性定义会影响该属性的访问方法的定义.所以属性的命名规范大体上和访问器(getter,setter)的命名规范是一致的.如果一个属性是表达一个名词或者动词,那么定义如下: @property(…) type nounOrVerb 例如

【12c】扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE

[12c]扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE 在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字符的大小会降低对LOB 数据类型的使用.为了启用扩展字符大小,你必须将MAX_STRING_SIZE的初始数据库参数设置为EXTENDED. 要使用扩展字符类型需要执行以下过程: 1.关闭数据库 2.以升级模式重启数据库3.更改参数: ALT