找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1927|回復: 1
打印 上一主題 下一主題
收起左側

VHDL四選一的結構描述

[復制鏈接]
跳轉到指定樓層
樓主
ID:833673 發(fā)表于 2023-3-17 15:42 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
VHDL語句的四選一結構描述
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity erxuanyi is
    Port ( A, B, Sel : in std_logic;
           Y : out std_logic);
end erxuanyi;
architecture Behavioral of erxuanyi is
begin
    Y <= A when Sel = '0' else B;
end Behavioral;

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity sixuanyi is
    Port ( A, B, C, D, Sel : in std_logic_vector(1 downto 0);
           Y : out std_logic);
end sixuanyi;

-- 實現(xiàn)模塊
architecture Behavioral of sixuanyi is

    -- 元件例化
    component erxuanyi
        Port ( A, B, Sel : in std_logic;
               Y : out std_logic);
    end component;

    -- 信號定義
    signal AB, CD : std_logic;
begin

    -- 實例化二選一模塊
    U1: erxuanyi port map (A => A(0), B => B(0), Sel => Sel(0), Y => AB);
    U2: erxuanyi port map (A => C(0), B => D(0), Sel => Sel(0), Y => CD);

    -- 連接選擇信號
    U3: erxuanyi port map (A => AB, B => CD, Sel => Sel(1), Y => Y);

end Behavioral;


verilog語句的四選一結構描述
module erxuanyi(
    input A, B, Sel,
    output Y
);

    assign Y = (Sel == 1'b0) ? A : B;

endmodule

module sixuanyi(
    input [1:0] A, B, C, D, Sel,
    output Y
);

    wire AB, CD;

    erxuanyi U1(
        .A(A[0]), .B(B[0]), .Sel(Sel[0]),
        .Y(AB)
    );

    erxuanyi U2(
        .A(C[0]), .B(D[0]), .Sel(Sel[0]),
        .Y(CD)
    );

    erxuanyi U3(
        .A(AB), .B(CD), .Sel(Sel[1]),
        .Y(Y)
    );

endmodule

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1005954 發(fā)表于 2023-5-10 15:34 | 只看該作者
為什么有兩個實體名啊erxuanyi和sixuanyi
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表