亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pwm_register_file.v

?? PWM Verilog HDL原碼和底層C驅動
?? V
字號:

















/***************************************************************************/
/*	Copyright ?2004 Altera Corporation. All rights reserved.            */
/* Altera products are protected under numerous U.S. and foreign patents,  */
/* maskwork rights, copyrights and other intellectual property laws.  This */
/* reference design file, and your use thereof, *is subject to and         */
/* governed by the terms and conditions of the applicable Altera Reference */
/* Design License Agreement (either as signed by you or found at           */
/* www.altera.com).  By using this reference design file, you indicate     */
/* your acceptance of such terms and conditions between you and Altera     */
/* Corporation.  In the event that you do not agree with such terms and    */
/* conditions, you may not use the reference design file and please        */
/* promptly destroy any copies you have made. This reference design file   */
/* is being provided on an 揳s-is?basis and as an accommodation and       */
/* therefore all warranties, representations or guarantees of any kind     */
/* (whether express, implied or statutory) including, without limitation,  */
/* warranties of merchantability, non-infringement, or fitness for a       */
/* particular purpose, are specifically disclaimed.  By making this        */
/* reference design file available, Altera expressly does not recommend,   */
/* suggest or require that this reference design file be used in           */
/* combination with any other product not provided by Altera.              */
/***************************************************************************/

/***************************************************************************/
/* File: pwm_register_file                                                 */
/* Description: Register interface for PWM.  Contains logic for reading    */
/*    and writing to PWM registers.                                        */
/***************************************************************************/

module pwm_register_file
(	//Avalon Signals
	clk,
	resetn, 
	chip_select,
	address,
	write,
	write_data,
	read,
	read_data,

	//PWM Output Signals
	pwm_clock_divide,
	pwm_duty_cycle,
	pwm_enable
);

//Parameters
parameter clock_divide_reg_init = 32'h0000_0000;
parameter duty_cycle_reg_init   = 32'h0000_0000;

//Inputs

input clk;			      //System Clock
input resetn;			//System Reset
input chip_select;		//Avalon Chip select signal
input [1:0] address;	      //Avalon Address bus 
input write;			//Avalon Write signal
input [31:0] write_data;	//Avalon Write data bus
input read;			      //Avalon read signal
	
//Outputs
output [31:0] read_data;	  //Avalon read data bus
output [31:0] pwm_clock_divide; //PWM clock divide drive signals
output [31:0] pwm_duty_cycle;   //PWM duty cycle drive signals
output        pwm_enable;       //PWM enable drive signals

//Signal Declarations	
		
reg [31:0] clock_divide_register;	//Clock divider register
reg [31:0] duty_cycle_register;  	//Duty Cycle Register
reg        enable_register;	 	//Enable Bit	
reg [31:0] read_data;			//Read_data bus
	
//Nodes used for address decoding
wire clock_divide_reg_selected, duty_cycle_reg_selected, enable_reg_selected;
//Nodes for determining if a valid write occurred to a specific address
wire write_to_clock_divide, write_to_duty_cycle, write_to_enable;
//Nodes for determining if a valid read occurred to a specific address
wire read_to_clock_divide, read_to_duty_cycle, read_to_enable;
//Nodes used to determine if a valid access has occurred
wire valid_write, valid_read;

//Start Main Code	

//address decode
assign clock_divide_reg_selected = !address[1] & !address[0];  //address 00
assign duty_cycle_reg_selected   = !address[1] &  address[0];  //address 01
assign enable_reg_selected       =  address[1] & !address[0];  //address 10

//determine if a vaild transaction was initiated 
assign valid_write = chip_select & write;		
assign valid_read  = chip_select & read;

//determine if a write occurred to a specific address
assign write_to_clock_divide = valid_write & clock_divide_reg_selected;
assign write_to_duty_cycle   = valid_write & duty_cycle_reg_selected;
assign write_to_enable       = valid_write & enable_reg_selected;

//determine if a read occurred to a specific address
assign read_to_clock_divide = valid_read & clock_divide_reg_selected;
assign read_to_duty_cycle   = valid_read & duty_cycle_reg_selected;
assign read_to_enable       = valid_read & enable_reg_selected;

//Write to clock_divide Register
always@(posedge clk or negedge resetn)
begin
	if(~resetn)begin //Async Reset
		clock_divide_register <= clock_divide_reg_init; //32'h0000_0000;
	end
	else begin	
		if(write_to_clock_divide) begin
			clock_divide_register <= write_data; 	 
		end
		else begin
			clock_divide_register <= clock_divide_register;  
		end
		
	end
end	

//Write to duty_cycle Register
always@(posedge clk or negedge resetn)
begin
	if(~resetn)begin //Async Reset
		duty_cycle_register <= duty_cycle_reg_init; //32'h0000_0000;
	end
	else begin	
		if(write_to_duty_cycle) begin
			duty_cycle_register <= write_data; 	 
		end
		else begin
			duty_cycle_register <= duty_cycle_register;  
		end
	end
end	

//Write to enable register
always@(posedge clk or negedge resetn)
begin
	if(~resetn)begin //Async Reset
		enable_register <= 1'b0;
	end
	else begin
		if(write_to_enable)begin
			enable_register <= write_data[0];
		end
		else begin
			enable_register <= enable_register;
		end
	end
end

//Read Data Bus Mux
always@(read_to_clock_divide or read_to_duty_cycle or read_to_enable or clock_divide_register or duty_cycle_register or enable_register)
begin
	if(read_to_clock_divide) begin
		read_data = clock_divide_register;
	end
	else if(read_to_duty_cycle) begin
		read_data = duty_cycle_register;
	end
	else if(read_to_enable) begin
		read_data = {31'd0,enable_register};
	end
	else begin
		read_data = 32'h0000_0000;
	end
end

//assign register values to register file outputs to the PWM
assign pwm_clock_divide = clock_divide_register;
assign pwm_duty_cycle = duty_cycle_register;
assign pwm_enable = enable_register;

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产网站一区二区三区| 色美美综合视频| 精品国产乱码久久久久久图片| 五月天中文字幕一区二区| 欧美日韩第一区日日骚| 奇米综合一区二区三区精品视频 | 国产精品精品国产色婷婷| 丁香婷婷综合色啪| 中文字幕人成不卡一区| 欧美日韩中文另类| 久久成人免费电影| 国产精品大尺度| 欧美视频在线一区二区三区| 日本不卡视频一二三区| 久久久天堂av| 一本色道**综合亚洲精品蜜桃冫| 午夜久久久影院| 国产欧美日韩视频一区二区| 93久久精品日日躁夜夜躁欧美| 亚洲电影视频在线| 2023国产精品视频| 色妹子一区二区| 日本麻豆一区二区三区视频| 久久中文娱乐网| 在线中文字幕一区二区| 麻豆成人免费电影| 国产精品久久久久久福利一牛影视| 在线观看亚洲精品| 国产一区二区三区四区在线观看| 中文字幕一区二区视频| 56国语精品自产拍在线观看| 成人av午夜电影| 日本不卡1234视频| 亚洲欧美视频在线观看视频| 精品国产不卡一区二区三区| 日本精品视频一区二区三区| 国产一区二区三区综合| 亚洲18影院在线观看| 国产欧美日韩三区| 欧美大片一区二区| 91黄色免费网站| 成人一区二区三区视频在线观看| 日韩黄色在线观看| 亚洲同性gay激情无套| 精品国产1区2区3区| 欧美日韩亚洲另类| 色八戒一区二区三区| 国产91丝袜在线播放九色| 日韩经典一区二区| 亚洲人成网站色在线观看| 久久久99精品免费观看不卡| 欧美一级理论片| 欧美视频在线不卡| 91福利精品视频| 99久久精品免费| 国产不卡视频一区二区三区| 蜜桃传媒麻豆第一区在线观看| 一区二区三区电影在线播| 国产精品免费人成网站| 久久蜜桃一区二区| 日韩精品在线一区| 日韩天堂在线观看| 91精品国产麻豆国产自产在线 | 国产一区二区三区免费观看| 精品久久久三级丝袜| 亚洲精品第1页| 国产精品丝袜黑色高跟| 国产丝袜欧美中文另类| 欧美大片拔萝卜| 欧美一级高清片| 91精品视频网| 91麻豆精品国产91久久久使用方法| 欧美主播一区二区三区美女| 91丝袜呻吟高潮美腿白嫩在线观看| 国产69精品久久99不卡| 国产成人精品网址| 丁香六月久久综合狠狠色| 国产成人99久久亚洲综合精品| 国产精品一区二区果冻传媒| 国产在线播放一区二区三区| 久久电影网电视剧免费观看| 极品少妇xxxx精品少妇偷拍| 国产伦精品一区二区三区免费迷| 国产乱人伦偷精品视频不卡| 777亚洲妇女| 久久精品国产亚洲a| 亚洲欧洲精品天堂一级 | 国产亚洲人成网站| 久久久久久久久蜜桃| 国产午夜久久久久| 中日韩免费视频中文字幕| 国产精品国产三级国产普通话蜜臀| 国产精品网站在线观看| 亚洲乱码国产乱码精品精的特点| 亚洲伊人伊色伊影伊综合网| 天堂一区二区在线免费观看| 久久99久久99| jizzjizzjizz欧美| 欧美性猛交xxxxxxxx| 欧美一区二区三区在线视频| 久久综合九色综合97婷婷| 国产精品看片你懂得| 亚洲自拍都市欧美小说| 免费观看在线色综合| 国产白丝精品91爽爽久久| 色偷偷88欧美精品久久久| 91精品国产综合久久久久久| 国产欧美综合在线| 亚洲午夜av在线| 国产精品综合一区二区| 在线看日韩精品电影| 日韩美女一区二区三区| 国产精品毛片久久久久久久| 亚洲国产精品一区二区久久恐怖片| 免费在线看成人av| av亚洲精华国产精华精华| 欧美日产在线观看| 欧美国产激情二区三区| 亚洲电影一级黄| 成人一区二区三区中文字幕| 欧美日韩一区二区三区视频| 国产亚洲欧美色| 日韩高清在线一区| av一本久道久久综合久久鬼色| 欧美一区二区在线免费播放| 国产精品系列在线| 日本欧美久久久久免费播放网| av不卡免费在线观看| 欧美xxxxx牲另类人与| 一区二区三区欧美久久| 国产一区二区免费在线| 欧美精品丝袜中出| 国产精品久久久久影院| 蜜臀av一区二区在线观看| 在线观看国产精品网站| 国产精品久久久久久久岛一牛影视 | 一本大道久久a久久综合| 精品久久久久久久久久久久久久久| 亚洲欧美激情小说另类| 国产白丝网站精品污在线入口| 日韩视频一区在线观看| 亚洲一区二区3| 91免费国产在线观看| 国产亚洲视频系列| 国产在线视频一区二区三区| 欧美一三区三区四区免费在线看| 亚洲一区二区美女| 91蝌蚪porny| 中文字幕中文字幕一区二区| 国产麻豆一精品一av一免费| 日韩免费高清av| 久久国产精品72免费观看| 欧美精品久久99久久在免费线| 一区二区理论电影在线观看| 99re免费视频精品全部| 国产精品三级在线观看| 国产传媒久久文化传媒| 精品少妇一区二区三区| 蜜臀av亚洲一区中文字幕| 777久久久精品| 日韩电影在线一区二区三区| 欧美日精品一区视频| 一区二区三区精品久久久| 91视频在线观看| 亚洲日本中文字幕区| 99精品欧美一区二区三区小说| 国产精品午夜久久| 99精品视频在线播放观看| 亚洲视频一区二区在线| 色天天综合久久久久综合片| 亚洲色图制服丝袜| 97se亚洲国产综合自在线| 亚洲欧美怡红院| 91黄视频在线| 亚洲成a人片在线不卡一二三区| 欧美色网一区二区| 午夜精品久久久久| 日韩一区二区不卡| 国内外成人在线| 国产日韩欧美高清| 99re热这里只有精品免费视频 | 欧美性色黄大片手机版| 亚洲一区二区三区视频在线播放| 在线观看视频一区| 日韩二区在线观看| 亚洲精品一线二线三线| 成人伦理片在线| 一区二区三区色| 91精品国产手机| 国产精品一二三四五| 国产精品久久久久桃色tv| 91成人在线精品| 首页国产欧美日韩丝袜| 久久影院电视剧免费观看| 成人性视频免费网站| 亚洲在线一区二区三区| 日韩欧美一区二区久久婷婷| 成人午夜视频网站| 天天av天天翘天天综合网色鬼国产| 日韩欧美精品三级|