在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 手機(jī)與無(wú)線(xiàn)通信 > 設(shè)計(jì)應(yīng)用 > 用VHDL設(shè)計(jì)專(zhuān)用串行通信芯片

            用VHDL設(shè)計(jì)專(zhuān)用串行通信芯片

            作者: 時(shí)間:2009-07-17 來(lái)源:網(wǎng)絡(luò) 收藏
            (5)WTHR.VHD

            本文引用地址:http://www.biyoush.com/article/157976.htm

            WTHR.VHD作為整個(gè)的發(fā)送模塊,其中包括發(fā)送保持器、并/串轉(zhuǎn)換。

            端口描述如下:

            entity wthr is

            port (sen:in STD_LOGIC; --發(fā)送使能信號(hào)

            whtr: in STD_LOGIC; --寫(xiě)發(fā)送保持器信號(hào)

            dbus: in STD_LOGIC_VECTOR (7 downto 0;

            --8位數(shù)據(jù)線(xiàn),單向

            rsthr:in STD_LOGIC; --清發(fā)送保持器

            thre:out STD_LOGIC; --發(fā)送保持器數(shù)據(jù)空

            thre:out STD_LOGIC; --發(fā)送數(shù)據(jù)線(xiàn)

            clkout:out STD_LOGIC; --發(fā)送數(shù)據(jù)同步時(shí)鐘信號(hào)

            sclk: in STD_LOGIC); --波特率發(fā)生器產(chǎn)生的分頻信號(hào)

            end wthr;

            當(dāng)發(fā)送保持器無(wú)數(shù)據(jù)時(shí),thre信號(hào)有效,通知CPU可寫(xiě)。一旦CPU寫(xiě)入數(shù)據(jù)且sen有效,便根據(jù)波特率發(fā)生器產(chǎn)生的sclk信號(hào)將數(shù)據(jù)并/串轉(zhuǎn)換,并通過(guò)dout和clkout將數(shù)據(jù)和同步時(shí)鐘發(fā)送。

            仿真波形如圖5。部分實(shí)現(xiàn)代碼如下:

            process (rsthr,sclk,sen,sef) --parallel data to serial data variable l:integer range 0 to 7;

            begin

            if rsthr='1' then

            m=0;

            1:=7;

            sef='1';

            elsif wthr='1'then

            sef='0';

            elsif sen='1'and sef='0' then

            if sclk'event and sclk='1' then

            dout=w_p(1);

            m=m+1;

            l:=1-1;

            if m=7 then

            m=0;

            1:=7;

            esf=='1';

            end if;

            end if;

            end if;

            end process;

            3 實(shí)現(xiàn)難點(diǎn)及使用應(yīng)注意的一些問(wèn)題

            由于語(yǔ)言是描述硬件行為的,相對(duì)其它開(kāi)發(fā)軟件的高級(jí)語(yǔ)言而言,在編程過(guò)程中有一些特殊性,所以經(jīng)常會(huì)出現(xiàn)語(yǔ)法正確但無(wú)法綜合的問(wèn)題。其原因多半因?yàn)榫幊陶邔?duì)硬件內(nèi)部的工作原理了解不夠,寫(xiě)出的代碼硬件無(wú)法實(shí)現(xiàn)。通過(guò)這塊,在此總結(jié)出一些應(yīng)注意的問(wèn)題,供大家參考:

            (1)在一個(gè)進(jìn)程中只允許一個(gè)信號(hào)上升沿作為觸發(fā)條件。

            (2)信號(hào)值改變后要經(jīng)過(guò)一個(gè)小的延時(shí)才能生效,同個(gè)信號(hào)不能在多個(gè)進(jìn)程中賦值(因?yàn)槎鄠€(gè)信號(hào)源不能同時(shí)對(duì)同一個(gè)信號(hào)驅(qū)動(dòng))。

            (3)時(shí)序電路和組合電路最好不要在同一個(gè)進(jìn)程中,以免費(fèi)資源。

            (4)一個(gè)功能模塊最好按上升沿信號(hào)分多個(gè)進(jìn)程完成,各進(jìn)程間用信號(hào)聯(lián)系。

            (5)同一個(gè)信號(hào)在進(jìn)程中的值改變后,要注意該值改變前后該進(jìn)程中其它變量的變化,避免邏輯死鎖。

            (6)在順序語(yǔ)句中,注意信號(hào)因賦值后需延時(shí)改變而與變量的不同。

            (7)雙向三態(tài)數(shù)據(jù)線(xiàn)時(shí),內(nèi)部數(shù)據(jù)線(xiàn)最好讀寫(xiě)分開(kāi)。與外部結(jié)合時(shí),不同讀數(shù)據(jù)線(xiàn)之間,讀寫(xiě)數(shù)據(jù)線(xiàn)之間應(yīng)使用三態(tài)門(mén),且由讀信號(hào)控制。

            由于采用了語(yǔ)言作為輸入方式并細(xì)合可編程邏輯門(mén)陣列CPLD,大大縮短了設(shè)計(jì)周期,提高了設(shè)計(jì)的可靠性、靈活性,使用戶(hù)可根據(jù)自己的需求,方便、高效地設(shè)計(jì)出適合的。


            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