精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探秘HPM6200系列MCU的可編程邏輯陣列

331062281 ? 來(lái)源:先楫半導(dǎo)體HPMicro ? 2023-07-04 11:21 ? 次閱讀

HPM6200 系列 PLA 整體結(jié)構(gòu)

HPM6200 系列的 UM 中帶有 PLA 的結(jié)構(gòu)簡(jiǎn)圖。為了方便大家把握整體結(jié)構(gòu),我也繪制了一個(gè)稍微更詳細(xì)的結(jié)構(gòu)圖,將 PLA 外設(shè)中的大部分元素都展示出來(lái),并給出了單個(gè)通道內(nèi)的具體結(jié)構(gòu)。

c090e136-1a19-11ee-962d-dac502259ad0.png

從總體來(lái)看,PLA 外設(shè)擁有 8 輸入、8 反饋、8 輸出,其中 8 輸入、8 反饋是內(nèi)部的 8 個(gè)通道共享,8 輸出則是每個(gè)通道使用一個(gè)。輸入、輸出均連接到 TRGM 外設(shè),再通過(guò) TRGM 連接到定時(shí)器、編碼器、外部引腳等地方。需要注意的是,PLA 的 8 輸入、8 輸出并非全部都能引出至外部引腳中。每個(gè) PLA 外設(shè)都連接到一個(gè)指定的 TRGM 外設(shè),而每個(gè) TRGM 外設(shè)最多僅可連接 12 個(gè)外部引腳,同時(shí) TRGM 還可能有其他信號(hào)需要接到外部引腳中,如果想要使用更多外部引腳,則還需要使用 TRGM 間連接等方式。因此,在設(shè)計(jì) PLA 程序時(shí)需要盡可能提前考慮 I/O 安排的問(wèn)題。

每個(gè) PLA 外設(shè)由一個(gè)濾波器 FILTER1 和 8 個(gè)通道組成,F(xiàn)ILTER1 對(duì)輸入和反饋信號(hào)進(jìn)行濾波后,寬度為 16bit 的信號(hào)將同時(shí)輸入到 8 個(gè)通道之中(這個(gè)扇出也挺驚人的)。每個(gè)通道的輸出寬度均只有 1bit,8 個(gè)通道合并組成的 8bit 就是 PLA 外設(shè)的輸出。下面我們將分別對(duì) PLA 濾波器和單個(gè)通道進(jìn)行介紹。

PLA 外設(shè)中的濾波器

和我們之前介紹過(guò)的 PLA 結(jié)構(gòu)相比,HPM6200 系列的 PLA 最大的特點(diǎn)就是多出了一些濾波器。每個(gè) PLA 外設(shè)都有一個(gè) FILTER1 濾波器,8 個(gè)通道中每個(gè)通道還各有一個(gè) FILTER2 濾波器和 FILTER3 濾波器。目前,文檔中并沒(méi)有向我們介紹這些濾波器的設(shè)計(jì)目的,不過(guò)我們也不難從其功能中窺探一二。無(wú)論是 FILTER 1, 2 還是 3,他們的功能基本一致:將輸入信號(hào)經(jīng)過(guò)同步、邊沿檢測(cè)、軟件注入和擴(kuò)展濾波四個(gè)環(huán)節(jié)后輸出。

1. 同步

文檔中并沒(méi)有告訴我們同步功能的具體實(shí)現(xiàn)方式,不過(guò)在這一段描述里面,我們可以大致猜測(cè)出很多信息

FILTER_SYNC_LEVEL 位選擇同步器級(jí)數(shù),清 0 時(shí)為 2 級(jí)同步,置 1 時(shí)為 3 級(jí)同步。根據(jù)該位的設(shè)置,同步器會(huì)將信號(hào)延時(shí) 2 個(gè)或者 3 個(gè)時(shí)鐘周期。

2級(jí)、3 級(jí)同步可選,聽(tīng)上去就與跨時(shí)鐘域處理中的同步器很像。比較了解 FPGAIC 設(shè)計(jì)的朋友知道,同步器是減少亞穩(wěn)態(tài)對(duì)邏輯電路影響的一個(gè)常用措施,PLA 外設(shè)可以接受外部輸入的信號(hào),自然也算是一種“跨時(shí)鐘域”傳遞信號(hào)的過(guò)程。同時(shí),增加同步功能還有利于避免出現(xiàn)組合邏輯電路的競(jìng)爭(zhēng)-冒險(xiǎn),畢竟 FPGA 和 CPLD 開(kāi)發(fā)時(shí)有 EDA (盡管 EDA 也不完全可靠)工具幫忙看著,我們?cè)诤?PLA 玩耍的時(shí)候就沒(méi)那么好的條件了。因此我們不妨猜測(cè)同步功能實(shí)際上就是使用 2/3 級(jí)觸發(fā)器構(gòu)成的同步器。

2. 邊沿檢測(cè)

這一功能很好理解,將邊沿轉(zhuǎn)為脈沖,此處不再贅述。

3. 軟件注入

這一功能也很好理解:強(qiáng)制將輸出設(shè)置為高電平或低電平。實(shí)際上各邏輯門(mén)前的四選一 MUX 也能實(shí)現(xiàn)類(lèi)似的功能,這一功能更多是為可配置觸發(fā)器 CFF 或者是降低配置復(fù)雜度而生的。

4. 擴(kuò)展濾波

擴(kuò)展濾波要比上面三個(gè)功能復(fù)雜得多,文檔也并沒(méi)有講得特別清楚,下面我將結(jié)合實(shí)際例子,分別介紹它的四個(gè)濾波類(lèi)型效果。

在開(kāi)始之前,我們首先要了解 PLA 外設(shè)的時(shí)鐘。PLA 外設(shè)掛載在 AHB/APB 總線下,因此也受在 AHB/APB 時(shí)鐘(默認(rèn) 200MHz)驅(qū)動(dòng)。在上文提到的同步器同步周期數(shù)量中,2/3 級(jí)同步就是指的 AHB/APB 時(shí)鐘的 2/3 個(gè)周期。擴(kuò)展濾波功能最高支持 65535 周期的擴(kuò)展,對(duì)應(yīng)的 AHB/APB 時(shí)鐘周期數(shù)也為 65535 周期,單個(gè)周期的時(shí)間為 5ns,這在我們后續(xù)的計(jì)算中會(huì)常常用到。對(duì)于 hpm_sdk v1.2 以前的版本,周期數(shù)配置部分存在一個(gè)小 bug,需在代碼中將計(jì)算出來(lái)的周期數(shù)乘二。

(1)輸入高電平擴(kuò)展

這一個(gè)模式相對(duì)比較好理解:擴(kuò)展高電平的長(zhǎng)度,也就是在輸入信號(hào)變?yōu)榈碗娖揭院?,輸出信?hào)仍會(huì)保持高電平,時(shí)間為設(shè)定的周期數(shù)。下圖給出了一個(gè)例子。輸入信號(hào)是周期為 80μs,占空比 50% 的 PWM 信號(hào),濾波器設(shè)置為輸入高電平拓展,周期數(shù)為 2000,輸出信號(hào)較輸入信號(hào)延遲10μs 變?yōu)榈碗娖健?/p>

c0ee40ec-1a19-11ee-962d-dac502259ad0.png

(2)輸入低電平擴(kuò)展

這一個(gè)模式正好與上一個(gè)模式相反。下圖輸入信號(hào)仍是周期為 80μs,占空比 50% 的 PWM 信號(hào),濾波器設(shè)置為輸入低電平拓展,周期數(shù)為 2000,輸出信號(hào)較輸入信號(hào)延遲 10μs 變?yōu)楦唠娖健?/p>

c106a1c8-1a19-11ee-962d-dac502259ad0.png

(3)輸出狀態(tài)擴(kuò)展

這一個(gè)模式可以看作是以上兩種模式的加和:既延長(zhǎng)低電平時(shí)間,也延長(zhǎng)高電平時(shí)間。輸入信號(hào)發(fā)生變化時(shí),輸出信號(hào)將先在設(shè)定的周期數(shù)內(nèi)維持現(xiàn)有狀態(tài),結(jié)束后跟隨輸入信號(hào)變化。這一模式可以起到兩個(gè)效果,一是將脈沖寬度小于設(shè)定周期數(shù)的脈沖全部過(guò)濾掉,二是將脈沖寬度大于設(shè)定周期數(shù)的脈沖延遲設(shè)定周期后輸出。

下圖前半段輸入信號(hào)是一個(gè)脈沖寬度為 40μs 的 PWM 波,輸出信號(hào)對(duì)比輸入信號(hào)延遲了 10μs;在后半段將輸入信號(hào)和輸出信號(hào)對(duì)比,則可以發(fā)現(xiàn)所有寬度不大于 10μs 的波形都被過(guò)濾掉了。

c1179802-1a19-11ee-962d-dac502259ad0.png

(4)輸入跳變擴(kuò)展

這一模式下輸出信號(hào)跟隨輸入信號(hào)變化,但是當(dāng)輸出信號(hào)發(fā)生過(guò)跳變以后,在設(shè)定周期數(shù)的時(shí)間內(nèi),輸出信號(hào)將保持不變,隨后輸出信號(hào)繼續(xù)跟隨輸入信號(hào)的變化。

下圖中前半段濾波器設(shè)置的周期數(shù)為 2000,對(duì)應(yīng) 10μs 的時(shí)間,因此對(duì)于半周期 20μs 的 PWM 信號(hào)不會(huì)產(chǎn)生任何影響;后半段濾波器設(shè)置的周期數(shù)為 6000,對(duì)應(yīng) 30μs 時(shí)間,因此在輸入信號(hào)從高電平跳變?yōu)榈碗娖揭院螅敵鲂盘?hào)還會(huì)繼續(xù)保持高電平直至 30μs 結(jié)束。

c1371920-1a19-11ee-962d-dac502259ad0.png

PLA 外設(shè)通道結(jié)構(gòu)

1. 與- 或陣列

每個(gè)通道的 16 信號(hào)輸入會(huì)分別接入到 8 個(gè) 16 輸入與門(mén)中,對(duì)單個(gè)輸出信號(hào)最高支持 8 個(gè)最小項(xiàng)相加(8 個(gè)與門(mén)),并可生成 7 個(gè)輸出信號(hào)(7 個(gè)或門(mén))。每個(gè)邏輯門(mén)的輸入端都有一個(gè)四選一 MUX,可選邏輯 1、邏輯 0、原信號(hào)和原信號(hào)取反四種輸入。

2. 可配置觸發(fā)器

CFF 可被配置為 D 觸發(fā)器、雙邊沿 D 觸發(fā)器、JK 觸發(fā)器、T 觸發(fā)器、鎖存器、運(yùn)算器和直接輸出信號(hào)這幾種功能。CFF 的輸出即為其所在通道的輸出,輸出信號(hào)寬度 1bit,輸入信號(hào)寬度則為 7bit,CFF 配置為各類(lèi)觸發(fā)器時(shí),觸發(fā)器的使能、置位、同步/異步復(fù)位、時(shí)鐘等信號(hào)均來(lái)自于 7bit 寬度的輸入信號(hào),具體的分配表可見(jiàn) UM 文檔。除了使用輸入信號(hào)以外,CFF 還可以使用 AHB/APB 的時(shí)鐘。

如何使用 HPM_SDK 中的PLA驅(qū)動(dòng)

在之前介紹的各種含有 PLA 的芯片基本都會(huì)配置對(duì)應(yīng)的 EDA 工具,用戶(hù)一般可以使用 verilog 編程或者圖形化界面編程,由 EDA 工具生成比特流。比如 PSoC 芯片用戶(hù)可以使用圖形化界面編輯狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移條件,再由軟件完成后端的處理。HPM6200 的 PLA 則沒(méi)有使用這種開(kāi)發(fā)方式,而是將所有的可配置項(xiàng)均以寄存器的方式暴露給 CPU,CPU 設(shè)置好對(duì)應(yīng)的寄存器以后,PLA 即可開(kāi)始工作。

1. FILTER

濾波器的可配置項(xiàng)非常多,包括是否同步、是否啟用邊沿檢測(cè)、是否軟件注入等一系列內(nèi)容,不過(guò)最關(guān)鍵的其實(shí)是準(zhǔn)確把握配置的數(shù)量。PLA 中有 1 個(gè) FILTER1、8 個(gè) FILTER2 和 8 個(gè) FILTER3,F(xiàn)ILTER1/2/3 中分別有 16/8/7 個(gè)信號(hào),每一個(gè)信號(hào)都可以獨(dú)立設(shè)置上述介紹過(guò)的所有濾波功能,也就是共有 136 個(gè)信號(hào),很容易錯(cuò)配、漏配。因此,除了所有通道共用的 FILTER1 單獨(dú)配置以外,F(xiàn)ILTER2/3 建議和它們所在的通道一同配置,避免混淆的同時(shí),如果部分通道沒(méi)有使用,也就不需要對(duì)它們的 FILTER2/3 進(jìn)行配置了。

c14f71aa-1a19-11ee-962d-dac502259ad0.jpg

濾波器的配置結(jié)構(gòu)體是一個(gè)位域結(jié)構(gòu)體,使用四個(gè)字節(jié)保存一個(gè)信號(hào)的濾波選項(xiàng),其每個(gè)成員的功能結(jié)合手冊(cè)也非常容易理解,注意,配置結(jié)構(gòu)體里面并沒(méi)有任何關(guān)于該配置位于哪個(gè)通道、哪個(gè)濾波器等位置的信息。結(jié)構(gòu)體填充完成以后,則需要使用以下幾個(gè)函數(shù)完成設(shè)置:

c171a34c-1a19-11ee-962d-dac502259ad0.jpg

這里面實(shí)際上有不少容易踩坑的地方。例如 FILTER2/3 都只有一個(gè)函數(shù),而 FILTER1 有 in/out 兩個(gè)函數(shù)。實(shí)際上 in/out 兩個(gè)函數(shù)分別負(fù)責(zé) FILTER1 16 個(gè)信號(hào)里面前 8 個(gè)和后 8 個(gè)信號(hào)的配置,原因大概是前 8 個(gè)是 PLA 的輸入信號(hào),后 8 個(gè)則是 PLA 的輸出信號(hào)反饋回來(lái)的。

剛剛提到的濾波器配置結(jié)構(gòu)體里面并沒(méi)有關(guān)于位置的信息,因此這些信息要以參數(shù)的形式提供給設(shè)置函數(shù)。以在通道 3 的 FILTER2 為例,使用 pla_set_filter2() 時(shí)不僅要寫(xiě)明通道 3,還要指出是 FILTER2 8 個(gè)信號(hào)中的具體哪一個(gè)信號(hào)。而 SDK 中通道參數(shù)和信號(hào)參數(shù)分別叫 chn 和 filter2_chn,使用時(shí)一定要注意區(qū)分兩者之間的差別。

2. 與門(mén)

16 輸入與門(mén)本身只有一個(gè)可配置的內(nèi)容:各輸入信號(hào)的 MUX 選項(xiàng)。不過(guò)同樣需要注意數(shù)量和位置的問(wèn)題。8 個(gè)通道里面,每個(gè)通道有 8 個(gè)與門(mén),每個(gè)與門(mén)又有 16 個(gè) MUX。當(dāng)然,除了沒(méi)有使用的通道無(wú)需配置以外,部分沒(méi)有使用的與門(mén)也可以不進(jìn)行設(shè)置,默認(rèn)狀態(tài)下與門(mén)將輸出低電平。

c18b8f46-1a19-11ee-962d-dac502259ad0.jpg

與門(mén)的配置結(jié)構(gòu)體是 pla_aoi_16to8_chn_cfg,可以對(duì)一個(gè)與門(mén)進(jìn)行配置,記得不要被它名字里面那個(gè) chn 給欺騙了。結(jié)構(gòu)體里面有 pla channel 和 aoi_16to8 channel 兩個(gè)“通道”成員,一個(gè)指的是 PLA 的通道,另一個(gè)則是指 8 個(gè)與門(mén)的編號(hào)。個(gè)人認(rèn)為這樣設(shè)計(jì)其實(shí)容易混淆,可以在命名方面更加有區(qū)分度一些。

一個(gè)與門(mén)中有 16 個(gè) MUX,因此 pla_aoi_16to8_chn_cfg 里面有長(zhǎng)度為 16 的 MUX 配置結(jié)構(gòu)體 pla_aoi_16to8_cfg_unit_t 數(shù)組。MUX 配置結(jié)構(gòu)體的 signal 成員是信號(hào)的編號(hào);op 成員的四個(gè)選項(xiàng)對(duì)應(yīng) MUX 的四個(gè)選項(xiàng),對(duì)應(yīng)關(guān)系在上面的代碼注釋中給出。

最后我們需要使用以下函數(shù)對(duì)一個(gè)與門(mén)進(jìn)行配置。

c1bc67e2-1a19-11ee-962d-dac502259ad0.jpg

3. 或門(mén)

或門(mén)的代碼和注意事項(xiàng)和與門(mén)大同小異,數(shù)量上一個(gè)通道有 7 個(gè)或門(mén),每個(gè)或門(mén)有 8 個(gè) MUX,比與門(mén)會(huì)少不少,其余部分基本一致,參照使用即可。

c1d80f06-1a19-11ee-962d-dac502259ad0.jpg

4. 可配置觸發(fā)器

CFF 可配置的內(nèi)容并不多,主要就是功能選擇和時(shí)鐘源,具體情況可參考源代碼。需要注意的是觸發(fā)器的同步復(fù)位、同步置位、異步復(fù)位、異步置位等信號(hào)有的是高電平有效,有的則是低電平有效,且有優(yōu)先級(jí)順序,使用時(shí)需要對(duì)照手冊(cè)仔細(xì)調(diào)整。

c1f4fe18-1a19-11ee-962d-dac502259ad0.jpg

5. 使能 PLA

在完成上述全部配置完成以后,還需要對(duì)每一個(gè)通道進(jìn)行使能。

c2198f94-1a19-11ee-962d-dac502259ad0.jpg

在沒(méi)有使能的情況下,PLA 的寄存器可以作為 1KB 的 APB SRAM 使用。

一個(gè)簡(jiǎn)單的例子:同步八進(jìn)制計(jì)數(shù)器

1. 概述

在前面章節(jié)的基礎(chǔ)上,我們將實(shí)戰(zhàn)使用 PLA 構(gòu)建一個(gè)經(jīng)典的同步時(shí)序邏輯電路:同步八進(jìn)制計(jì)數(shù)器。為了簡(jiǎn)化問(wèn)題讓大家更容易理解,我們要構(gòu)建的計(jì)數(shù)器只會(huì)計(jì)數(shù),沒(méi)有復(fù)位、沒(méi)有使能、沒(méi)有置數(shù),長(zhǎng)得更像是個(gè)分頻器,它的電路結(jié)構(gòu)如下所示:

c235a184-1a19-11ee-962d-dac502259ad0.png

有了電路圖,下一步就是將電路結(jié)構(gòu)轉(zhuǎn)換為 PLA 的配置代碼。不過(guò),由于 PLA 是與或結(jié)構(gòu),我們不妨進(jìn)一步直接將使用到的與門(mén)、或門(mén)和各種信號(hào)都繪制出來(lái),在編碼時(shí)將會(huì)更加方便。

c25a110e-1a19-11ee-962d-dac502259ad0.png

對(duì)照上圖,我們可以提煉出以下信息:

· 此電路使用了 3 個(gè) PLA 通道,每個(gè)通道的 CFF 均配置為 T 觸發(fā)器(圖上是 JK,實(shí)際功能是 T)

· 觸發(fā)器時(shí)鐘使用外部時(shí)鐘PLA OUT0OUT1OUT2 分別作為計(jì)數(shù)器 D2D1D3 的輸出

· OUT1OUT2 將作為反饋信號(hào)進(jìn)入通道 1 和 通道 2

2. 工程準(zhǔn)備

本部分包括新建工程、使用 GPTMR 產(chǎn)生 1M PWM 作為時(shí)鐘的代碼,本文不打算討論這一部分內(nèi)容,讀者可以參考 HPM_SDK 中的其他例程了解。為了區(qū)分三個(gè)通道的設(shè)置代碼,在 main 函數(shù)前聲明了三個(gè)通道的配置函數(shù)。

c2889d6c-1a19-11ee-962d-dac502259ad0.jpg

c2a1b414-1a19-11ee-962d-dac502259ad0.jpg

c2bcf71a-1a19-11ee-962d-dac502259ad0.jpg

3. TRGM 與 I/O

PLA 并沒(méi)有專(zhuān)屬于自己的輸入輸出引腳,和其他增強(qiáng)運(yùn)動(dòng)控制系統(tǒng)外設(shè)一樣,所有輸入輸出信號(hào)都要通過(guò) TRGM 處理。因此,這里的代碼將 GPTMR0 CH2 的 PWM 輸出引入到了 PLA0 IN0 中,將 PLA0 OUT0/1/2 輸出到三個(gè)外部引腳中。為了方便對(duì)比時(shí)鐘波形和計(jì)數(shù)器輸出,還將 GPTMR CH2 的 PWM 也輸出到外部引腳中。

c2d68504-1a19-11ee-962d-dac502259ad0.jpg

c30645fa-1a19-11ee-962d-dac502259ad0.jpg

c3300390-1a19-11ee-962d-dac502259ad0.jpg

c3495eb2-1a19-11ee-962d-dac502259ad0.jpg

c362bc90-1a19-11ee-962d-dac502259ad0.jpg

4. FILTER1

FILTER1 并沒(méi)有特別的功能需求,因此我們只需要開(kāi)啟同步功能即可。

c38260e0-1a19-11ee-962d-dac502259ad0.jpg

5. 通道 0

來(lái)到通道 0 的配置函數(shù),首先聲明與門(mén)陣列、或門(mén)陣列和兩個(gè)濾波器的配置結(jié)構(gòu)體變量。

c3a038fe-1a19-11ee-962d-dac502259ad0.jpg

通道 0 使用了兩個(gè)與門(mén)。第一個(gè)與門(mén)根據(jù)兩個(gè)反饋信號(hào)相與生成 T 觸發(fā)器的 T 信號(hào),先將它的全部 MUX 設(shè)為輸出邏輯 1,再將反饋通道對(duì)應(yīng)的 9、10 號(hào) MUX 修改為輸出原信號(hào)。第二個(gè)與門(mén)只需要輸出 PWM 時(shí)鐘信號(hào),因此只設(shè)置一個(gè) MUX 輸出原信號(hào),其余全部設(shè)置輸出邏輯 1。

c3bbb944-1a19-11ee-962d-dac502259ad0.jpg

c3dcc396-1a19-11ee-962d-dac502259ad0.jpg

c3f500e6-1a19-11ee-962d-dac502259ad0.jpg

FILTER2 同樣只需要設(shè)置同步。

c41b2140-1a19-11ee-962d-dac502259ad0.jpg

通道 0 使用了兩個(gè)或門(mén)。第一個(gè)或門(mén)需要輸出與第一個(gè)與門(mén)完全相同的信號(hào),因此 0 號(hào) MUX 設(shè)置輸出原信號(hào),其余 MUX 輸出邏輯 0(注意,沒(méi)有使用的信號(hào) MUX,一般與門(mén)設(shè)置輸出邏輯 1,或門(mén)設(shè)置輸出邏輯 0),第二個(gè)與門(mén)也基本一致。

c43082ba-1a19-11ee-962d-dac502259ad0.jpg

c4658c08-1a19-11ee-962d-dac502259ad0.jpg

c4880c38-1a19-11ee-962d-dac502259ad0.jpg

FILTER3 同樣設(shè)置信號(hào)同步,不過(guò)不要忘了 FILTER3 同時(shí)也輸出觸發(fā)器的同步異步復(fù)位置位,我們這個(gè)電路沒(méi)有相關(guān)功能,因此全部根據(jù)手冊(cè)設(shè)置為固定值即可。如果要使用這些功能,則需要另外構(gòu)建他們的控制邏輯函數(shù)。

c4a090b4-1a19-11ee-962d-dac502259ad0.jpg

c4c21a4a-1a19-11ee-962d-dac502259ad0.jpg

最后是 CFF 并使能通道。

c4e12796-1a19-11ee-962d-dac502259ad0.jpg

其余兩個(gè)通道配置過(guò)程大同小異,就不再?gòu)?fù)制粘貼那么多次了,完整的代碼可在先楫社區(qū)中獲取。最終的效果如下圖所示。

c5001be2-1a19-11ee-962d-dac502259ad0.png

結(jié) 語(yǔ)

通過(guò)介紹,相信大家對(duì) PLA 已經(jīng)有了一個(gè)較為全面的了解。在 6200 系列剛推出時(shí),許多開(kāi)發(fā)者非常關(guān)注的一點(diǎn)就是 PLA 外設(shè)能不能當(dāng)作 FPGA 使用,對(duì)此,我個(gè)人的看法是“能,但不完全能”。PLA 擁有完備的邏輯結(jié)構(gòu),但是其資源數(shù)量注定只適合小型邏輯使用,尤其是觸發(fā)器資源的缺乏,使得 PLA 很難單獨(dú)構(gòu)建稍復(fù)雜的時(shí)序邏輯電路。因此我們?cè)陂_(kāi)發(fā) PLA 程序之前,對(duì)資源數(shù)量要把控地比較準(zhǔn)確,以免做無(wú)用功。

除了底層資源的限制,個(gè)人認(rèn)為,使用方式上 PLA 也有其遺憾之處:

重復(fù)的配置代碼相當(dāng)多,開(kāi)發(fā)效率不高,寫(xiě)代碼時(shí)容易發(fā)生錯(cuò)誤

無(wú)法對(duì)內(nèi)部信號(hào)進(jìn)行調(diào)試,對(duì)復(fù)雜邏輯調(diào)試?yán)щy

“牽一發(fā)而動(dòng)全身”,難以通過(guò)模塊化設(shè)計(jì)等方式復(fù)用現(xiàn)有資料

基于以上原因,我認(rèn)為圖形化配置,程序自動(dòng)生成配置代碼將會(huì)是 PLA 極好的開(kāi)發(fā)方式:PLA 配置項(xiàng)繁多但并不復(fù)雜,代碼由機(jī)器生成非常合適;圖形化配置的方式降低了開(kāi)發(fā)者編寫(xiě)大量重復(fù)代碼時(shí)出錯(cuò)的可能性,還可以通過(guò)抽象出電路圖的方式協(xié)助開(kāi)發(fā)者調(diào)試;甚至還可以以此為基礎(chǔ)造出 PLA 的模擬器。

當(dāng)然,即使沒(méi)有這些,PLA 也仍不失為構(gòu)建簡(jiǎn)單邏輯的好工具,也期待有更多開(kāi)發(fā)者給出他們使用 PLA 的姿勢(shì)與心得,共同學(xué)習(xí)共同進(jìn)步。

以上內(nèi)容來(lái)自先楫開(kāi)發(fā)者的原創(chuàng)分享。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16992

    瀏覽量

    350315
  • 濾波器
    +關(guān)注

    關(guān)注

    160

    文章

    7728

    瀏覽量

    177685
  • 可編程邏輯
    +關(guān)注

    關(guān)注

    7

    文章

    514

    瀏覽量

    44072
  • PLA
    PLA
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    17029
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開(kāi)發(fā)者分享|探秘HPM6200系列MCU可編程邏輯陣列

    HPM6200系列PLA整體結(jié)構(gòu)HPM6200系列的UM中帶有PLA的結(jié)構(gòu)簡(jiǎn)圖。為了方便大家把握整體結(jié)構(gòu),我也繪制了一個(gè)稍微更詳細(xì)的結(jié)構(gòu)圖,將PLA外設(shè)中的大部分元素都展示出來(lái),并給
    的頭像 發(fā)表于 07-05 10:06 ?1017次閱讀
    開(kāi)發(fā)者分享|<b class='flag-5'>探秘</b><b class='flag-5'>HPM6200</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的<b class='flag-5'>可編程邏輯陣列</b>

    可編程邏輯陣列PLA內(nèi)部邏輯結(jié)構(gòu)示意

    可編程邏輯陣列(Programmable Logic Array,PLA)和可編程陣列邏輯(Programmable Array Logic,PAL)都是數(shù)字
    發(fā)表于 02-02 11:41 ?2453次閱讀
    <b class='flag-5'>可編程邏輯陣列</b>PLA內(nèi)部<b class='flag-5'>邏輯</b>結(jié)構(gòu)示意

    針對(duì)新能源、儲(chǔ)能、高性能控制等應(yīng)用,先楫半導(dǎo)體推出HPM6200系列MCU

    高精度ADC、高性能PWM、比較器等。陳丹表示,儲(chǔ)能和數(shù)字電源同樣是先楫半導(dǎo)體最為聚焦的市場(chǎng)之一,HPM6200 100ps的高分辨率PWM、16bit ADC以及可編程邏輯陣列PLA,可以為新型的電源
    發(fā)表于 02-17 11:10

    先楫半導(dǎo)體近日發(fā)布全新MCU通用微控制器 HPM6200 系列

    可編程邏輯陣列 PLA,靈活實(shí)現(xiàn)組合邏輯和時(shí)序邏輯器件互聯(lián),在芯片內(nèi)實(shí)現(xiàn)用戶(hù)獨(dú)有的功能電路設(shè)計(jì)。3 個(gè) 2MSPS 16 位高精度 ADC,配置為 12 位精度時(shí)轉(zhuǎn)換率可達(dá) 4MSPS,多達(dá) 24 個(gè)模擬輸入通
    發(fā)表于 02-20 16:48

    HPM6200產(chǎn)品介紹

    HPM6200產(chǎn)品簡(jiǎn)介
    發(fā)表于 05-25 06:59

    HPM6200系列高性能微控制器用戶(hù)手冊(cè)

    HPM6200用戶(hù)手冊(cè)
    發(fā)表于 05-29 14:11

    HPM6200系列高性能微控制器勘誤表

    HPM6200勞錯(cuò)表
    發(fā)表于 05-30 06:47

    HPM6200系列微控制器***使用介紹

    HPM6200系列***使用介紹
    發(fā)表于 05-30 08:07

    可編程邏輯陣列fpga和cpld相關(guān)資料

    可編程邏輯陣列fpga和cpld
    發(fā)表于 09-20 07:58

    可編程邏輯陣列(PLA)簡(jiǎn)介

    電子發(fā)燒友網(wǎng)核心提示 :PLA,ProgrammableLogicArray的簡(jiǎn)稱(chēng),意為可編程邏輯陣列。本文將著重介紹可編程邏輯陣列PLA的一些基本概念、類(lèi)型以及基礎(chǔ)應(yīng)用。 一 . PLA的基本概念 可編程
    發(fā)表于 10-12 16:01 ?1.9w次閱讀

    可編程邏輯陣列fpga和cpld說(shuō)明

    可編程邏輯陣列fpga和cpld說(shuō)明。
    發(fā)表于 03-30 09:30 ?25次下載

    可編程邏輯器件有哪幾種 fpga和cpld的特點(diǎn)

    可編程邏輯陣列(Programmable Logic Array, PLA):PLA是最早的可編程邏輯器件之一,由與非門(mén)陣列和或門(mén)陣列組成,通過(guò)編程
    發(fā)表于 07-04 15:28 ?2367次閱讀

    探秘HPM6200系列MCU可編程邏輯陣列

    HPM6200 系列的 UM 中帶有 PLA 的結(jié)構(gòu)簡(jiǎn)圖。
    的頭像 發(fā)表于 07-05 18:13 ?1123次閱讀
    <b class='flag-5'>探秘</b><b class='flag-5'>HPM6200</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的<b class='flag-5'>可編程邏輯陣列</b>

    HPM6200系列微控制器PLA使用介紹

    電子發(fā)燒友網(wǎng)站提供《HPM6200系列微控制器PLA使用介紹.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 16:32 ?2次下載
    <b class='flag-5'>HPM6200</b><b class='flag-5'>系列</b>微控制器PLA使用介紹

    什么是現(xiàn)場(chǎng)可編程邏輯陣列?它有哪些特點(diǎn)和應(yīng)用?

    在電子工程領(lǐng)域,現(xiàn)場(chǎng)可編程邏輯陣列(Field Programmable Logic Array,簡(jiǎn)稱(chēng)FPLA)是一種具有強(qiáng)大靈活性和可編程性的半導(dǎo)體器件。它屬于可編程邏輯器件(PLD)的一種,通過(guò)
    的頭像 發(fā)表于 05-23 16:25 ?811次閱讀