安青在线论坛

 找回密码
 注册
搜索
查看: 462|回复: 3

有会VHDL语言的吗,帮我一下

[复制链接]

2

主题

0

好友

29

积分

初识适之

Rank: 1

签到天数: 5 天

连续签到: 1 天

[LV.2]偶尔看看I

威望
0 点
注册时间
2013-1-10
精华
0
帖子
12
发表于 2016-5-24 20:52 |显示全部楼层
library ieee;
use ieee.std_logic_1164.all;
use IEEE.STD_LOGIC_ARITH.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;
entity mul12 is
    port(ain: in std_logic_vector(11 downto 0);
         bin: in std_logic_vector(11 downto 0);
         qout: out std_logic_vector(23 downto 0));
end mul12;
architecture rtl of mul12 is
begin
    process(ain,bin)  
        variable pa: signed(24 downto 0);
        variable a_1: std_logic;
        alias p: signed(12 downto 0) is pa(24 downto 12);
    begin
        p:=(others=>'0');
        pa(11 downto 0):=signed(ain);
        a_1:='0';
        for i in 1 to 12 loop
            case std_logic_vector'(pa(0),a_1) is
                when "01" => p:=p+signed(bin);
                when "10" => p:=p-signed(bin);
                when others => null;
            end case;
            a_1:=pa(0);
            pa:=shift_right(pa,1);
        end loop;
        qout<=std_logic_vector(pa(23 downto 0));
    end process;
end rtl;

2

主题

0

好友

29

积分

初识适之

Rank: 1

签到天数: 5 天

连续签到: 1 天

[LV.2]偶尔看看I

威望
0 点
注册时间
2013-1-10
精华
0
帖子
12
发表于 2016-5-24 20:52 |显示全部楼层
这是12位的乘法器,谁能帮我改下错误
回复

使用道具 举报

2

主题

0

好友

29

积分

初识适之

Rank: 1

签到天数: 5 天

连续签到: 1 天

[LV.2]偶尔看看I

威望
0 点
注册时间
2013-1-10
精华
0
帖子
12
发表于 2016-5-24 20:53 |显示全部楼层
本帖最后由 474048903 于 2016-5-24 20:55 编辑

帮我改一下吧,小白实在不懂

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

回复

使用道具 举报

1

主题

0

好友

14

积分

初识适之

Rank: 1

该用户从未签到

威望
0 点
注册时间
2013-5-25
精华
0
帖子
4
发表于 2016-6-23 16:03 |显示全部楼层
VHDL是硬件描述语言,描述功能即可,没必要描述到电路的内部实现,定义两个12bit的变量,直接相乘即可
回复

使用道具 举报

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

Archiver|手机版|安青在线论坛 ( 皖ICP备06004542号

GMT+8, 2017-11-19 01:57 , Processed in 0.218400 second(s), 31 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部