เพิ่มค่ากับ 7-ส่วนแสดง

0

คำถาม

ฉันกำลังพยายามเพิ่ม 2 แสดงผลด้วยกันและแสดงให้เห็นผลลัพธ์อยู่ในครั้งที่สาม/สี่แสดงตอน 7 ส่วนแสดงผล กันและผลส่งออกแสดงในของตัวเองทิศทางจัดวางตามลำดับ สี่แสดงการเป็นสองตัวเลขจำนวน(แม็กซ์เป็นที่ 14 มินเป็น 0). ฉันกำลังจะเกิดข้อผิดพลาดแค่ชี้ถึงข้อนั้นผมต้องการจะเขียนทั้งโหของคดีนี้"เพิ่ม". ไม่แน่ใจว่าจะไปจากที่นี่ ช่วยเป็นเกียรติอย่างยิ่ง

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY  Midterm2_Q2_4369 IS
PORT (

SW: IN STD_LOGIC_VECTOR(2 DOWNTO 0);
SW0: IN STD_LOGIC_VECTOR(2 DOWNTO 0);

ADD: IN STD_LOGIC_VECTOR(6 DOWNTO 0);
Y: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
Y0: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
Y1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

Y2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END Midterm2_Q2_4369;
ARCHITECTURE MUX8 OF Midterm2_Q2_4369 IS 
BEGIN
PROCESS (SW,SW0,ADD)
BEGIN
CASE SW IS
WHEN "000" => Y <= "0000001";

WHEN "001" => Y <= "1001111";

WHEN "010" => Y <= "0010010";

WHEN "011" => Y <= "0000110";

WHEN "100" => Y <= "1001100";

WHEN "101" => Y <= "0100100";

WHEN "110" => Y <= "0100000";

WHEN "111" => Y <= "0001111";
END CASE;

CASE SW0 IS
WHEN "000" => Y0 <= "0000001";

WHEN "001" => Y0 <= "1001111";

WHEN "010" => Y0 <= "0010010";

WHEN "011" => Y0 <= "0000110";

WHEN "100" => Y0 <= "1001100";

WHEN "101" => Y0 <= "0100100";

WHEN "110" => Y0 <= "0100000";

WHEN "111" => Y0 <= "0001111";
END CASE;

CASE ADD IS
WHEN "0000000" => Y1 <= "0000001"; --0

WHEN "0000001" => Y1 <= "1001111"; --1

WHEN "0000010" => Y1 <= "0010010"; --2

WHEN "0000011" => Y1 <= "0000110"; --3

WHEN "0000100" => Y1 <= "1001100"; --4

WHEN "0000101" => Y1 <= "0100100"; --5

WHEN "0000110" => Y1 <= "0100000"; --6

WHEN "0000111" => Y1 <= "0001111"; --7

WHEN "0001111" => Y1 <= "0000000"; --8

WHEN "0010111" => Y1 <= "0000100"; --9
     --8421421
WHEN "0011111" => Y2 <= "1001111"; --(1)0

WHEN "0100111" => Y2 <= "1001111"; --(1)1

WHEN "0101111" => Y2 <= "1001111"; --(1)2

WHEN "0110111" => Y2 <= "1001111"; --(1)3

WHEN "0111111" => Y2 <= "1001111"; --(1)4--

WHEN "1000111" => Y2 <= "1001111"; --(1)5

WHEN "1001111" => Y2 <= "1001111"; --(1)6

WHEN "1010111" => Y2 <= "1001111"; --(1)7--

WHEN "1011111" => Y2 <= "1001111"; --(1)8

WHEN "1100111" => Y2 <= "1001111"; --(1)9
END CASE;

END PROCESS;
END MUX8;
case seven-segment-display vhdl
2021-11-18 17:19:32
1

คำตอบที่ดีที่สุด

2

เมื่อใช้เป็น case ในภาษา vhdllanguage ทั้งคดีคงเป็นครอบคลุม. Becasue SW, SW0 แล้ว ADD ทุกคน std_logic_vectorคุณต้องยังปกปิดทั้งหมดปุ่มพิมพ์เปลี่ยนหน้าที่คดีเหมือน"UUUUUUUU"เป็นต้น ทางที่ง่ายที่สุดที่จะทำแบบนี้กับ others.

สำหรับตัวอย่าง SW0 มีทุกอย่าง"จริง"ปกปิดคดีแต่คุณต้องก็คุ้มค่าที่สามารถเกิดขึ้นในระบบจำลอง,ดังนั้นให้เป็นประโยชน์ข้อความ:

CASE SW0 IS
  WHEN "000" => Y0 <= "0000001";
  WHEN "001" => Y0 <= "1001111";
  WHEN "010" => Y0 <= "0010010";
  WHEN "011" => Y0 <= "0000110";
  WHEN "100" => Y0 <= "1001100";
  WHEN "101" => Y0 <= "0100100";
  WHEN "110" => Y0 <= "0100000";
  WHEN "111" => Y0 <= "0001111";
  when others => report "Meta value detected" severity warning;-- simulation only case
END CASE;

คุณยังต้องให้แน่ใจว่าทุกคดีเป็นปกปิดให้ SW แล้ว ADD ด้วย

2021-11-19 17:19:30

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่