音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

vhdl中向port賦值后值會(huì)變化嗎?

作者:hbsjzzx 欄目:EDA技術(shù)
vhdl中向PORT.html">PORT賦值后值會(huì)變化嗎?
這是我修改后的代碼。原來的代碼中是沒有那個(gè)signal的,直接向端口賦值。但是仿真波形中ACC有時(shí)會(huì)自動(dòng)清0,改后就沒問題了。請問是什么原因?我用的maxplusII
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_signed.all;

ENTITY acc_alu IS

    PORT
    (     BR                        : IN     std_logic_vector(15 downto 0);
        add,sub,shiftl,shiftr    : IN    std_logic;
        logic_and,logic_or,logic_not    : IN    std_logic;

        sl_in,sr_in,reset,clk    : IN    std_logic;
        acc_is0                    :out    std_logic;
        acc                        : buffer     std_logic_vector(15 downto 0)    );
    
END acc_alu;

ARCHITECTURE a OF acc_alu IS
signal acc1:std_logic_vector(15 downto 0);
BEGIN
     acc_is0<='1' when acc="0000000000000000" else '0';
   PROCESS (clk)
      variable selfunction : std_logic_vector(6 downto 0);
     BEGIN                                        
       selfunction:=add & sub & shiftl & shiftr & logic_and & logic_or & logic_not;    
         if reset='1' then
            acc1<="0000000000000000";
           elsif clk'event and clk = '1' then
             case selfunction is
                    when "1000000"=>    --acc=acc+br
                          acc1<=acc1+BR;
                    when "0100000"=>    --acc=acc-br
                          acc1<=acc1-BR;
                    when "0010000"=>    --shift  acc to the left 1 bit
                         acc1<=acc1(14 downto 0) & sl_in;
                    when "0001000"=>    --shift  acc to the right 1 bit
                         acc1<=sr_in & acc1(15 downto 1);
                    when "0000100"=>    --acc=acc AND br
                          acc1<=acc1 and BR;
                    when "0000010"=>    --acc=acc OR br
                          acc1<=acc1 or BR;
                    when "0000001"=>    -- complement acc; acc=not acc;
                          acc1<=not acc1;
                    when others=>NULL ;   --in other cases, acc don't be changed
              end case;
            acc<=acc1;
       end if;
     END PROCESS;
END a;

2樓: >>參與討論
loottp
buffer是緩沖模式
該模式表示端口數(shù)據(jù)或信號(hào)既可以向設(shè)計(jì)實(shí)體外部作用而流出端口,同時(shí)也可以將流出端口的數(shù)據(jù)或信號(hào)引回到被設(shè)計(jì)實(shí)體,用于實(shí)現(xiàn)內(nèi)部反饋。內(nèi)部反饋的實(shí)現(xiàn)方法是被設(shè)計(jì)實(shí)體的一個(gè)端口設(shè)定為緩沖模式,同時(shí)在該設(shè)計(jì)實(shí)體內(nèi)部建立內(nèi)部結(jié)點(diǎn)。也就是要加一個(gè)signal的原因

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
計(jì)數(shù)器到底能達(dá)到多高的頻率--挑戰(zhàn)各位大俠!
兩美元的FPGA?
關(guān)于ALTERA,CPLD的輸出電壓接口,請看這三張圖,
各位大哥,幫幫小弟呀!
求助!EPF10K10的下載問題?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)