⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 数据类型知识点.vhd

📁 一些很好的FPGA设计实例
💻 VHD
字号:
type byte is array (7 downto 0 )of std_logic;--一维数组
type mem1 is array (0 to 3,7 downto 0)of std_logic;--二维数组
type mem2 is array (0 to 3)of byte;--1*1维数组 4个矢量,每个矢量的位宽
--为8
type mem1 is array (0 to 3)of std_logic_vector(0 to 7);--1*1维数组
signal a: std_logic;--标量信号
signal b: bit;--标量信号
signal x: byte;--一维信号
signal y: std_logic_vector(7 downto 0);--一维信号
signal v: bit_vector(3 downto 0);--一维信号
signal z: std_logic_vector(x 'high downto 0 );--一维信号
signal w1:mem1;--二维信号
signal w2:mem2;--1*1维信号
signal w3:mem3;--1*1维信号
----------------合法的标量赋值----------------------------
x(2) <= 2;                --同类型(std_logic),使用正确
y(0) <= x(0);             --同类型(std_logic),使用正确
z(7) <= x(5);             --同类型(std_logic),使用正确
b <=v (3);                --同类型(bit),使用正确
w1(0,0) <= x(3);          --同类型(std_logic),使用正确
w1(2,5) <= y(7);          --同类型(std_logic),使用正确
w2(0) (0) <= x(2);        --同类型(std_logic),使用正确
w2(2) (5) <= y(7);        --同类型(std_logic),使用正确
w1(2,5)  <=w2(3)(7);      --同类型(std_logic),使用正确
------------非法的标量赋值-----------------------
b <=a; --bit和std_logic时数据类型不匹配
w1(0)(2) <=x(2); ----------w1的索引项必须是二维的
w2(2,0)  <=a-;------------w2的索引项必须是1*1维的
--------------合法的矢量赋值-----------------
x <= "11111110";
y <= ('1'  '1'  '1'  '1'  '1'  '1'  '0'  'z' );
z <= "11111"&"000";
x <= (others => '1');
y <=(7=>'0', 1=>'0', others =>'1');
z <= y;
y(2 downto 0) <= z(6 downto 4);
w2(0)(7 downto 0) <="11110000";
w3(1) <= (others => '0');
w2 <=((others => '0'),(others => '0'),(others => '0'),(others => '0'));
w3 <=("11111100",('0'  '0'  '0'  '0'  'z'  'z'  'z'  'z' ),(others => '0'),(others => '0'));
w1 <=((others => 'z'),"11110000","11110000",(others => '0'));
----------对数组进行初始化的一个实例-------------
for i in 0 to 3 loop;
   for j in 7 downto 0 loop
   x(j) <= '0';
   y(j) <= '0';
   z(j) <= '0';
   w1(i,j) <='0';
   w2(i)(j) <='0';
   w3(i)(j) <='0';
end loop;
end loop;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -