关于modelsim和matlab协仿真的问题,用的是verilog语言。。。。
问题:用vhdl语言和Verilog语言和matlab协仿真同一个程序,在modelsim上跑出来的结果不一样。导致时序有问题。网上查了很多资料没有结果。(调用的.m函数一样即输入信号一样)。
例子: 带使能信号和复位信号的加法器,由matlab给输入数据addin,en。
错误: VHDL仿真结果貌似是正确的,但是verilog语言仿真的结果addout应该延时输入的addin一个clk,为什么没有延时呢。!
1. VHDL语言:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity test is
port
(
rst_n : in std_logic;
clk : in std_logic;
en : in std_logic;
addin : in std_logic_vector(11 downto 0);
addout : out std_logic_vector (11 downto 0)
);
END test;
architecture rtl of test is
signal add1 : std_logic_vector(11 downto 0);
begin
process(clk,rst_n)
begin
if rst_n ='0' then
add1 '0');
elsifclk'event and clk = '1' then
if en = '1' then
add1 =10
iport.addin=dec2bin(inc,12);
iport.en=dec2bin(1,1);
end
if 30==mvl2dec(oport.addout)
iport.en=dec2bin(0,1);
end
iport.rst_n=rst;
end