EDA关于vhdl程序仿真的问题

2024-05-09

1. EDA关于vhdl程序仿真的问题

if clr='1'中的单引号应当是半角字符,从图上看好像有点不像;
elsif clk='event' and clk='1'描述不正确,应当是elsif clk'event AND clk='1'。

EDA关于vhdl程序仿真的问题

2. VHDL中仿真的一个问题

我看着好像意思是有一个同步的置位。

一般的reset信号都是异步的。很少用同步的复位。如果你确实是想要同步复位,那不用管这个warn。可能你的原本意思也是异步复位,但是你的代码中写错了。

一般的同步复位就是process的敏感变量中没有reset。

3. 用vhdl语言设计时遇到的一个问题。紧紧紧···

在VHDL中,每一个进程(process)都是一个电路模块,而所有的进程之间都是并行的,硬件上是同时工作的,没有先后顺序。
如果你在不同的进程中,对同一个信号进行赋值操作,就相当于在硬件上对同一个输出端同时赋予不同的信号值,这在硬件上是不可能实现的。所以,VHDL不允许在不同的进程中对同一个信号赋值。你只能将上面两个进程合并成为一个进程。

用vhdl语言设计时遇到的一个问题。紧紧紧···

4. 关于VHDL语言的问题:

你可以定义成 out: std_logic_vector(3 downto 0). 这样就只有4个引脚了。
或者直接定义成  out: std_logic; 这样就只有一个引脚了。 根据不同的需要定义不同数量的引脚嘛。

5. 请指教一个关于VHDL语言的设计问题

你的“+”应当是逻辑+,也就是or,将表达式中的“+”改成“or”。

请指教一个关于VHDL语言的设计问题

6. 关于VHDL语言中使用EVENT属性的问题,高手请进!

EVENT是表示当一个事件发生了,但是VHDL里面要求必须说明到底发生了什么事,VHDL才能根据发生的事情 来做判断!你只给出了一个EVENT VHDL不知道是发生什么事情,所以它不能判断!!! 换句通俗的话说,VHDL不支持无知的发生事件!
时钟变化有包括上升和下降,还有没变,if clk'event and clk='1' 表示上升
同样的 clk'event and clk='0'表示下降 再加个else 就表示没变化了

7. 关于用VHDL语言编写好程序后用modelsim进行仿真,所有的值都是U,波形都是红线的问题

我的代码也有红线,,,继续百度中,,

关于用VHDL语言编写好程序后用modelsim进行仿真,所有的值都是U,波形都是红线的问题

8. 求助!!用VHDL语言编写程序时,编译通过,但仿真的时候缺少一个输入引脚,这是由什么原因引起的???

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CRC IS
PORT(CODE1:IN STD_LOGIC_VECTOR(13 DOWNTO 0);
     RESULT:OUT STD_LOGIC_VECTOR(13 DOWNTO 0));
END ENTITY CRC;
ARCHITECTURE behave OF CRC IS
BEGIN
PROCESS(CODE1) IS
VARIABLE NUM:STD_LOGIC_VECTOR(4 DOWNTO 0);
VARIABLE CODE2:STD_LOGIC_VECTOR(13 DOWNTO 0);
BEGIN
NUM:="10011";
CODE2<=CODE1;
FOR i IN 0 TO 9 LOOP
 IF(CODE2(13-i)='1') THEN
  FOR j IN 0 TO 4 LOOP
  CODE2(9-i+j):=CODE2(9-i+j) XOR NUM(j);
  END LOOP;
 END IF;
END LOOP;
RESULT<=CODE2;
END PROCESS;
END ARCHITECTURE behave;