问题标签 [hardware-programming]

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 回答
1016 浏览

vhdl - vhdl 中的进程语句

我正在尝试学习 VHDL 并努力学习它的一些基础知识。问题如下:

Process 语句被描述为包含顺序运行的代码(一行接一行)。我想问为什么不能在流程语句中运行并发代码(意味着所有行并行执行)。其次,如果进程语句包含顺序代码,它如何建模,例如,三个触发器同时进行,例​​如,

--inside 进程语句

0 投票
2 回答
1269 浏览

verilog - 如何模拟 PCIe 来调试我的 fpga 端点

我正在研究通过 pcie 连接的 fpga 控制器。我可以调试硬件的唯一方法是使用chipscope。所以我通过我的驱动程序执行命令并检查来自 fpga 的信号。

问题是每次我想检查信号以调试项目时,构建项目并将其加载到 fpga 都需要花费大量时间。

有没有更简单的方法来调试连接到 pcie 的 fpga?

有没有办法可以模拟所有的 pcie 信号而根本不必运行 fpga?

0 投票
1 回答
630 浏览

vhdl - 用于 UA(R)T 的具有 VHDL 的状态机

我正在尝试在 vhdl 中为 UA(R)T 创建一个状态机(仅发送部分)。

我对程序的流程有疑问。我知道 buad rate 部分目前不起作用。我现在正试图让它只用一个时钟工作,然后实现波特率分频器。

当我通过我的测试台运行它时(没什么复杂的,只需为 x 时间分配几个初始值 reset = 1,din = z,baud = y 等),没有任何反应。我的输出 txd 保持在重置阶段设置的初始“1”值,如果我将其设置为“0”,它将在周期内保持不变。

我在设计状态机时遇到的问题是它有两个值,它将转换但不会处于任何状态。

基本上,它应该做的是: reset: txd = 1, count = 1, busy = 0, we = 0 idle: when busy = 1 set shift = init values wait: transition on next clock signal trans: if count < 9,txd = shift(0),如果 count = 9,则 shift shift,busy = 0,count = 0 并返回空闲

我认为我的问题与未正确设置忙音有关。

0 投票
2 回答
98 浏览

assembly - 硬件程序员如何找到硬件组件的地址?

我是一名高级程序员,开始了解硬件和组装。我只是好奇硬件程序员或黑客如何知道组件的特定地址,例如手机中的蓝牙。您如何读取蓝牙存储其频率的地址的值并可能更改它?

我也是一个新的 arduino 程序员,arduino 允许您根据使用的引脚更改/读取组件的值。我确信这也是它与其他硬件一起工作的方式,但是如果你只是在没有描述手机等实际硬件的情况下破解硬件怎么办?

0 投票
1 回答
90 浏览

c - 在 USB 端口检测到特定麦克风时启动语音识别程序(以避免粗心使用)

我想将我的语音识别程序限制为只能由一个特定的麦克风使用。如何设计模块,以便如果连接了特定的麦克风,则将开始进一步的执行,否则将终止。

我想这样做是因为,我们在嘈杂的场景中进行语音识别,因此强烈建议使用这种基于噪声消除的麦克风,其他麦克风会在嘈杂的场景中给出错误识别。

主要代码是 C 编程语言,我一起用 shell 脚本执行它。

在这种情况下是否可以使用任何其他技术..例如RFID?也分享你的经验。

谢谢

0 投票
2 回答
143 浏览

c# - VB.net 中的 Openhardwaremontor.dll 函数访问

我正在尝试使用 Openhardwaremonitor.dll 读取 CPU 温度,但无法正确读取。

错误说:

错误 4“OpenHardwareMonitor.Hardware.Sensor”在此上下文中不可访问,因为它是“朋友”。

但是,当我在程序中导入 DLL 时,应该可以访问友元函数。

请帮忙

0 投票
2 回答
340 浏览

hardware - 入侵计算机硬件进行实验控制

我是一名物理学家,几周前我得到了一个启示,即我可以如何使用我的个人计算机对实验室实验进行比通常情况下更好的控制。不过,在我跑去尝试之前,我想与在这些问题上比我更有专业知识的人检查可行性。

