VHDL问题!

[复制链接]
查看11 | 回复1 | 2008-9-19 19:46:14 | 显示全部楼层 |阅读模式
在赋值语句中使用16进制和8进制时,赋值语句两边的信号应该要相同“位数”,如果不等则需要用并置操作符“&”补齐。如:
m,n,p: signal std_logic_vector(7 downto 0);
x: signal std_logic_vector(9 downto 0);
Begin
m<=x”01”;
n<=b”11010011”;
p<=o”7”& m[4 downto 0];
x<=m&”01”;
帮忙解释些各行语句。谢谢。我刚学是都还不会!

回复

使用道具 举报

千问 | 2008-9-19 19:46:14 | 显示全部楼层
m,n,p: signal std_logic_vector(7 downto 0);-- m,n,p的数据对象是signal类型,并且数据类型为数组,数组长度为8。还有,我们学的时候这句话应该写成signal m,n,p:std_logic_vector(7 downto 0); x: signal std_logic_vector(9 downto 0); --我们学的是写成signal x:std_logic_vector(9 downto 0); Begin m<=x”01”; --应该是m<=x“01”;x代表十六进制,就是说把十六进制值‘01’赋给信号mn<=b”11010011”; --b代表二进制p<=o”7...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行