日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

zynq网络时钟控制寄存器_ZYNQ笔记(6):普通自定义IP封装实现PL精准定时中断...

發(fā)布時(shí)間:2023/12/4 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zynq网络时钟控制寄存器_ZYNQ笔记(6):普通自定义IP封装实现PL精准定时中断... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

軟件的定時(shí)中斷很難控制精準(zhǔn)觸發(fā)沿的位置,可以通過 PL-PS 的中斷完成精準(zhǔn)的定時(shí)中斷。PL 的中斷通過 Verilog 代碼產(chǎn)生,這樣緊密結(jié)合 PS-PL 的處理,發(fā)揮各自的優(yōu)勢。

一、PL 側(cè)定時(shí)中斷

1.實(shí)際要求

① 上升沿中斷;

② 高電平寬度不小于1us;

③ 中斷計(jì)數(shù)器的時(shí)鐘為 200Mhz;

④ 有兩個(gè)中斷: 3ms 和0.5ms

2.Verilog中斷代碼

1 //**************************************************************************2 //*** 名稱 : genintr3ms05ms.v3 //*** 作者 : xianyu_FPGA4 //*** 博客 :https://www.cnblogs.com/xianyufpga/

5 //*** 日期 :2019-08-106 //*** 描述 : 3ms和0.5ms精準(zhǔn)延時(shí)7 //**************************************************************************

8

9

10 modulegenintr3ms05ms11 //====================================================================

12 (13 //input -----------------------------------------

14 input wire clk , //時(shí)鐘,200Mhz

15 input wire rst , //復(fù)位,高電平有效16 //output ----------------------------------------

17 output reg intr3ms , //3ms中斷

18 output reg intr05ms //0.5ms中斷

19 );20 //====================================================================

21 parameter CNT3MS_END = 600000;22 parameter CNT05MS_END = 100000;23 parameter PULSEW = 200 ; //中斷高電平維持時(shí)間24 //====================================================================

25 reg [23:0] cnt3ms ;26 wireadd_cnt3ms ;27 wireend_cnt3ms ;28 reg [23:0] cnt05ms ;29 wireadd_cnt05ms ;30 wireend_cnt05ms ;31

32 //==========================================================================33 //== 0.5ms延時(shí)34 //==========================================================================

35 always @(posedge clk) begin

36 if(rst)37 cnt3ms <= 0;38 else if(add_cnt3ms) begin

39 if(end_cnt3ms)40 cnt3ms <= 0;41 else

42 cnt3ms <= cnt3ms + 1;43 end

44 end

45

46 assign add_cnt3ms = 1;47 assign end_cnt3ms = add_cnt3ms && cnt3ms== CNT3MS_END-1;48

49 always @(posedge clk) begin

50 if(rst) begin

51 intr3ms <= 0;52 end

53 else if(end_cnt3ms) begin

54 intr3ms <= 1;55 end

56 else if(add_cnt3ms && cnt3ms==PULSEW-1) begin

57 intr3ms <= 0;58 end

59 end

60

61 //==========================================================================62 //== 3ms延時(shí)63 //==========================================================================

64 always @(posedge clk) begin

65 if(rst)66 cnt05ms <= 0;67 else if(add_cnt05ms) begin

68 if(end_cnt05ms)69 cnt05ms <= 0;70 else

71 cnt05ms <= cnt05ms + 1;72 end

73 end

74

75 assign add_cnt05ms = 1;76 assign end_cnt05ms = add_cnt05ms && cnt05ms== CNT05MS_END-1;77

78 always @(posedge clk) begin

79 if(rst) begin

80 intr05ms <= 0;81 end

82 else if(end_cnt05ms) begin

83 intr05ms <= 1;84 end

85 else if(add_cnt05ms && cnt05ms==PULSEW-1) begin

86 intr05ms <= 0;87 end

88 end

89

90

91

92 endmodule

3.PL中斷封裝成私有IP

①打開 Vivado,新建工程,然后選擇菜單欄 Tools --- Create and Package New IP...

②Vivado 打開了一個(gè)新的界面,類似于原界面,但是多了一個(gè)選項(xiàng)

這時(shí)如果 Verilog 有語法錯(cuò)誤,Source處會顯示紅色波浪線。也可以在此新界面修改代碼,修改后保存,頁面顯示成編輯圖標(biāo),必須點(diǎn)擊更新才行。

③默認(rèn)情況下,復(fù)位是低有效,我們可以手動改成高有效

④選擇 Review and Package 可以看到 Package IP ,點(diǎn)擊它即可完成 IP 的封裝

⑤此頁面自動關(guān)閉,回到原頁面,可以在 Settings --- IP --- Repository 中可以看到這個(gè)自定義 IP,此頁面也可以手動添加第三方 IP

⑥生成 bit 文件并以此加載 SDK。

二、ZYNQ硬中斷的使用

1.進(jìn)入到 Create Block Design 中,輸入 genintr3ms05ms 即可添加該自定義 IP

2.添加 ZYNQ,復(fù)位選上,時(shí)鐘頻率設(shè)置為 200Mhz,同時(shí)記得勾選中斷

3.連線,兩個(gè)中斷,但只有一個(gè)接口,我們借用一個(gè) Concat IP 即可

4.連線可以直接點(diǎn)擊上方 Run 自動布線,會多出一個(gè) Processor System Reset模塊,中斷復(fù)位是高有效,而ZYNQ復(fù)位是低有效,此模塊會協(xié)調(diào)好。而手動布線則可能出錯(cuò)。

5.如果布線時(shí)發(fā)現(xiàn)自定義 IP 需要修改,可以選中該 IP,右鍵進(jìn)入修改

之后就可以進(jìn)入到SDK進(jìn)行中斷代碼編寫了,和普通PL中斷是類似的。

參考資料:

[1]V3學(xué)院FPGA教程

總結(jié)

以上是生活随笔為你收集整理的zynq网络时钟控制寄存器_ZYNQ笔记(6):普通自定义IP封装实现PL精准定时中断...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。