gpt4 book ai didi

matlab - 为什么 sum 语句会如此奇怪地合成?

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:21 24 4
gpt4 key购买 nike

我在 FPGA 开发板上有 4 个按钮,所以我写了

function [HEX0] = Bar(KEY)
n = uint8(sum(KEY, 'native'));
...

不幸的是,HDL Coder 将其转换为以下 VHDL block :

y := '0';

FOR k IN 0 TO 3 LOOP
y := y OR KEY(k);
END LOOP;

y_0 := '0' & '0' & '0' & '0' & '0' & '0' & '0' & y;

我只是不明白。你能帮我弄清楚这是怎么回事吗?

最佳答案

要理解这一点,您必须了解具有逻辑输入和 native 选项的 matlab sum。逻辑之和是合乎逻辑的。因此 sum 可以替换为 or

sum([true,true],'native')

这正是您的 Coder 输出的内容。 for 循环实现求和 (sum(KEY, 'native')),其中编码人员认识到它可以使用 OR 实现。

最后,填充 7 个零位完成从逻辑到 uint8 的转换。

关于matlab - 为什么 sum 语句会如此奇怪地合成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23699337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com