中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

鄭州官網(wǎng)網(wǎng)站推廣優(yōu)化公司品牌廣告和效果廣告的區(qū)別

鄭州官網(wǎng)網(wǎng)站推廣優(yōu)化公司,品牌廣告和效果廣告的區(qū)別,國內(nèi)跨境電商公司排行榜,wordpress is admin🎉歡迎來到FPGA專欄~數(shù)碼管動態(tài)掃描 ☆* o(≧▽≦)o *☆嗨~我是小夏與酒🍹 ?博客主頁:小夏與酒的博客 🎈該系列文章專欄:FPGA學(xué)習(xí)之旅 文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯誤,希望大家能指正…

🎉歡迎來到FPGA專欄~數(shù)碼管動態(tài)掃描


  • ☆* o(≧▽≦)o *☆~我是小夏與酒🍹
  • ?博客主頁:小夏與酒的博客
  • 🎈該系列文章專欄:FPGA學(xué)習(xí)之旅
  • 文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯誤,希望大家能指正🙏
  • 📜 歡迎大家關(guān)注! ??
    FPGQ2

CSDN

🎉 目錄-數(shù)碼管動態(tài)掃描

  • 一、效果演示
  • 二、電路結(jié)構(gòu)
  • 三、代碼詳解
  • 四、AV4開發(fā)板演示
  • 五、Spirit_V2開發(fā)板演示

遇見未來

一、效果演示

🥝Spirit_V2開發(fā)板按鍵控制數(shù)碼管:
演示1
🥝AV4開發(fā)板數(shù)碼管動態(tài)掃描:
顯示1
顯示2

二、電路結(jié)構(gòu)

電路結(jié)構(gòu)
上圖電路結(jié)構(gòu)的子模塊介紹:

名稱功能描述
divider分頻產(chǎn)生1KHz的掃描時鐘
shift66位循環(huán)移位寄存器
MUX6數(shù)據(jù)輸入選擇
MUX2使能選擇
LUT數(shù)據(jù)譯碼器

由于各子模塊的代碼量不會特別大,因此將在一個文件中編寫。

三、代碼詳解

先上代碼:

smg_HEX.v:

module smg_HEX(input 					Clk,		//50Minput 					Rst_n,		//復(fù)位input 					En,			//數(shù)碼管顯示使能input 		[23:0]		disp_data,	//6 × 4 = 24(6個數(shù)碼管,數(shù)據(jù)格式為hex,總共輸入24位)output reg 	[7:0]		seg, 		//數(shù)碼管段選output 		[5:0]		sel	 		//數(shù)碼管位選(數(shù)碼管選擇)
);reg [5:0]sel_r;//--------<分頻器>--------reg [14:0]divider_cnt;//25000-1reg clk_1K;reg [3:0]data_tmp;//待顯示數(shù)據(jù)緩存//1KHz分頻計(jì)數(shù)器always@(posedge Clk or negedge Rst_n)beginif(!Rst_n)divider_cnt <= 15'd0;else if(!En)divider_cnt <= 15'd0;else if(divider_cnt == 24999)divider_cnt <= 15'd0;elsedivider_cnt <= divider_cnt + 1'b1;end//1KHz掃描時鐘always@(posedge Clk or negedge Rst_n)beginif(!Rst_n)clk_1K <= 1'b0;else if(divider_cnt == 24999)clk_1K <= ~clk_1K;elseclk_1K <= clk_1K;end//--------<6位循環(huán)移位寄存器>--------	always@(posedge clk_1K or negedge Rst_n)beginif(!Rst_n)sel_r <= 6'b000_001;else if(sel_r == 6'b100_000)sel_r <= 6'b000_001;elsesel_r <= sel_r << 1;end	//--------<6選1多路器>--------		always@(*)begincase(sel_r)6'b00_0001:data_tmp = disp_data[3:0];6'b00_0010:data_tmp = disp_data[7:4];6'b00_0100:data_tmp = disp_data[11:8];6'b00_1000:data_tmp = disp_data[15:12];6'b01_0000:data_tmp = disp_data[19:16];6'b10_0000:data_tmp = disp_data[23:20];default:data_tmp = 4'b0000;endcaseend//--------<LUT>--------		always@(*)begincase(data_tmp)4'h0:seg = 8'hc0;4'h1:seg = 8'hf9;4'h2:seg = 8'ha4;4'h3:seg = 8'hb0;4'h4:seg = 8'h99;4'h5:seg = 8'h92;4'h6:seg = 8'h82;4'h7:seg = 8'hf8;4'h8:seg = 8'h80;4'h9:seg = 8'h90;4'ha:seg = 8'h88;4'hb:seg = 8'h83;4'hc:seg = 8'hc6;4'hd:seg = 8'ha1;4'he:seg = 8'h86;4'hf:seg = 8'h8e;endcaseend//--------<2選1多路器>--------		assign sel = (En)?(~sel_r):6'b111_111;endmodule

需要注意端口列表:

module smg_HEX(input 					Clk,		//50Minput 					Rst_n,		//復(fù)位input 					En,			//數(shù)碼管顯示使能input 		[23:0]		disp_data,	//6 × 4 = 24(6個數(shù)碼管,數(shù)據(jù)格式為hex,總共輸入24位)output reg 	[7:0]		seg, 		//數(shù)碼管段選output 		[5:0]		sel	 		//數(shù)碼管位選(數(shù)碼管選擇)
);

En使能信號只有在高電平時,數(shù)碼管顯示。加入使能信號端口是為了低功耗設(shè)計(jì)的實(shí)現(xiàn)。

接下來做仿真測試:

smg_HEX_tb.v:

`timescale 1ns/1ns
`define clock_period 20module smg_HEX_tb;reg 				Clk;	//50Mreg 				Rst_n;reg 				En;		//數(shù)碼管顯示使能reg		[23:0]		disp_data;wire 	[7:0]		seg; 	//數(shù)碼管段選wire 	[5:0]		sel;	//數(shù)碼管位選(數(shù)碼管選擇)smg_HEX Usmg_HEX(.Clk(Clk),				//50M.Rst_n(Rst_n),.En(En),				//數(shù)碼管顯示使能.disp_data(disp_data),.seg(seg), 				//數(shù)碼管段選.sel(sel)	 			//數(shù)碼管位選(數(shù)碼管選擇));initial Clk = 1;always#(`clock_period / 2) Clk =~Clk;initial beginRst_n = 1'b0;En = 1;disp_data = 24'h123456;#(`clock_period*20);Rst_n = 1'b1;#(`clock_period*20);#20000000;disp_data = 24'h89abcd;#20000000;$stop;endendmodule

仿真結(jié)果:
仿真結(jié)果

RTL:

RTL

四、AV4開發(fā)板演示

上述代碼為數(shù)碼管動態(tài)掃描的驅(qū)動代碼,使用時需要添加上層模塊。

AV4開發(fā)板開箱視頻:【FPGA-AV4】火熱售賣中!歡迎大家搶購!小月電子~(含購買鏈接)。

在AV4開發(fā)板上的實(shí)現(xiàn),主要使用到了ISSP調(diào)試工具,ISSP的ip核創(chuàng)建:

🥝創(chuàng)建一個新的ip核:
1
🥝選擇ISSP,選擇好Verilog HDL和路徑:
2
🥝該項(xiàng)目只需要用到source端口:
3
🥝下一步:
4
🥝完成:
5

issp.v:

// megafunction wizard: %In-System Sources and Probes%VBB%
// GENERATION: STANDARD
// VERSION: WM1.0
// MODULE: altsource_probe // ============================================================
// File Name: issp.v
// Megafunction Name(s):
// 			altsource_probe
//
// Simulation Library Files(s):
// 			altera_mf
// ============================================================
// ************************************************************
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
//
// 13.0.0 Build 156 04/24/2013 SJ Full Version
// ************************************************************//Copyright (C) 1991-2013 Altera Corporation
//Your use of Altera Corporation's design tools, logic functions 
//and other software and tools, and its AMPP partner logic 
//functions, and any output files from any of the foregoing 
//(including device programming or simulation files), and any 
//associated documentation or information are expressly subject 
//to the terms and conditions of the Altera Program License 
//Subscription Agreement, Altera MegaCore Function License 
//Agreement, or other applicable license agreement, including, 
//without limitation, that your use is for the sole purpose of 
//programming logic devices manufactured by Altera and sold by 
//Altera or its authorized distributors.  Please refer to the 
//applicable agreement for further details.module issp (probe,source);input	  probe;output	[23:0]  source;endmodule// ============================================================
// CNX file retrieval info
// ============================================================
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E"
// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
// Retrieval info: CONSTANT: ENABLE_METASTABILITY STRING "NO"
// Retrieval info: CONSTANT: INSTANCE_ID STRING "NONE"
// Retrieval info: CONSTANT: PROBE_WIDTH NUMERIC "0"
// Retrieval info: CONSTANT: SLD_AUTO_INSTANCE_INDEX STRING "YES"
// Retrieval info: CONSTANT: SLD_INSTANCE_INDEX NUMERIC "0"
// Retrieval info: CONSTANT: SOURCE_INITIAL_VALUE STRING " 0"
// Retrieval info: CONSTANT: SOURCE_WIDTH NUMERIC "24"
// Retrieval info: USED_PORT: probe 0 0 0 0 INPUT NODEFVAL "probe"
// Retrieval info: USED_PORT: source 0 0 24 0 OUTPUT NODEFVAL "source[23..0]"
// Retrieval info: CONNECT: @probe 0 0 0 0 probe 0 0 0 0
// Retrieval info: CONNECT: source 0 0 24 0 @source 0 0 24 0
// Retrieval info: GEN_FILE: TYPE_NORMAL issp.v TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL issp.inc TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL issp.cmp TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL issp.bsf TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL issp_inst.v TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL issp_bb.v TRUE
// Retrieval info: LIB_FILE: altera_mf

將該ip核添加到項(xiàng)目文件中,并在頂層文件中例化模塊:

module smg_ISSP(input 					Clk,		//50Minput 					Rst_n,		//復(fù)位output 	 	[7:0]		seg, 		//數(shù)碼管段選output 		[5:0]		sel	 		//數(shù)碼管位選(數(shù)碼管選擇)
);wire [23:0]disp_data;smg_HEX Usmg_HEX(.Clk(Clk),				//50M.Rst_n(Rst_n),			//復(fù)位.En(1'b1),				//數(shù)碼管顯示使能.disp_data(disp_data),	//6 × 4 = 24(6個數(shù)碼管,數(shù)據(jù)格式為hex,總共輸入24位).seg(seg), 				//數(shù)碼管段選.sel(sel)	 			//數(shù)碼管位選(數(shù)碼管選擇));issp Uissp(.probe(),.source(disp_data));endmodule

將上述程序配置好之后,數(shù)碼管顯示如下:
配置

當(dāng)程序配置好之后,使用ISSP調(diào)試工具,打開步驟:
🍋在Tools中打開:
1
🍋未發(fā)現(xiàn)設(shè)備,先點(diǎn)擊ok:
2

🍋在Hardware中選擇對應(yīng)的設(shè)備:
3
🍋將數(shù)據(jù)顯示格式調(diào)整為hex格式:
4
🍋將數(shù)據(jù)改為123456:
5
🍋測試結(jié)果:
66
🍋將數(shù)據(jù)改為ABCDEF:
7
🍋測試結(jié)果:
77

五、Spirit_V2開發(fā)板演示

Spirit_V2開發(fā)板介紹:【FPGA-Spirit_V2】小精靈V2開發(fā)板初使用。

接下來在Spirit_V2開發(fā)板上實(shí)驗(yàn),通過按鍵控制數(shù)碼管亮滅,實(shí)現(xiàn)簡單的低功耗設(shè)計(jì)
演示
先上RTL視圖,便于理解編程思路:
RTL
按鍵信號經(jīng)過按鍵消抖模塊之后,有效信號進(jìn)入數(shù)碼管數(shù)據(jù)和使能模塊,最后信號進(jìn)入數(shù)碼管驅(qū)動模塊

按鍵消抖模塊的詳細(xì)講解:【FPGA零基礎(chǔ)學(xué)習(xí)之旅#10】按鍵消抖模塊設(shè)計(jì)與驗(yàn)證(一段式狀態(tài)機(jī)實(shí)現(xiàn))。

接下來為各模塊的代碼:

KeyFilter.v:

//
//模塊:按鍵消抖模塊
//key_state:輸出消抖之后按鍵的狀態(tài)
//key_flag:按鍵消抖結(jié)束時產(chǎn)生一個時鐘周期的高電平脈沖
//
module KeyFilter(input Clk,input Rst_n,input key_in,output reg key_flag,output reg key_state
);//按鍵的四個狀態(tài)localparamIDLE 		= 4'b0001,FILTER1 	= 4'b0010,DOWN 		= 4'b0100,FILTER2 	= 4'b1000;//狀態(tài)寄存器reg [3:0] curr_st;//邊沿檢測輸出上升沿或下降沿wire pedge;wire nedge;//計(jì)數(shù)寄存器reg [19:0]cnt;//使能計(jì)數(shù)寄存器reg en_cnt;//計(jì)數(shù)滿標(biāo)志信號reg cnt_full;//計(jì)數(shù)滿寄存器//------<邊沿檢測電路的實(shí)現(xiàn)>------//邊沿檢測電路寄存器reg key_tmp0;reg key_tmp1;//邊沿檢測always@(posedge Clk or negedge Rst_n)beginif(!Rst_n)beginkey_tmp0 <= 1'b0;key_tmp1 <= 1'b0;endelse beginkey_tmp0 <= key_in;key_tmp1 <= key_tmp0;end	endassign nedge = (!key_tmp0) & (key_tmp1);assign pedge = (key_tmp0)  & (!key_tmp1);//------<狀態(tài)機(jī)主程序>------	//狀態(tài)機(jī)主程序always@(posedge Clk or negedge Rst_n)beginif(!Rst_n)begincurr_st <= IDLE;en_cnt <= 1'b0;key_flag <= 1'b0;key_state <= 1'b1;endelse begincase(curr_st)IDLE:beginkey_flag <= 1'b0;if(nedge)begincurr_st <= FILTER1;en_cnt <= 1'b1;endelsecurr_st <= IDLE;endFILTER1:beginif(cnt_full)beginkey_flag <= 1'b1;key_state <= 1'b0;curr_st <= DOWN;en_cnt <= 1'b0;end	else if(pedge)begincurr_st <= IDLE;en_cnt <= 1'b0;endelsecurr_st <= FILTER1;endDOWN:beginkey_flag <= 1'b0;if(pedge)begincurr_st <= FILTER2;en_cnt <= 1'b1;endelsecurr_st <= DOWN;endFILTER2:beginif(cnt_full)beginkey_flag <= 1'b1;key_state <= 1'b1;curr_st <= IDLE;en_cnt <= 1'b0;end	else if(nedge)begincurr_st <= DOWN;en_cnt <= 1'b0;endelsecurr_st <= FILTER2;enddefault:begincurr_st <= IDLE;en_cnt <= 1'b0;key_flag <= 1'b0;key_state <= 1'b1;endendcaseendend//------<20ms計(jì)數(shù)器>------		//20ms計(jì)數(shù)器//Clk 50_000_000Hz//一個時鐘周期為20ns//需要計(jì)數(shù)20_000_000 / 20 = 1_000_000次always@(posedge Clk or negedge Rst_n)beginif(!Rst_n)cnt <= 20'd0;else if(en_cnt)cnt <= cnt + 1'b1;elsecnt <= 20'd0;endalways@(posedge Clk or negedge Rst_n)beginif(!Rst_n)cnt_full <= 1'b0;else if(cnt == 999_999)cnt_full <= 1'b1;elsecnt_full <= 1'b0;endendmodule

DataAndEn.v:

module DataAndEn(input 			 		Clk,input 			 		Rst_n,input           		key_flag,input 			 		key_state,output 	reg [23:0] 	disp_data,output 	reg	 		En
);always@(posedge Clk or negedge Rst_n)beginif(!Rst_n)En <= 1'b0;else if(key_state == 1'b0)En <= 1'b1;else En <= 1'b0;endalways@(posedge Clk or negedge Rst_n)beginif(!Rst_n)disp_data <= 24'h0;else if(!key_state)disp_data <= 24'h89abcd;else;endendmodule

數(shù)碼管驅(qū)動模塊的代碼保持不變,接下來為頂層模塊:

smg_top.v:

module smg_top(input 				Clk,			input 				Rst_n,		input 				key_in,		output  [7:0]		seg, output 	[5:0]		sel		
);wire 			key_flag;wire 			key_state;wire 			En;wire [23:0]		disp_data;KeyFilter UKeyFilter(.Clk(Clk),.Rst_n(Rst_n),.key_in(key_in),.key_flag(key_flag),.key_state(key_state));DataAndEn UDataAndEn(.Clk(Clk),.Rst_n(Rst_n),.key_flag(key_flag),.key_state(key_state),.disp_data(disp_data),.En(En));smg_HEX Usmg_HEX(.Clk(Clk),			.Rst_n(Rst_n),		.En(En),			.disp_data(disp_data),.seg(seg), 			.sel(sel)	 		);endmodule

csdn

🧸結(jié)尾


  • ?? 感謝您的支持和鼓勵! 😊🙏
  • 📜您可能感興趣的內(nèi)容:
  • 【FPGA】串口通信講解-狀態(tài)機(jī)判斷數(shù)據(jù)值
  • 【Python】串口通信-與FPGA、藍(lán)牙模塊實(shí)現(xiàn)串口通信(Python+FPGA)
  • 【Arduino TinyGo】【最新】使用Go語言編寫Arduino-環(huán)境搭建和點(diǎn)亮LED燈
  • 【全網(wǎng)首發(fā)開源教程】【Labview機(jī)器人仿真與控制】Labview與Solidworks多路支配關(guān)系-四足爬行機(jī)器人仿真與控制
    遇見未來
http://www.risenshineclean.com/news/54831.html

相關(guān)文章:

  • 網(wǎng)站內(nèi)頁百度不收錄seo整站優(yōu)化公司持續(xù)監(jiān)控
  • 網(wǎng)站的聯(lián)系我們怎么做深圳外貿(mào)網(wǎng)絡(luò)推廣渠道
  • 谷歌seo優(yōu)化排名搜索網(wǎng)站排名優(yōu)化
  • 移動端網(wǎng)站建設(shè)費(fèi)用軟件開發(fā)
  • 網(wǎng)站改版seo建議百度推廣如何代理加盟
  • 網(wǎng)站網(wǎng)站建設(shè)設(shè)計(jì)seo推廣有哪些
  • 香港免費(fèi)域名seo網(wǎng)站優(yōu)化培訓(xùn)找哪些
  • web網(wǎng)站開發(fā)基本流程圖黃岡網(wǎng)站seo
  • 重慶忠縣網(wǎng)站建設(shè)公司哪家專業(yè)幽默廣告軟文案例
  • 做網(wǎng)站需要網(wǎng)絡(luò)服務(wù)器深圳網(wǎng)站建設(shè)專業(yè)樂云seo
  • 成都蜀美網(wǎng)站建設(shè)徐州網(wǎng)站建設(shè)
  • 美容院網(wǎng)站源碼seo搜索引擎優(yōu)化名詞解釋
  • 遼寧建設(shè)廳新網(wǎng)站個人免費(fèi)開發(fā)網(wǎng)站
  • 完善旅游網(wǎng)站的建設(shè)網(wǎng)站制作建設(shè)公司
  • 想做網(wǎng)站去哪里做百度灰色關(guān)鍵詞排名技術(shù)
  • 白云區(qū)建網(wǎng)站常用的網(wǎng)絡(luò)推廣手段有哪些
  • 企業(yè)網(wǎng)站建設(shè)費(fèi)用深圳免費(fèi)外鏈生成器
  • 網(wǎng)站開發(fā)兼職接單平臺長沙關(guān)鍵詞優(yōu)化公司電話
  • 邯鄲外貿(mào)網(wǎng)站建設(shè)公司成都網(wǎng)站建設(shè)公司
  • 政府網(wǎng)站建設(shè)的存在問題網(wǎng)址查詢工具
  • 如何實(shí)現(xiàn)網(wǎng)站開發(fā)太原網(wǎng)站建設(shè)制作
  • 廣州建筑集團(tuán)股份有限公司杭州seo排名優(yōu)化外包
  • 如何提取網(wǎng)頁中的視頻seo主要做什么
  • 龍崗區(qū)住房建設(shè)局網(wǎng)站品牌營銷方案
  • 云盤做網(wǎng)站關(guān)鍵詞推廣營銷
  • 廈門網(wǎng)站建設(shè)哪家好優(yōu)化網(wǎng)絡(luò)的軟件
  • 企業(yè)網(wǎng)站建設(shè)webbj免費(fèi)網(wǎng)站優(yōu)化排名
  • 湛江疫情最新通報五年級上冊語文優(yōu)化設(shè)計(jì)答案
  • 什么是網(wǎng)站解決方案武漢網(wǎng)絡(luò)推廣有哪些公司
  • 網(wǎng)站留言評論功能深圳百度seo代理