मुझे std_logic_vector(data_width-1) downto 0 में इनपुट a और b के साथ एक योजक मिला है और योग std_logic_vector(data_width) downto 0 का आउटपुट है। मैं कैरी बिट को बायपास करने और इसे योग में जोड़ने के लिए if स्टेटमेंट का उपयोग करने का प्रयास कर रहा हूं

मुझे सिंटैक्स के साथ मदद की ज़रूरत है, विचार यह है कि यदि कैरी का एमएसबी 1 है तो यह उत्तर में 1 जोड़ता है (sum)

architecture v1 of adding is
begin
adding : process (A, B) is
    variable CI :  std_logic_vector((DATA_WIDTH) downto 0);
    variable SUMMER :  std_logic_vector((DATA_WIDTH) downto 0);
begin   
            SUMMER := A xor B;
            CI := A and B;
            CI_msb <= CI(CI'left);
            if CI_msb =  '1' then
                SUMMER = SUMMER + 1;
            end if;

मुझे (summer = summer + 1;) के बारे में सिंटैक्स त्रुटियां मिल रही हैं, मैं यह जानने के लिए पर्याप्त रूप से परिचित नहीं हूं कि क्या आवश्यक है।

-1
rory 14 जुलाई 2019, 16:49

1 उत्तर

सबसे बढ़िया उत्तर

एक चर के लिए एक मान निर्दिष्ट करने के लिए आपको := का उपयोग करना होगा, इसलिए कोड SUMMER := SUMMER + 1; बन जाता है।

0
Giampietro Seu 14 जुलाई 2019, 14:45