问题标签 [hardware-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
87 浏览

vhdl - 为什么内部组件没有被执行

因此,我在 VHDL 中创建了组件的分层设计。目前的顶级实体如下。

我正在使用这个测试平台对其进行测试

但就我所见,内部组件(比较器和多路复用器)没有被“执行”,结果端口永远不会改变。

所有组件都将其所有 IN 端口作为其进程的触发器。

我已经阅读了一些关于这个的内容,发现组件不能在进程内执行,所以当我这样做时:exp_1 <= exp_1_in; exp_2 <= exp_2_in; 我实际上并没有触发组件。

但是,我看到了一个与我在这里尝试的非常相似的示例。 https://www.altera.com/support/support-resources/design-examples/design-software/vhdl/v_hier.html

我不知道我的问题在哪里。我已经单独测试了每个组件,它们都可以工作。

编辑:

我正在使用ghdl -a分析每个文件然后使用ghdl -e exp_equalizer_tb 从测试台构建可执行文件 最后,我正在运行可执行文件./exp_equalizer

我制作了一个脚本,它对我项目中的每个组件都执行相同的操作,并且我为所有这些组件提供了带有断言和报告的测试台,它们都工作正常。在这个组件中我没有得到预期的结果。

0 投票
1 回答
147 浏览

cpu-cache - Forth CPU 中的缓存请求

在计算机的 RAM 中存储了一个较长的程序,用 Forth 编程语言编写。它包含三个子函数,并且在 CPU 的一级缓存中存储它们占用了太多字节。

需要一个缓存策略来决定只有一个 RAM 窗口被复制到 CPU 缓存中。Forth CPU 能够从一级缓存中读取,但不能从 RAM 中读取,因为访问 RAM 需要很长时间。

图中,指令指针指向第一个字,到目前为止已经执行了一个命令,很快就会到达“:add”这个字的末尾。但那时会发生什么?

如果 CPU 已执行第一级缓存 (+) 中的最后一条命令,则没有其他命令。Forth CPU 的哪个部分决定卸载 CPU 缓存的当前内容并从 RAM 中检索新块?

在此处输入图像描述

我不确定这是否与“块缓冲区”、“Forth VM 中的堆栈缓存”或“基于硬件的 CPU 缓存”有关。文献有点混乱:

0 投票
0 回答
211 浏览

eigen - Catapult HLS 工具中是否支持 Eigen C++ 模板库?

我使用 HLS 工具作为弹射器来生成 HDL 代码,稍后我将在 FPGA 中应用我的项目。但是,我在尝试使用 HLS 弹射器工具中的特征库编译算法时遇到了很多问题。HLS 错误消息显示了一些Internal assertionExtern std::CerrAssertion以及 Eigen 库的更多问题。

有没有人有一些使用它的经验?有什么特别的考虑吗?

0 投票
1 回答
958 浏览

vhdl - 具有结构设计的 vhdl 中的多路复用器

我对 VHDL 完全陌生,我想在不使用其他门的情况下实现以下MUX以获得逻辑含义S0 => S1。

4-1 多路复用器

我想使用结构设计,但我的主要问题之一是我不明白如何正确映射端口,以便实现给定的含义。

到目前为止,我的代码正在编译并且 iSim 启动,但我收到两个警告:

  1. mux41_impl 仍然是一个黑盒,它没有绑定实体。
  2. mux_out_test 的值为 U

此外,我知道我的组件必须与实体完全匹配,但如果我将它重命名为实体名称,我会收到一条非法递归消息。

代码

测试台代码

0 投票
1 回答
27 浏览

cpu-architecture - 硬件平台中的数据危害

我列出了 2 种危害类型:

我无法理解这两条规则背后的直觉,这可以帮助我了解技术术语并解释概念?欢迎任何解释:)

0 投票
0 回答
28 浏览

hardware-design - LT spice Simulation AD8220 显示一些奇怪的结果,我不知道为什么

首先是关于电路的一些信息。我正在为反馈 (FB) 电压为 1.215 伏的开关模式电源设计电流控制(U5 参考电压略高于 1.23V,但对于模拟无关紧要)。电流控制由使用 12 位 DAC 的微控制器完成。这个想法是 DAC 设置电流的设定点,当增加的电流达到设定点时,SMPS FB 将开始降低其占空比,直到它再次等于或低于设定点。该电路基于 G=62.5 的 AD8220 差分放大器,其中由 Rs=0.004Ohm 的电流产生的 Uin+ 输入电压减去 Uin- 电压,使用电阻分压器将 DAC 电压除以 62.5,直到输出达到 1.215Volt(这里是 1.23V)..

我已经在 LTSpice 中模拟了所有这些,并且模拟没有问题。当我将 AD8220 的规格与仿真结果进行匹配时,我看到了一些奇怪的东西。例如,数据表指定的输出摆动方式比仿真显示的要好。电压摆幅在 0.15V 和 4.85V 之间,Vcc=5V,负载为 10K。仿真表明,在 3.10 伏输出后,放大曲线拐点并继续,与计算得到的 62.5 增益相比,增益有很大不同。您在 7.59A 或 0.42 秒时看到的这个拐点。我在 Multisim 中模拟了相同的电路,结果相同。

谁能告诉我我在这里做错了什么,或者这个 AD8220 的香料模型是否存在某种错误。您对 LTspice 的体验如何,它通常模拟接近现实吗?你能评论一下原理图吗,这里有什么更好的想法吗?

希望你能帮忙谢谢 文本

0 投票
1 回答
56 浏览

stm32 - stm32wb, nucleo-wb55, 传感器, 硬件

我正在使用带有 STM32WB55 处理器的 nucleo-wb55 开发板。我想将 IIS3DWB、STTS22H 等传感器连接到此板上。如何将这些传感器的模块连接到 nucleo-wb55?