Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
35_bit_pack.vhd
Package: VHDLExamples.rar [view]
Upload User: yineng_xsb
Upload Date: 2021-04-29
Package Size: 365k
Code Size: 1k
Category:
VHDL-FPGA-Verilog
Development Platform:
VHDL
- package bit_pack is
- --功能是把bit_vector转换成整型
- function vec2int(vec1:bit_vector)
- return integer;
- --功能是把integer转换为bit_vector类型
- function int2vec(int1,Nbits:integer)
- return bit_vector;
- end bit_pack;
- package body bit_pack is
- function vec2int(vec1:bit_vector)
- return integer is
- variable retval:integer:=0;
- alias vec:bit_vector(vec1'length-1 downto 0) is vec1;
- begin
- for i in vec'high downto 1 loop
- if (vec(i)='1') then
- retval:=(retval+1)*2;
- else
- retval:=retval*2;
- end if;
- end loop;
- if vec(0)='1' then
- retval:=retval+1;
- end if;
- return retval;
- end vec2int;
- function int2vec(int1,Nbits:integer)
- return bit_vector is
- variable N1:integer;
- variable retval:bit_vector(Nbits-1 downto 0);
- begin
- assert int1 >=0
- report "function int2vec:input integer cannot be negative"
- severity error;
- N1:=int1;
- for i in retval'reverse_range loop
- if (N1 mod 2)=1 then
- retval(i):='1';
- else
- retval(i):='0';
- end if;
- N1:=N1/2;
- end loop;
- return retval;
- end int2vec;
- end bit_pack;