乘数成分

问题描述 投票:-3回答:1

我正在尝试在VHDL中构建4x4乘法器的顶级组件,但在理解一些内容时遇到了一些麻烦。

我正在尝试编写VHDL代码以表示下面的以下组件:

Circuit figure for the implementation of VHDL Code

我已经为其编写了以下VHDL代码,但希望有人可以看一下并给我他们的反馈:

LIBRARY ieee;
USE ieee.std_logic_1164.all;


ENTITY multiplier IS
    PORT(
            cin  : IN STD_LOGIC;

            cout:  OUT STD_LOGIC;
            SUM :  OUT STD_LOGIC;

            mk1 :  IN STD_LOGIC;
            mk  :  IN STD_LOGIC;

            q0  :  IN STD_LOGIC;
            q1  :  IN STD_LOGIC);


END multiplier;

ARCHITECTURE function OF multiplier IS
    BEGIN

            cout <= (((q0 AND mk1) AND (q1 AND mk)) OR ((q0 AND mk1) AND cin) OR ((q1 AND mk) AND cin));

            sum  <= ((q0 AND mk1) XOR (q1 AND mk) XOR cin);

END function;

这使我想到了最后一个问题,即仿真波形,我该如何确认电路的功能?

提前谢谢您

vhdl multiplication circuit
1个回答
-2
投票

您链接的图片以及您编写的代码都不适合4x4乘法器(4x4具有两个4位输入,而它具有两个2位输入),但我想它是更大的一部分系统。如果不是这样,那么本研究论文将稍微讨论一下4x4乘法器的体系结构:https://www.researchgate.net/publication/321382885_A_Novel_Heterogeneous_Approximate_Multiplier_for_Low_Power_and_High_Performance/figures?lo=1

在我看来,您提供的图片也希望您将q0,q1和mk也作为输出。因此,请确保再创建3个由这些输入驱动的输出端口。除此之外,您完整的加法器逻辑是正确的,并且您编写的代码与您提供的图片是准确的。关于仿真,首先您需要编写一个测试平台。这是一个很好的教程:https://allaboutfpga.com/vhdl-testbench-tutorial/

最后,您将需要运行此测试平台。这取决于您使用的是哪个仿真套件(Vivado,ModelSim等),但是其中大多数只是将代码设置为顶层,然后单击运行按钮。

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.