问题标签 [picoblaze]

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 投票
0 回答
69 浏览

vhdl - 多次使用 KCPSM3 (picoBlaze)

我目前正在从事一个必须包含多个 picoBlaze 的项目。我对 VHDL 世界很陌生,所以我想问你一个问题。

我创建了一个新项目并添加了源“KCPSM3.vhd”。然后我创建了一个应该使用 2 个 picoBlazes 的顶级实体。我已经添加了第一个 picoBlaze 组件,它是相应的 program_rom 并且我设置了信号,但现在我很困惑如何添加另一个 picoBlaze 组件。

谢谢。

0 投票
0 回答
188 浏览

vhdl - std_logic_vector 的赋值问题

我正在尝试编写一个组件(mem_interface),它采用 8 位输入向量作为地址和数据,根据索引将它们写入更大的向量缓冲区中的特定位置,然后在被询问时输出这些更大的向量缓冲区。该组件将位于 picoblaze 处理器(只能输出 8 位值)和 Artix 7 BRAM 之间,我已将其配置为 18 位读/写端口宽度(即 11 位地址)。作为最终目标,mem_interface 将从 picoblaze 累积多个 8 位输出,然后使用提供的数据在提供的地址读取/写入 BRAM。

我遇到的问题是写入 mem_interface 的内部数据缓冲区没有生效。

模拟截图.

在 15ns 时,测试台首先测试写入组件的地址缓冲区,它运行良好。在 45ns,它尝试写入数据缓冲区,该缓冲区立即将目标元素发送到“X”。我一直将“X”理解为多个驱动程序问题,但我无法在我的代码中识别一个。

这是代码,首先是 mem_interface.vhdl:

这是测试平台,mem_interface_tb.vhdl

任何帮助将不胜感激,我已经盯着这个几个小时了,不知道问题出在哪里。

0 投票
3 回答
734 浏览

assembly - 浮点加法组装算法

我正在尝试为 picoblaze 微控制器编写二进制 8 位浮点加法算法(1 个符号位、4 个指数位和 3 个尾数位)

我让它与正数一起工作,但当也有负数时我不知道该怎么做。

我的主要问题是设置结果的符号位,有人可以解释如何正确设置吗?

我的想法是检查两个数字的符号;然后如果它们都是正数,则将符号设置为 0,如果它们都是负数,则将符号设置为 1,并使用与之前相同的方法进行加法,如果一个是负数,一个是正数,则比较数字并使用较大的一个符号位,但我不知道如何比较这两个数字,代码变得有点混乱,有没有更好的方法呢?

0 投票
1 回答
55 浏览

assembly - 在汇编中从二进制转换为灰色有效,反之则不行

我正在尝试为 PicoBlaze 构建一个程序,它将从格雷码转换为二进制,反之亦然。这是我到目前为止所做的:

因此,从二进制到灰色的转换似乎有效。但是,从灰色到二进制的转换不起作用。例如,对于输入:

我期望输出:

但是,我得到输出:

这里发生了什么?我正在PicoBlaze Simulator中测试我的程序。

0 投票
1 回答
82 浏览

assembly - picoblaze 摄氏到华氏在装配中的转换

我想使用以下转换公式 Fahrenheit = (Celsius * 9 / 5) + 32 在汇编中执行 picoblaze (FPGA) 摄氏到华氏转换。但我什至无法用汇编语言简单地将两个数字相乘。有人能帮我吗 ?我已经通过谷歌了解了如何在汇编中执行这种转换,但 picoblaze 有它自己的特定语法。

0 投票
0 回答
34 浏览

windows - 你好!我正在使用 ISE Design Suite 14.1,我从 youtube 视频中制作了这段代码,我想知道如何解决它?

这是代码,这是在nexys4上实现PicoBlaze的代码。使用此代码,我们希望使用八个开关打开和关闭 fpga 的八个 LED

所以在这里我们遇到了字符“x”的错误,我们正在寻找解决方案,但这些解决方案都不能帮助我们修复它。

我收到以下错误

我不知道如何解决它,请我需要帮助。

0 投票
0 回答
47 浏览

vhdl - UART通信问题

我正在尝试在我的电脑和 nexys4 DDR 开发板之间建立 UART 通信。实际上,我使用这个板来运行 PicoBlaze(KCPSM6)的源代码,并且应该在 Picoblaze(板上)和 PicoTerm(来自我的电脑)之间建立通信。这是主要的:

在这里我有汇编代码。我从中获取 my_uart_control 组件:

uart_interface_routines.psm:

波特率的值为 115200。我希望在无限循环中接收 '>' 和一些换行符,但我只接收到一些不可打印的字节。使用 putty 中的日志文件,我意识到我只收到ff字节。谁能告诉我问题出在哪里?

0 投票
0 回答
122 浏览

assembly - 使用 UART 将十进制数转换为二进制的 PicoBlaze 程序在模拟器中工作,但它不适用于真正的 PicoBlaze

这实际上是PicoBlaze Simulator中的“十进制到二进制”示例:

我已经在真实硬件上尝试过(通过组装和下载十六进制文件),但它在那里不起作用。它在那里什么都不做,它不响应我在 UART 中键入的任何内容,也不打印任何内容。这里发生了什么?