问题标签 [vhdl]
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.
vhdl - 简单状态机问题
我有一个非常简单的 FSM,它应该驱动外部 RAM 的一些输出信号。我遇到的问题是处理可以输入和输出的数据总线......我不太确定如何在我的 FSM 中最好地处理这种情况。问题来自以下行:
显然,左侧是变量,右侧是信号。有没有一种“好”的方式来处理我所拥有的 FSM 中的 inout 信号?
非常感谢代码改进了这个简单的 FSM 的评论!
vhdl - State to std_logic
I have defined my state as follows:
Now I would like to use this state information to form another signal
Does anyone know how I can concert state into a std_logic_vector so that I can concatenate these two signals?
Many thanks, Rob
verilog - 将 Altera M9K 的内容重置为 0(上电值)
再会,
我正在开发一个包含 M9K 块存储器的 Stratix III FPGA,其内容在上电时可以方便地初始化为零。这非常适合我的应用。
有没有办法在不重启/重新刷新/等FPGA的情况下将内容重置为零?在 megawizard 插件管理器中似乎没有这样的选项,我想避免浪费一堆逻辑,这些逻辑只是依次向每个地址写入零......
我环顾四周,没有提到这种机制,但我想我会问一下,以防有人知道一个方便的技巧:]顺便说一句,我正在使用 VHDL,但我应该能够翻译任何 Verilog。
数据表(不包含答案!):http ://www.altera.com/literature/hb/stx3/stx3_siii51004.pdf
在此先感谢
- 托马斯
PS:这是我在这里的第一篇文章,所以如果我违反了任何礼仪,请告诉我:)
serialization - “序列化”VHDL 记录
假设我有以下类型定义,它依赖于常量来指示记录成员的向量长度:
我想将这些类型的记录转换为std_logic_vector
s 以将它们放入例如 FIFO 中。目前我正在使用以下代码:
这段代码在很多方面都不是最理想的。例如,它要求我始终正确地将 POINT_ENC_WIDTH 设置为一个足够大的值以允许d
保存整个序列化记录。它依赖于程序员做非常机械的工作。例如,对于记录的每个成员,例如x
,在代码中X_WIDTH
出现两次x
,一次与下一个成员直接相关,一次与下一个成员相关,y
。这很快就会变得乏味。如果我通过添加其他字段来更改记录的定义,我必须同时更新序列化和(非常相似的)反序列化代码,我可能会忘记这一点。当我删除字段时,至少编译器会抱怨。
因此,这引出了我的问题:是否有一种简单、自动化或至少准自动化的方式将 VHDL 记录转换为std_logic_vector
s 而无需求助于手动编写的序列化/反序列化代码?知道具体的编码对我来说并不重要,因为我在内部使用记录,并且明确指定了最终输出格式并将手动实现。
vhdl - VHDL 运算符参数类型不匹配
我在 VHDL 中有一个非常简单的运算符问题。我尝试将一些输入与逻辑运算符进行比较,但收到错误消息...
结束进程;
不幸的是,我收到以下错误消息:
if (((paddr(8 downto 2) = "1000000")) and (psel and penable) and (pwrite and not(wrfifo_full))) then | ncvhdl_p: *E,OPTYMM (hdl/vhdl/test.vhd,523|43): 运算符参数类型不匹配 87[4.3.3.2] 93[4.3.2.2] [7.2]
反正看到问题了吗?
干杯
vhdl - 从几个 1 位 ALU 制作一个 4 位 ALU
我正在尝试将几个 1 位 ALU 组合成一个 4 位 ALU。我对如何在 VHDL 中实际执行此操作感到困惑。这是我正在使用的 1bit ALU 的代码:
我假设我将 alu1 定义为更大实体 alu4 的一个组件,但我怎样才能将它们联系在一起呢?
vhdl - 添加 std_logic_vectors 时出错
我想要一个添加两个 std_logic_vectors 的简单模块。但是,将下面的代码与 + 运算符一起使用时,它不会合成。
我从 XST 收到的错误消息
第 17 行。+ 在这种情况下不能有这样的操作数。
我想念图书馆吗?如果可能的话,我不想将输入转换为自然数。
非常感谢
vhdl - 网络实例化的问题
我有一个非常简单的状态机,可以设置一些控制信号来与第三方 IP 交互。代码大致如下:
Sythesis 工作正常,但是,当应用以下约束文件时,我得到 ERROR:ConstraintSystem:59 - NET "testip/ip_we" not found。testip/ip_datain 和 testip/ip_ce 也是如此。
我检查了网表,确实没有 testip/ip_we、testip/ip_ce 和 testip/ip_datain 网。任何人都知道为什么其他网络不在网表中,这一切都非常令人困惑。
非常感谢您的任何反馈!
编辑:请参阅附件顶部模块文件中的详细实例:
这应该可以完成这项工作,但是当查看网表并寻找信号 Icap_ce 或 Icap_we 时,它们根本不存在。我只是认为这些网不存在或已重新命名,因此我再也找不到它们了。谢谢
vhdl - 意外的 TICK 错误
我正在尝试编写 VHDL 模块,但 if 语句有问题。很可能这是一个愚蠢的错误,但由于我对 VHDL 很陌生,所以我无法弄清楚问题所在。这是我的代码:
我从 if 语句的第一行得到以下答案:
我究竟做错了什么?
vhdl - 信号_IBUF> 不完整
我正在尝试编写一个 VHDL 模块,但我遇到了一些输入问题,这是我的代码:
我收到这些错误:
这些错误看起来很复杂,但实际上它说,我认为,无法路由我的 n1 和 n2 信号的其他 3 个输入。我不知道为什么会发生这种情况,但我想做的就是将 n1 和 n2 有符号数字的总和显示为 7 段显示。如果有人可以帮助我解决这个问题,我将不胜感激。