2012-05-17 33 views
0

My code我是一个新的VHDL和我有相乘两个无符号矢量就像大家都在高scool做VHDL multiplicationof 2号

,所以我写的程序,它的剂量编译,但效果并不好。

逻辑看起来不错,但仍然无法工作任何人都可以帮助。 我无法得到如何在这里放置代码,所以请看附加的图像。

THX

+0

只需粘贴您的代码,突出显示它并使用工具栏在其上放置“代码”格式。当你处于这种状态时,请告诉我们一些细节上的“不起作用”。 –

回答

2

当写VHDL你首先需要思考的硬件。尽管各种语句可能看起来与您从其他语言中所了解的类似,但其中许多表现方式不同,因为它们映射到硬件并且并行评估而非顺序评估。

例如,for VHDL循环不会遍历循环,而是复制循环内容并并行计算所有这些内容。因此,您积累temp的想法将不起作用,因为所有temp1的值都可以同时使用,而不是一个接一个地使用。

处理乘法的简单方法是只使用*运算符,因为许多合成器会选择它并自动实例化必要的硬件。我认为这是某种形式的练习,但在需要自己实现这些功能的地方 - 只需将for循环放在一起并将中间结果存储在自己的变量中,然后将它们全部添加到最后。