最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

有一種方法是用異步FIFO來(lái)處理跨時(shí)鐘域處理

2022-05-25 22:26 作者:大方老師單片機(jī)課堂  | 我要投稿

在進(jìn)修跨時(shí)鐘域處理的時(shí)候,有一種方法是用異FIFO來(lái)處理跨時(shí)鐘域處理的


\\\插播一條:

自己在今年整理一套單片機(jī)單片機(jī)相關(guān)論800余篇

論文制作思維導(dǎo)圖

原理+源代+開(kāi)題報(bào)++外文資料

想要的同學(xué)私信找我。

在進(jìn)修跨時(shí)鐘域處理的時(shí)候,有一種方法是用異FIFO來(lái)處理跨時(shí)鐘域處理的。那么在這之前先看看同FIFO實(shí)現(xiàn)。

所謂同FIFO,就是讀寫(xiě)時(shí)鐘是同一個(gè)時(shí)鐘頻次。本次實(shí)現(xiàn)是通過(guò)計(jì)數(shù)器的形式來(lái)實(shí)現(xiàn)滿空標(biāo)志。詳細(xì)實(shí)現(xiàn)如下:

module fifo_sync(

input clk,

inputrst_n,

input[7:0]datain, //輸寫(xiě)數(shù)據(jù)inputwr, //寫(xiě)請(qǐng)求inputrd, //讀請(qǐng)求

outputreg[7:0] dataout, //輸出數(shù)據(jù)outputempt, //空標(biāo)志outputfull //滿標(biāo));

//定義寄存reg [3:0]cnt; //計(jì)數(shù)器用于計(jì)FIFO中寄存了多少數(shù)據(jù),方便提供滿空標(biāo)reg [3:0]wr_ptr, rd_ptr; //讀寫(xiě)指reg[7:0]fifo_mem[15:0]; //16個(gè)8位的寄存器用于寄存數(shù)據(jù)FIFO//定義狀態(tài)parameter S0 = 2'b00, S1 = 2'b01, S2 = 2'b10, S3 = 2'b11;

//用一段式狀態(tài)機(jī)簡(jiǎn)略實(shí)現(xiàn)FIFOalways @(posedge clk or negedge rst_n) begin

if(!rst_n) begin

cnt

wr_ptr

rd_ptr

dataout

end

else begin

case ({rd,wr})

S0 : begin //空閑cnt

wr_ptr

rd_ptr

dataout0;

end

S1:begin//寫(xiě)FIOFif(!full)begin

fifo_mem[wr_ptr]datain;

wr_ptrwr_ptr+1'b1;

rd_ptrrd_ptr;

cntcnt+1'b1;

dataout0;

end

end

S2:begin//FIFOif(!empt)begin

dataoutfifo_mem[rd_ptr];

rd_ptrrd_ptr+1'b1;

wr_ptrwr_ptr;

cntcnt-1'b1;

end

end

S3:begin//同時(shí)讀寫(xiě)FIFOif(!full)begin

fifo_mem[wr_ptr]datain;

wr_ptrwr_ptr+1'b1;

end

if(!empt)begin

dataoutfifo_mem[rd_ptr];

rd_ptrrd_ptr+1'b1;

end

end

default:;

endcase

endend

//滿空標(biāo)志信號(hào)產(chǎn)生assignfull=(cnt==4'd15);assignempt=(cnt==4'd0);

endmodule

簡(jiǎn)單的測(cè)試:

`timescale1ns/1nsmodulefifo_sync_tb();

regclk;regrst_n;reg[7:0]datain;regwr,rd;

wire[7:0]dataout;wireempt;wirefull;

initialbeginclk=1'b1;rst_n=1'b0;datain=0;wr=1'b0;rd=1'b0;#50rst_n=1'b1;#40wr=1'b1;#20rd=1'b1;#20rd=1'b0;#170wr=1'b0;#200rd=1'b1;#40rd=1'b0;#500$stop;end

always#5clk=~clk;

always@(posedgeclk)begin

dataindatain+1'b1;end

fifo_syncfifo(

.clk(clk),

.rst_n(rst_n),

.datain(datain),//輸入數(shù)據(jù).wr(wr),//寫(xiě)請(qǐng)求.rd(rd),//讀請(qǐng)求

.dataout(dataout),//輸出數(shù)據(jù).empt(empt),//空標(biāo)志.full(full)//


【文章福利】:小編整理了一些個(gè)人覺(jué)得比較好的學(xué)習(xí)書(shū)籍、視頻資料共享在群文件里面,有需要的可以自行添加哦!~點(diǎn)擊綠色通訊軟件搜airuimcu加入。

有一種方法是用異步FIFO來(lái)處理跨時(shí)鐘域處理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
丁青县| 娄底市| 汉阴县| 沂南县| 通榆县| 宁阳县| 花莲县| 兴化市| 合山市| 习水县| 武隆县| 郎溪县| 汝南县| 定襄县| 类乌齐县| 大姚县| 安阳市| 呈贡县| 五寨县| 东安县| 汪清县| 潞西市| 陕西省| 永修县| 兰州市| 普兰店市| 昌宁县| 金川县| 木里| 区。| 论坛| 亚东县| 靖安县| 宜宾县| 邻水| 芜湖县| 海晏县| 揭阳市| 兴义市| 穆棱市| 临武县|