數(shù)字IC手撕代碼-XX公司筆試真題(脈沖密度調(diào)制)
?題目描述

?????????使用HDL實(shí)現(xiàn)脈沖密度調(diào)制(PDM),即根據(jù)輸入12bit pdm_in,按下列要求輸出不同占空比的方波:
? ? ? ? ① 當(dāng)pdm_in>10,pdm_out即輸出的波形占空比為4/pdm_in;
? ? ? ? ② 當(dāng)pdm_in<=10,pdm_out不翻轉(zhuǎn)輸出固定值。
其輸入輸出接口為:
解決思路
????????脈沖密度調(diào)制(PDM),通過調(diào)節(jié)波形的占空比來改變脈沖的密度。信號邏輯為高的時(shí)間T_hign除以周期T_cycle所得到的比值叫做占空比。
? ? ? ? 實(shí)現(xiàn)第一個(gè)要求,當(dāng)pdm_in>10時(shí),可以讓新信號在4個(gè)clk周期為高,在(pdm_in-4)個(gè)clk周期為低,這樣就實(shí)現(xiàn)了一個(gè)pdm_in分頻,占空比為4/pdm_in。
? ? ? ? 第二個(gè)要求,當(dāng)pdm_in<=10時(shí),pdm_out就不讓他翻轉(zhuǎn),并且讓實(shí)現(xiàn)分頻的計(jì)數(shù)器清零。?
代碼
testbench
輸出波形?

? ? ? ? 從波形中可以看到我們設(shè)置了pdm_in = 20,pdm_out如我們所想,輸出為占空比4/20的方波。當(dāng)設(shè)置pdm_in = 12時(shí),pdm_out輸出為占空比4/12的方波。當(dāng)設(shè)置pdm_in < 10時(shí),dpm_out保持原來的狀態(tài)不變。
標(biāo)簽: