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

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

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

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

MCU開發(fā)加油站 ? 來源:MCU開發(fā)加油站 ? 2023-07-05 18:13 ? 次閱讀

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

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

185e8b9a-1b1c-11ee-962d-dac502259ad0.png

從總體來看,PLA 外設(shè)擁有 8 輸入、8 反饋、8 輸出,其中 8 輸入、8 反饋是內(nèi)部的 8 個(gè)通道共享,8 輸出則是每個(gè)通道使用一個(gè)。輸入、輸出均連接到 TRGM 外設(shè),再通過 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 安排的問題。

每個(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è)中的濾波器

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

1. 同步

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

2. 邊沿檢測(cè)

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

3. 軟件注入

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

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

在開始之前,我們首先要了解 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ì)算出來的周期數(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>

18e37fee-1b1c-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>

18f4d014-1b1c-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ù)的脈沖全部過濾掉,二是將脈沖寬度大于設(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 的波形都被過濾掉了。

1904be52-1b1c-11ee-962d-dac502259ad0.png

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

這一模式下輸出信號(hào)跟隨輸入信號(hào)變化,但是當(dāng)輸出信號(hào)發(fā)生過跳變以后,在設(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é)束。

19149976-1b1c-11ee-962d-dac502259ad0.png

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

1. 與- 或陣列

每個(gè)通道的 16 信號(hào)輸入會(huì)分別接入到 8 個(gè) 16 輸入與門中,對(duì)單個(gè)輸出信號(hào)最高支持 8 個(gè)最小項(xiàng)相加(8 個(gè)與門),并可生成 7 個(gè)輸出信號(hào)(7 個(gè)或門)。每個(gè)邏輯門的輸入端都有一個(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 配置為各類觸發(fā)器時(shí),觸發(fā)器的使能、置位、同步/異步復(fù)位、時(shí)鐘等信號(hào)均來自于 7bit 寬度的輸入信號(hào),具體的分配表可見 UM 文檔。除了使用輸入信號(hào)以外,CFF 還可以使用 AHB/APB 的時(shí)鐘。

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

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

1. FILTER

濾波器的可配置項(xiàng)非常多,包括是否同步、是否啟用邊沿檢測(cè)、是否軟件注入等一系列內(nèi)容,不過最關(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è)置上述介紹過的所有濾波功能,也就是共有 136 個(gè)信號(hào),很容易錯(cuò)配、漏配。因此,除了所有通道共用的 FILTER1 單獨(dú)配置以外,F(xiàn)ILTER2/3 建議和它們所在的通道一同配置,避免混淆的同時(shí),如果部分通道沒有使用,也就不需要對(duì)它們的 FILTER2/3 進(jìn)行配置了。

1926f594-1b1c-11ee-962d-dac502259ad0.jpg

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

1934d1dc-1b1c-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)反饋回來的。

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

2. 與門

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

194ea274-1b1c-11ee-962d-dac502259ad0.jpg

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

一個(gè)與門中有 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è)與門進(jìn)行配置。

1960f82a-1b1c-11ee-962d-dac502259ad0.jpg

3. 或門

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

196f09b0-1b1c-11ee-962d-dac502259ad0.jpg

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

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

197f5ed2-1b1c-11ee-962d-dac502259ad0.jpg

5. 使能 PLA

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

19987b42-1b1c-11ee-962d-dac502259ad0.jpg

在沒有使能的情況下,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)化問題讓大家更容易理解,我們要構(gòu)建的計(jì)數(shù)器只會(huì)計(jì)數(shù),沒有復(fù)位、沒有使能、沒有置數(shù),長(zhǎng)得更像是個(gè)分頻器,它的電路結(jié)構(gòu)如下所示:

19a395e0-1b1c-11ee-962d-dac502259ad0.png

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

19b58584-1b1c-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ù)。

19c7e2ec-1b1c-11ee-962d-dac502259ad0.jpg

19e1df08-1b1c-11ee-962d-dac502259ad0.jpg

19edf360-1b1c-11ee-962d-dac502259ad0.jpg

3. TRGM 與 I/O

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

19f8e3ec-1b1c-11ee-962d-dac502259ad0.jpg

1a10973a-1b1c-11ee-962d-dac502259ad0.jpg

1a2bbe7a-1b1c-11ee-962d-dac502259ad0.jpg

1a395544-1b1c-11ee-962d-dac502259ad0.jpg

1a4bff50-1b1c-11ee-962d-dac502259ad0.jpg

4. FILTER1

FILTER1 并沒有特別的功能需求,因此我們只需要開啟同步功能即可。

1a5e07e0-1b1c-11ee-962d-dac502259ad0.jpg

5. 通道 0

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

1a6df9a2-1b1c-11ee-962d-dac502259ad0.jpg

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

1a7cd922-1b1c-11ee-962d-dac502259ad0.jpg

1a90d8f0-1b1c-11ee-962d-dac502259ad0.jpg

1a9ffe7a-1b1c-11ee-962d-dac502259ad0.jpg

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

1aaf256c-1b1c-11ee-962d-dac502259ad0.jpg

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

1acb7adc-1b1c-11ee-962d-dac502259ad0.jpg

1ad8f4a0-1b1c-11ee-962d-dac502259ad0.jpg

1aee131c-1b1c-11ee-962d-dac502259ad0.jpg

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

1afc330c-1b1c-11ee-962d-dac502259ad0.jpg

1b0e4a7e-1b1c-11ee-962d-dac502259ad0.jpg

最后是 CFF 并使能通道。

1b1b8c20-1b1c-11ee-962d-dac502259ad0.jpg

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

1b2c952e-1b1c-11ee-962d-dac502259ad0.png

六、結(jié) 語

通過介紹,相信大家對(duì) PLA 已經(jīng)有了一個(gè)較為全面的了解。在 6200 系列剛推出時(shí),許多開發(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è)陂_發(fā) PLA 程序之前,對(duì)資源數(shù)量要把控地比較準(zhǔn)確,以免做無用功。

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

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

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

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

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

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

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






審核編輯:劉清

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

    關(guān)注

    146

    文章

    16812

    瀏覽量

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

    關(guān)注

    159

    文章

    7673

    瀏覽量

    177231
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    264

    瀏覽量

    31639
  • 同步器
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

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

    關(guān)注

    0

    文章

    18

    瀏覽量

    4338

原文標(biāo)題:探秘HPM6200系列MCU的可編程邏輯陣列

文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開發(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è)中的大部分元素都展示出來,并給
    的頭像 發(fā)表于 07-05 10:06 ?954次閱讀
    開發(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 ?2255次閱讀
    <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)用戶獨(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系列高性能微控制器用戶手冊(cè)

    HPM6200用戶手冊(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)稱,意為可編程邏輯陣列。本文將著重介紹可編程邏輯陣列PLA的一些基本概念、類型以及基礎(chǔ)應(yīng)用。 一 . PLA的基本概念 可編程
    發(fā)表于 10-12 16:01 ?1.9w次閱讀

    可編程邏輯陣列fpga和cpld說明

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

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

    HPM6200 系列的 UM 中帶有 PLA 的結(jié)構(gòu)簡(jiǎn)圖。為了方便大家把握整體結(jié)構(gòu),我也繪制了一個(gè)稍微更詳細(xì)的結(jié)構(gòu)圖,將 PLA 外設(shè)中的大部分元素都展示出來,并給出了單個(gè)通道內(nèi)的具體結(jié)構(gòu)。
    的頭像 發(fā)表于 07-04 11:21 ?762次閱讀
    <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>

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

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

    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)稱FPLA)是一種具有強(qiáng)大靈活性和可編程性的半導(dǎo)體器件。它屬于可編程邏輯器件(PLD)的一種,通過
    的頭像 發(fā)表于 05-23 16:25 ?688次閱讀