这个想法是使用计算机上的 i/o 端口——VGA、以太网、扬声器插孔等——直接与实验装置中的传感器和执行器对话。例如,切开以太网电缆的一侧(另一端连接到计算机)并将每条线路发送到不同的设备。我认识一个博士后,他使用 BeagleBone 做了非常相似的事情。他编写了一些汇编代码,让他可以将所有内容与内部时钟同步,并使用 GPIO 引脚有效地为他提供了一个完全可编程的混合信号发生器/示波器。笔记本电脑似乎应该可以做同样的事情,这将带来额外的好处,您可以从同一设备进行数据分析。

我预见到的主要潜在困难是 BeagleBone 上的硬件在设计时就考虑到了这种 i/o,而我预计笔记本电脑上的硬件可能更难直接控制。例如,我知道(通过一些初步调查,http://ask.metafilter.com/125812/Simple-USB-control-how-to-blink-an-LED-via-code)USB 端口将难以访问这样一来,VGA(根据VGA 15 pin端口数据使用Matlab读写)是不可能的。不过,我还没有发现任何关于使用以太网或扬声器插孔等其他端口的信息。

所以主要的问题是:这个想法是否可行(无需为每个新的硬件变体投入几个月的时间),如果可行,哪种类型的 i/o(以太网、扬声器插孔等)可能是最好的选择?

辅助问题是:

  1. 我在哪里可以找到材料来了解如何执行此计划?我什至不确定要在 Google 上插入哪些关键字。

  2. 我能轻松做到这一点是否很大程度上取决于操作系统或硬件品牌?

0 投票
1 回答
85 浏览

verilog - 使用 Verilog 的行为模型中的 Mealy 序列网络

如何设计一个 Mealy 序列网络,该网络研究输入序列 X 并产生由两个规则确定的输出 Z。网络的初始输出为 Z=0。此后,输出 Z 将等于 X 的先前值(规则 1),直到出现输入序列 010。从 010 之后的下一个输入开始,输出 Z 将等于 X 的当前值的补码(规则 2),直到出现序列 101。从 101 之后的下一个输入开始,网络输出再次由规则 1 等确定。注意,可能会出现重叠的 010 和 101 序列。例子:

规则:1 1 1 1 1 1 2 2 2 2 2 1 2
ai1.ai X= 0 1 1 0 1 0 0 1 1 0 1 0 1
ai1.a.ii。Z = 0 0 1 1 0 1 1 0 0 1 0 1 0

0 投票
2 回答
51 浏览

assembly - 了解新架构

所以我是那些虽然是年轻的新一代程序员,但真正喜欢低级开发和使用汇编和 C 的人之一。我发现有些人可以破解游戏机来运行自制软件,或者移植 Linux 到图形计算器等

了解特定架构需要哪些信息?例如,以使用 Motorola 68k 的 TI-89 计算器为例。一般来说,有大量关于如何为 68k 编码的文档,但是为特定设备编码需要哪些文档?是否需要产品制造商提供有关 CPU 接线方式的文档?例如,在游戏机上,有人如何知道要写入哪些内存位置才能在屏幕上显示某些内容?

我不要求提供有关 TI-89 编程、游戏自制程序编程等的文档。我知道这些是存在的。相反,我很好奇这些指南的作者是如何知道这些信息的。

谢谢。

0 投票
3 回答
1456 浏览

verilog - Quartus 和 modelsim - 编译大小转换

我将尝试在 Quartus 中编译并在 ModelSim 中模拟一些模块。

看到这个:

所以,我在modelsim中编译它。我有 0 个错误和 0 个警告。模拟就是成功,一切都很好。接下来,我在 Quartus 中编译(综合)它,我有这个警告:

所以,我理解这个警告,并通过大小转换来修复它:

在 Quartus 中编译是成功的。但是,如果我再次尝试在 ModelSim 中编译此代码,则会出现错误:

我错在哪里以及为什么modelSim无法编译尺寸铸件?