Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library ieee;
- use ieee.std_logic_1164.all;
-
- entity myMux is
- port (Din : in bit_vector(3 downto 0);
- sel : in bit_vector(1 downto 0);
- y : out bit);
- end;
-
- architecture be of myMux is
- begin
-
- with sel select
- y <= Din(0) when "00",
- Din(1) when "01",
- Din(2) when "10",
- Din(3) when "11";
-
- end be;
- ללא התניות:
- Port (s : in integer range 0 to 3;
- בפורט
- y <= din(s)
- בארכיטקטורה
- 1. מהו גודל הזכרון המוקצה עבור INTEGER RANGE 0 TO 3 ? מהו גודל הזכרון המוקצה עבור INTEGER RANGE 0 TO 9?
- עבור משתנה בטווח של 0 עד 3 מוקצה בזיכרון 2 סיביות (11 - 3), בטווח 0 עד 9 מוקצה בזיכרון 4 סיביות.(9 - 1001)
- 2. האם המרבב הינו סינכרוני או א-סינכרוני? הסבר מדוע.
- המרבב הינו מרבב אסינכרוני כיוון שהוא לא מופעל באמצעות דרבון.
- 3. האם ניתן לכתוב מרבב סינכרוני? הסבר כיצד.
- אכן ניתן לרשום מרבב סינכרוני, נדרש להוסיף כניסת דרבון והליך טורי.
- 4. האם פקודת Select .. With עובדת גם בתוך הליך טורי?
- לא. פקודה זו נרשמת אך ורק בהליך מקבילי.
- 5. מהם השינויים בתוכנית שצריך לעשות על מנת שבאמצעות שינוי ערך אחד נוכל לשנות את גודל המרבב?
- ניתן להוסיף משתנה גנרי (GENERIC), לרשום את הכניסות והיציאות כתלות במשתנה זה לדוגמה: (0 downto m)
- לסיום, נדרש לשנות את התיאור ההתנהגותי (ARCHITECTURE) ולגרום למוצא להיות תלוי במיקום הסיבית עליה מצביע משתנה הבקרה: y <= din(s)
- 6. מה הפקודה המקבילה בהליך טורי לפקודה ?WITH SELECT
- CASE.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement