18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

利用同步fifo實(shí)現(xiàn)對(duì)輸入序列的檢測(cè)

我快閉嘴 ? 來源:達(dá)爾聞?wù)f ? 作者:達(dá)爾聞?wù)f ? 2022-09-14 09:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天繼續(xù)為大家解析聯(lián)發(fā)科數(shù)字IC設(shè)計(jì)崗的筆試題。

16、【簡(jiǎn)答題】請(qǐng)用Verilog寫出以下邏輯

Interface signals如下:

input clk_ck;

input rst_b(async reset);

input req_in;

output req_in_ack;

input [31:0] data_in;

output data_out_vld;

output [31:0] data_out;

模塊功能需求如下:

1)模塊名為:filter_data_store

2)當(dāng)req_inreq_in_ack都為高時(shí),說明本模塊有能力接收data_in的數(shù)據(jù);

3)在data_in的數(shù)據(jù)中找到特殊字符32hA1B9_0000,特殊字符前的數(shù)據(jù)全部丟棄,特殊字符后的資料全部收下來;

4)當(dāng)sync_fifo為非空的時(shí)候,將數(shù)據(jù)讀出放到data_out上,并用data_out_vld指示數(shù)據(jù)的有效性。(15分)

解析:本題目主要考察了利用同步fifo實(shí)現(xiàn)對(duì)輸入序列的檢測(cè)

本題是一道關(guān)于同步fifo應(yīng)用的題目,遇到這種類型的題目首先要根據(jù)題目中的要求逐條分析,然后依次在草稿紙上畫出大致的模塊框圖、波形圖,再編寫RTL代碼。

首先根據(jù)Interface signals需求1攜帶的信息,繪制出的模塊框圖如下所示:

15e0afda-335d-11ed-ba43-dac502259ad0.png

然后根據(jù)需求2改進(jìn)模塊框圖如下:

15eb57dc-335d-11ed-ba43-dac502259ad0.png

然后繪制波形圖如下所示:

160e4c88-335d-11ed-ba43-dac502259ad0.png

filter_data_store模塊的HDL代碼如下所示:

//------------------

01modulefilter_data_store(

02inputwireclk_ck,

03inputwirerst_b,

04inputwirereq_in,

05inputwire[31:0]data_in,

06

07outputregreq_in_ack,

08outputwire[31:0]data_out,

09outputregdata_out_vld

10);

11

12regdata_start;

13regdata_start_reg;

14wire[31:0]dout;

15wirefull;

16wireempty;

17

18always@(posedgeclk_ck ornegedgerst_b)

19if(!rst_b)

20req_in_ack <=1'b0;

21elseif(full ==1'b0)

22req_in_ack <=1'b1;

23elseif(empty ==1'b1)

24req_in_ack <=1'b0;

25

26always@(posedgeclk_ck ornegedgerst_b)

27if(!rst_b)

28data_start <=1'b0;

29elseif(req_in ==1'b1&&req_in_ack ==1'b1&&data_in ==32'hA1B9_0000)

30data_start <=1'b1;

31elseif(req_in ==1'b0)

32data_start <=1'b0;

33

34always@(posedgeclk_ck ornegedgerst_b)

35if(!rst_b)

36data_start_reg <=1'b0;

37else

38data_start_reg <=data_start;

39

40//-------sync_fifo_inst-------

41sync_fifo sync_fifo_inst(

42.clk_ck(clk_ck),//input clk_ck

43.rst_b (rst_b),//inputrst_b

44.wr_en (data_start),//inputwr_en

45.din (data_in),//input [31:0] din

46.rd_en (~empty),//input rd_en

47

48.dout (dout),//output [31:0] dout

49.full (full),//output full

50.empty (empty)//output empty

51);

52

53assigndata_out =dout;

54

55always@(posedgeclk_ck ornegedgerst_b)

56if(!rst_b)

57data_out_vld <=1'b0;

58elseif(data_start ==1'b0&&data_start_reg ==1'b1)

59data_out_vld <=1'b0;

60elseif(data_start_reg ==1'b1)

61data_out_vld <=1'b1;

62

63endmodule

//----------------還需要一個(gè)同步fifo模塊,如果有時(shí)間建議自己用邏輯手寫一個(gè)同步fifo。同步fifo模塊的HDL代碼如下所示://----------------01modulesync_fifo(02inputwireclk_ck,03inputwirerst_b,04inputwirewr_en,05inputwire[31:0]din,06inputwirerd_en,0708outputwire[31:0]dout,09outputwirefull,10outputwireempty11);1213reg[4:0]wr_cnt;14reg[4:0]rd_cnt;15reg[31:0]mem [15:0];16reg[31:0]dout_r;1718wire[3:0]wr_p;19wire[3:0]rd_p;2021assignwr_p =wr_cnt[3:0];22assignrd_p =rd_cnt[3:0];23assigndout =dout_r;24assignfull=(wr_cnt[4]!=rd_cnt[4]&&wr_p ==rd_p)?1'b1:1'b0;25assignempty =(wr_cnt ==rd_cnt)?1'b1:1'b0;2627always@(posedgeclk_ck ornegedgerst_b)28if(!rst_b)29begin30wr_cnt <=5'd0;31rd_cnt <=5'd0;32end33else34begin35if(!full &&wr_en)36begin37 mem[wr_p]<=din;38 wr_cnt <=wr_cnt +1'b1;39end40if(!empty &&rd_en)41begin42dout_r <=mem[rd_p];43rd_cnt <=rd_cnt +1'b1;44end45end4647endmodule//------------------Testbench如下所示:

//------------------

01moduletb_filter_data_store();0203regclk_ck;04regrst_b;05regreq_in;06reg[31:0]data_in;0708wirereq_in_ack;09wire[31:0]data_out;10wiredata_out_vld;1112//初始化系統(tǒng)時(shí)鐘、全局復(fù)位13initialbegin14clk_ck =1'b1;15rst_b <=1'b0;16req_in <=1'b0;17data_in <=32'h0000_0000;18#2019rst_b <=1'b1;20@(posedgeclk_ck)21req_in <=1'b1;22data_in <=32'h0000_0001;23@(posedgeclk_ck)24data_in <=32'h0000_0002;25@(posedgeclk_ck)26data_in <=32'h0000_0003;27@(posedgeclk_ck)28data_in <=32'h0000_0004;29@(posedgeclk_ck)30data_in <=32'h0000_0005;31@(posedgeclk_ck)32data_in <=32'hA1B9_0000;33@(posedgeclk_ck)34data_in <=32'h0000_0006;35@(posedgeclk_ck)36data_in <=32'h0000_0007;37@(posedgeclk_ck)38data_in <=32'h0000_0008;39@(posedgeclk_ck)40data_in <=32'h0000_0009;41@(posedgeclk_ck)42req_in <=1'b0;43data_in <=32'h0000_0000;44req_in <=1'b0;45#100046$finish;47end4849always#10clk_ck =~clk_ck;5051//------filter_data_store_inst-------52filter_data_store filter_data_store_isnt(53.clk_ck(clk_ck),//inputclk_ck54.rst_b(rst_b),//inputrst_b55.req_in(req_in),//inputreq_in56.data_in(data_in),//input [31:0] data_in5758.req_in_ack(req_in_ack ),//output req_in_ack 59.data_out (data_out ),//output [31:0] data_out 60.data_out_vld(data_out_vld)//output data_out_vld 61);6263endmodule//----------------QuestaSim仿真出的波形如下所示:

162a4dac-335d-11ed-ba43-dac502259ad0.png

審核編輯:湯梓紅


聲明:本文內(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)投訴
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    402

    瀏覽量

    45377
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1369

    瀏覽量

    113819
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    330

    瀏覽量

    48703

原文標(biāo)題:求職攻略| 一題解決同步FIFO設(shè)計(jì)難題

文章出處:【微信號(hào):達(dá)爾聞?wù)f,微信公眾號(hào):達(dá)爾聞?wù)f】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于CAZAC序列的OFDM時(shí)頻同步方案解析

    本文提出了一種基于CAZAC序列的OFDM時(shí)頻同步方案,給出了方案各部分的FPGA實(shí)現(xiàn)框圖和硬件電路實(shí)測(cè)效果。首先利用時(shí)域同步參考符號(hào)進(jìn)行分
    的頭像 發(fā)表于 12-17 13:24 ?3790次閱讀
    基于CAZAC<b class='flag-5'>序列</b>的OFDM時(shí)頻<b class='flag-5'>同步</b>方案解析

    同步FIFO設(shè)計(jì)詳解及代碼分享

    FIFO (先入先出, First In First Out )存儲(chǔ)器,在 FPGA 和數(shù)字 IC 設(shè)計(jì)中非常常用。 根據(jù)接入的時(shí)鐘信號(hào),可以分為同步 FIFO 和異步 FIFO
    發(fā)表于 06-27 10:24 ?2991次閱讀
    <b class='flag-5'>同步</b><b class='flag-5'>FIFO</b>設(shè)計(jì)詳解及代碼分享

    握手型接口的同步FIFO實(shí)現(xiàn)

    按照正常的思路,在前文完成前向時(shí)序優(yōu)化和后向時(shí)序優(yōu)化后,后面緊跟的應(yīng)該是雙向時(shí)序優(yōu)化策略了,不過不急,需要先實(shí)現(xiàn)一下握手型同步FIFO。
    的頭像 發(fā)表于 12-04 14:03 ?1320次閱讀
    握手型接口的<b class='flag-5'>同步</b><b class='flag-5'>FIFO</b><b class='flag-5'>實(shí)現(xiàn)</b>

    如何利用FPGA實(shí)現(xiàn)準(zhǔn)單輸入調(diào)變序列生成器的設(shè)計(jì)?

    本文針對(duì)一種產(chǎn)生準(zhǔn)單輸入跳變測(cè)試序列的低功耗測(cè)試生成器的缺點(diǎn)提出了改進(jìn)設(shè)計(jì)方案,并且利用EDA技術(shù)在FPGA芯片上進(jìn)行了設(shè)計(jì)實(shí)現(xiàn)
    發(fā)表于 04-29 06:13

    基于VHDL和FPGA的非對(duì)稱同步FIFO設(shè)計(jì)實(shí)現(xiàn)

    本文采用VHDL描述語言,充分利用Xilinx公司Spartan II FPGA的系統(tǒng)資源,設(shè)計(jì)實(shí)現(xiàn)了一種非對(duì)稱同步FIFO,它不僅提供數(shù)據(jù)緩沖,而且能進(jìn)行數(shù)據(jù)總線寬度的轉(zhuǎn)換。
    發(fā)表于 01-13 11:33 ?2175次閱讀

    利用VHDL語言和格雷碼對(duì)地址進(jìn)行編碼的異步FIFO的設(shè)計(jì)

    FIFO (先進(jìn)先出隊(duì)列)是一種在電子系統(tǒng)得到廣泛應(yīng)用的器件,通常用于數(shù)據(jù)的緩存和用于容納異步信號(hào)的頻率或相位的差異。FIFO實(shí)現(xiàn)通常是利用雙口RAM和讀寫地址產(chǎn)生模塊來
    的頭像 發(fā)表于 08-02 08:10 ?2730次閱讀
    <b class='flag-5'>利用</b>VHDL語言和格雷碼對(duì)地址進(jìn)行編碼的異步<b class='flag-5'>FIFO</b>的設(shè)計(jì)

    利用ISE的SDRAM設(shè)計(jì)的FIFO實(shí)驗(yàn)

    利用ISE的SDRAM設(shè)計(jì)的FIFO實(shí)驗(yàn)(嵌入式開發(fā)轉(zhuǎn)后端開發(fā))-利用ISE的SDRAM設(shè)計(jì)的FIFO實(shí)驗(yàn),適合感興趣的學(xué)習(xí)者學(xué)習(xí),可以提高自己的能力,大家可以多交流哈
    發(fā)表于 08-04 12:14 ?18次下載
    <b class='flag-5'>利用</b>ISE的SDRAM設(shè)計(jì)的<b class='flag-5'>FIFO</b>實(shí)驗(yàn)

    同步FIFO之Verilog實(shí)現(xiàn)

    FIFO的分類根均FIFO工作的時(shí)鐘域,可以將FIFO分為同步FIFO和異步FIFO。
    的頭像 發(fā)表于 11-01 09:57 ?2608次閱讀

    異步FIFO之Verilog代碼實(shí)現(xiàn)案例

    同步FIFO的意思是說FIFO的讀寫時(shí)鐘是同一個(gè)時(shí)鐘,不同于異步FIFO,異步FIFO的讀寫時(shí)鐘是完全異步的。
    發(fā)表于 11-01 09:58 ?2186次閱讀

    基于寄存器的同步FIFO

    ? FIFO 是FPGA設(shè)計(jì)中最有用的模塊之一。FIFO 在模塊之間提供簡(jiǎn)單的握手和同步機(jī)制,是設(shè)計(jì)人員將數(shù)據(jù)從一個(gè)模塊傳輸?shù)搅硪粋€(gè)模塊的常用選擇。 在這篇文章中,展示了一個(gè)簡(jiǎn)單的 RTL
    的頭像 發(fā)表于 06-14 09:02 ?1242次閱讀

    FPGA學(xué)習(xí)-序列檢測(cè)

    點(diǎn)擊上方 藍(lán)字 關(guān)注我們 一、前言 在數(shù)字電路中,序列檢測(cè)器(Sequence Detector)是指一種特殊類型的電路,用于尋找輸入信號(hào)中一定模式的子序列。該模式可以是任意模式,包括
    的頭像 發(fā)表于 08-29 10:20 ?2228次閱讀
    FPGA學(xué)習(xí)-<b class='flag-5'>序列</b><b class='flag-5'>檢測(cè)</b>器

    基于Verilog的同步FIFO的設(shè)計(jì)方法

    同步FIFO的設(shè)計(jì)主要包括讀寫地址的產(chǎn)生、數(shù)據(jù)的讀寫、以及狀態(tài)的控制。下面我們將分別介紹這三個(gè)方面的設(shè)計(jì)。
    發(fā)表于 08-31 12:53 ?1421次閱讀

    同步FIFO設(shè)計(jì)分析

    模塊雖小但是要有新意,首先寫一個(gè)同步FIFO,這是一個(gè)爛大街的入門級(jí)項(xiàng)目,但是我肯定不會(huì)寫的那么簡(jiǎn)單
    的頭像 發(fā)表于 09-11 17:11 ?1078次閱讀
    <b class='flag-5'>同步</b><b class='flag-5'>FIFO</b>設(shè)計(jì)分析

    同步FIFO和異步FIFO的區(qū)別 同步FIFO和異步FIFO各在什么情況下應(yīng)用

    簡(jiǎn)單的一種,其特點(diǎn)是輸入和輸出都與時(shí)鐘信號(hào)同步,當(dāng)時(shí)鐘到來時(shí),數(shù)據(jù)總是處于穩(wěn)定狀態(tài),因此容易實(shí)現(xiàn)數(shù)據(jù)的傳輸和存儲(chǔ)。 而異步FIFO則是在波形的上升沿和下降沿上進(jìn)行處理,在
    的頭像 發(fā)表于 10-18 15:23 ?2461次閱讀

    利用AD7616靈活的可編程序列器和突發(fā)模式實(shí)現(xiàn)準(zhǔn)同步采樣

    電子發(fā)燒友網(wǎng)站提供《利用AD7616靈活的可編程序列器和突發(fā)模式實(shí)現(xiàn)準(zhǔn)同步采樣.pdf》資料免費(fèi)下載
    發(fā)表于 11-24 14:53 ?4次下載
    <b class='flag-5'>利用</b>AD7616靈活的可編程<b class='flag-5'>序列</b>器和突發(fā)模式<b class='flag-5'>實(shí)現(xiàn)</b>準(zhǔn)<b class='flag-5'>同步</b>采樣