vhdl语法问题

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

PACKAGE mypack IS
FUNCTION ShiftRight(a:std_logic_vector;n: integer) return std_logic_vector;
END;
PACKAGE BODY mypack IS
function ShiftRight(a:IN std_logic_vector;n: in integer)
return std_logic_vector is
variable b:std_logic_vector(a'length-1 downto 0);
subtype rtype is std_logic_vector(n-1 downto 0);
begin
b(a'length-1-n downto 0):=a(a'length-1 downto n);
b(a'length-1 downto a'length-n):=rtype'(others=>a(a'length-1));该句赋值号后面的语法看不懂
return b;
end function ShiftRight;
end;

第1个回答  2016-04-13
第一,s:=conv_interger(s_vec);是将矢量转为整数的函数,这个是怎么个转发啊?比如s_vec="011",转的整数是其十进制数吗? -- 对, s_vec="011"转的整数就是3. 第二,din'left表示取左边界,比如din="1100",这个左边界取的值是1么? -- 不对. 左边界是指矢量的边界, 例如 constant k1 : r_vector(10 downto 3) k1'left = 10, k1'right = 3 constant k2 : r_vector(5 to 7) k2'left = 5, k2'right = 7

vhdl语法问题
-- 不对. 左边界是指矢量的边界, 例如 constant k1 : r_vector(10 downto 3) k1'left = 10, k1'right = 3 constant k2 : r_vector(5 to 7) k2'left = 5, k2'right = 7

VHDL代码出现near text "=>"; expecting ")", or ","错误,调用了库文件...
VHDL编程中遇到"near text "=>"; expecting ")", or ","错误,通常源于类型兼容性问题。对于bit类型,可以直接使用连接运算符,但std_logic类型则需要通过中间信号转换。例如,可以先创建一个中间信号t,如t := 0 && temp_node2(2) && temp_node2(1) && 0,然后在元件实例化中将Ain关联到这...

verilog语法问题
你可以把“always@(posedge clk or negedge r_est)”改为“always@(posedge clk or posedge r_est)”再编译试试,应该就没问题了。你右键该错误点击“Help”里是这么说的:CAUSE: In a conditional statement at the specified location in a Verilog Design File (.v), you specified a conditio...

VHDL语句中,出现的问题如下,求各位高手解决。
你在进程语句process中选择了可选项敏感信号表(clkin),同时在进程体中又使用了wait语句,这是不被VHDL语法所允许的。进程语句process中的可选项敏感信号表,其作用相当于一个隐含的wait语句。敏感信号表和wait语句,二者只能选其一!你将process(clkin)改为process就行了。

Error (10500): VHDL syntax error at count.vhd(33) near text "PROCE...
回答:错误(10500):硬件描述语言(VHDL)语法错误在计数vhd(33)接近文本“进程”,希望“如果”

VHDL语法问题to_unsigned
&是一个连接操作符,第一句的意思是在十六进制形式的24位位串X"0000_00"后面连接上qrom_lum(i)。第二句中to_unsigned(4*i, 32)函数的功能是,将整数4*i转换成32位的unsigned类型(实际上就是一个std_logic_vector(31 downtown 0)类型)。

问一下VHDL的数组array的语法,请帮我解释一下下面的语句是什么意思...
第一句应该是错了,array()这里括号中应是某种自定义的或者标准的范围量,而不是std_uLogic这种标准数据类型,参照第三句的形式。第二句不合适,of后面一般应是自定义好的信号或者变量,很少见到STD_ULOGIC这种标准的数据类型,因为由STD_ULOGIC组成的数组其实就是std_uLogci_vector(直接signal MVL9_...

VHDLError (10500): VHDL syntax error at max.vhd(20) near text...
在VHDL中,信号(SIGNAL)表示硬件中的“连线”,而端口(PORT)是设计实体对外的连线。只有在声明端口时,才需要声明信息的流向,而声明实体内部的连线时,不要声明信息流向,因为这根连线上的信息应当既不流出实体也不流入实体。所以声明信号tmp1和tmp2时,只需声明信号的类型,而不要声明信息的流向,...

VHDL语言中编译出现:Error (10500): VHDL syntax error at FPGA.vhd...
端口声明语法错误,bclk : in std_logic; -- :左右要有空格

我在用quartus编写vhdl文件时,只要用到library ieee时,总会出现下面错 ...
仅从错误提示来看,说的是Verilog HDL语言语法错误,我认为应该是你在使用软件建立VHDL文件是选 错了选项,错选成了Verilog HDL文件,你应该选择VHDL文件.你可以尝试一下,如果正确请采纳.

相似回答
大家正在搜