vhdl相关内容

无法使用While循环完成进程编译

我有以下进程,它应该右移其输入(INPUT_1),直到它达到0,然后结束循环: DFF_PROCESS: process (input_0, input_1, input_2, CLK) variable eX : integer; ... begin eX := input_1; ... while (eX > 0) loop if ( CLK'event an ..
发布时间:2022-08-07 16:52:43 其他开发

在SystemVerilog测试平台中包含VHDL包

我有这个SystemVerilog测试台,我想在其中使用一个用VHDL语言编写的包。 当我这样做时:'include "desired_pkg.vhd",它显然是一个Verilog包,如ModelSim报告的: Error: (vlog-13069) ** while parsing file included at C:/Users/VHDL/CO_code/CO_18_03/simula ..
发布时间:2022-08-07 16:43:31 其他开发

VHDL语言:正式端口没有实际值或默认值

我在实例化VHDL模块PWM的VHDL测试台上收到一个编译错误:“正式端口‘Duty_Cycle’没有实际值或缺省值”。站在“dev_to_test:pwm”代码行时出现错误。在实例化的PWM模块中,DUTY_Cycle STG_LOGIC_VECTOR被强制转换为UNSIGNED,然后被赋值为整数,但不要认为这会影响端口实例化。 我试图在端口映射中传递“00001111”向量值,但结果是相同的错 ..
发布时间:2022-08-07 16:35:03 其他开发

VHDL2008到_01的转换

我在使用VHDL-2008中的to_01转换函数时出现了一些意外的行为。我的预期是,可以清楚地解释为高或低的向量位分别映射到‘1’和‘0’。剩余的矢量位应转换为‘0’位。 但是,使用下面描述的代码,我将整个向量转换为全‘0’。 此行为正确吗?或者这是模拟器软件(ALDEC Riviera-PRO)中的错误? 有没有符合我期望的IEEE函数,或者我必须编写自己的函数才能实现? li ..
发布时间:2022-08-07 16:23:09 其他开发

同时使用std_logic_arith和NUMERIC_std时的库冲突

是否可以将std_logic_arith算术库和numeric_std库一起声明? 因为当我删除它们时,代码不起作用,但当我同时使用它们时,它会给出一个错误,表明这两个库之间存在冲突。 推荐答案 std_logic_arith和numeric_std包都声明了名为unsigned的类型。 因此,如果use两个包都使用.all,则很可能会遇到冲突。 建议只使用IEEE标准包 ..
发布时间:2022-07-01 23:05:25 其他开发

使用非静态信号名称的循环中过程调用

在一些测试台代码中,我使用一个过程来处理信号。然后,我在不同的信号上按顺序多次使用这个过程。只要我显式定义信号,这就可以很好地工作;只要我索引循环中的信号,它就会失败 (vcom-1450)形式“%s”的实际(索引名称)不是静态信号名称。 为什么这是不可能的,我如何解决它? 或许我可以将其移至for ... generate,但随后我希望do_something以定义良好的顺序被调用。 ..
发布时间:2022-07-01 22:56:41 其他开发

VHDL多个常量驱动器

我正在尝试使用开关和祸不单行显示修改做和(例如)和其他数学函数的源代码。 这是主代码: library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use work.seven_segment_pkg.all; entity Switch7Segment is port ( SW : ..
发布时间:2022-03-23 19:58:53 其他开发

如何重写FSM以不使用锁存器

我有一个FSM,它可以工作。然而,合成器抱怨有“acc_x”、“acc_y”和“data_out”的锁存器,我理解它为什么不好。然而,我不知道如何重写FSM,以便状态部分转到时钟进程。有什么主意从哪里开始呢?以下是FSM的代码: library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; entity stor ..
发布时间:2022-03-23 19:56:06 其他开发

VHDL中移位寄存器的结构设计

用VHDL语言进行了移位寄存器的结构设计。当WriteShift为1时,我得到移位,当它为0时,移位寄存器加载价格。虽然当我在Testbench中将WritesShift设置为1时,LOAD工作得很好,但在模拟中我得到了00000。 我的代码如下: entity ShiftRegis is Port ( Din : in STD_LOGIC_VECTOR (4 downto ..
发布时间:2022-03-23 19:48:02 其他开发

VHDL语言中的截断时间

不理解为什么我在以下代码中得到错误&011111111111&qot;.我所要做的就是将VHDL时间截断到最接近的1/100毫秒. library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_textio.all; use std.textio.all; entity tb is end entity; architect ..
发布时间:2022-03-23 19:44:31 其他开发

VHDL中的匹配仿真和后综合行为

此问题是此处显示的另一个问题的扩展,VHDL Process Confusion with Sensitivity Lists 但是,由于我的代表点不到50个,我无法评论以作进一步的解释。 因此,我在链接中遇到了相同的问题,并接受了显示的答案。然而,现在我感兴趣的是推荐的方法是什么,以便将模拟与合成后行为相匹配。链接中接受的答案指出,不建议将电平敏感闩锁作为解决方案,因为它们会导致更多 ..
发布时间:2022-03-23 19:34:54 其他开发

停车场闸门仿真中的未知值(X)

我正在用VHDL语言设计一个停车场闸门。当我使用Quartus VWF文件模拟它时,我得到了未知值(X),但我不知道原因。 基本上,您只需验证您的卡(Sin),大门就会打开10秒。 而当一辆车离开停车场(Sout)时,它会统计停车场内此刻的车辆总数。 我已经为计时器创建了信号Ncarros(计算车数)和s_count。 都可以正确编译。但是当我使用VWF文件测试它时,我得到的是: O ..
发布时间:2022-03-23 19:28:53 其他开发

不能用VHDL2008Quartus Prime编译

我使用的是Quartus Prime Lite Edition,我想在STD_LOGIC_VECTOR上使用一元运算符NAND,如下所示 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity example1 is port( BIN : in std_ ..
发布时间:2022-03-23 19:17:53 其他开发