以下VHDL代码什么意思?急!
答案:1 悬赏:50
解决时间 2021-01-21 13:49
- 提问者网友:斑駁影
- 2021-01-20 21:36
以下VHDL代码什么意思?急!
最佳答案
- 二级知识专家网友:旧脸谱
- 2021-01-20 21:49
VHDL是较常用的硬件描述语言。它的主要功能就是对硬件进行“逻辑”表达。
case c is
when “00” => a <= x or y;
when “01” => b <= y;
when others => a <= c(1);
end case;
上面这段代码包含了一个信息:
信号c,是个2-bit的bus,通常定义可能是:
c(1 downto 0)
这样就回答了你的问题(2):
c(1) 是总线c的高位
c(0) 是总线c的低位
回到那个代码本身,“case”和“endcase”中间,描述了
a, b, x, y和c的逻辑关系。分析那3条“when”可以发现:
1. 当c(1) = 0时,
1.1 c(0) = 0时,a = (x or y)
1.2 c(1) = 1时,b = (y)
2. 当c(1) = 1时,
a = c(1)
然后把上面的分析整理一下,就可以知道a,b实际和c以及x,y的逻辑关系。注意上面的描述中:
c(0) = 0
对应的VHDL代码是:
and not c(0)
这样就解释了你的第一个问题。
希望我说明白了,仔细换个角度想一想,不是很难。谢谢。
case c is
when “00” => a <= x or y;
when “01” => b <= y;
when others => a <= c(1);
end case;
上面这段代码包含了一个信息:
信号c,是个2-bit的bus,通常定义可能是:
c(1 downto 0)
这样就回答了你的问题(2):
c(1) 是总线c的高位
c(0) 是总线c的低位
回到那个代码本身,“case”和“endcase”中间,描述了
a, b, x, y和c的逻辑关系。分析那3条“when”可以发现:
1. 当c(1) = 0时,
1.1 c(0) = 0时,a = (x or y)
1.2 c(1) = 1时,b = (y)
2. 当c(1) = 1时,
a = c(1)
然后把上面的分析整理一下,就可以知道a,b实际和c以及x,y的逻辑关系。注意上面的描述中:
c(0) = 0
对应的VHDL代码是:
and not c(0)
这样就解释了你的第一个问题。
希望我说明白了,仔细换个角度想一想,不是很难。谢谢。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |