567|3

9

帖子

0

资源

一粒金砂(中级)

vhdl编写的移位相加型乘法器 modelsim仿真与预期不符 [复制链接]

1芯积分

vhdl编写的移位相加型乘法器  modelsim仿真与预期不符。自己找不出问题,希望得到大家指点

原代码

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY mul_1 IS
GENERIC(s:INTEGER :=4);
PORT (a,b:IN STD_LOGIC_VECTOR(s DOWNTO 1);
      y:OUT STD_LOGIC_VECTOR(2*s DOWNTO 1)
      );
END ENTITY;

ARCHITECTURE yiwei OF mul_1 IS
  SIGNAL a0:STD_LOGIC_VECTOR(2*s DOWNTO 1);
  BEGIN 
    a0<=CONV_STD_LOGIC_VECTOR(0,s)&a;---cov_std_logic_vector将0转换为s位的STD_LOGIC_VECTOR,该语句为将a高四位补零,补成8位数组
    PROCESS(a,b) IS 
     VARIABLE r1:STD_LOGIC_VECTOR(2*s DOWNTO 1);
       BEGIN
       r1:=(OTHERS=>'0');
        FOR i IN 1 TO s LOOP
          IF (b(i)='1') THEN 
           r1:=r1+TO_STDLOGICVECTOR(TO_BITVECTOR (a0) SLL (i-1));--to_stdlogicvector、to_BITVECTOR在unsigned库中,
          END IF;
        END LOOP;
         y<=r1;
      END PROCESS;
END ARCHITECTURE;
  

仿真结果

image.png

希望大佬解惑 


回复

6741

帖子

0

资源

五彩晶圆(初级)

头文件添加的对不


回复

9

帖子

0

资源

一粒金砂(中级)

Jacktang 发表于 2022-4-22 07:16 头文件添加的对不

工程中就一个文件,quartus ii里面也设置了顶层文件,您说的头文件是指?


回复

9

帖子

0

资源

一粒金砂(中级)

本帖最后由 洽洽香瓜子 于 2022-4-26 10:25 编辑

问题解决,将process后的is取消掉后,乘法器仿真结果正常! image.png 原因总结:modelsim编译器process后不能有is,否则会阻塞信号进入process模块,造成输出不定态,而ISE编译器process后无论是否有is都是可以正常仿真的。


回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/9 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表