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

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

?? compile examples.v

?? 熟悉verilog,幫助初學者盡快掌握verilog
?? V
字號:
//可綜合風格的Verilog HDL模塊實例

//*****************************************************************************
//*   組合邏輯電路設計實例										*
//*   Example 1~10										*
//*****************************************************************************


//Example 1: 8位加法器(用簡單的算法描述)

module adder_8 (cout, sum, a, b, cin);
	output cout;
	output [7:0] sum;
	input cin;
	input [7:0] a, b;

	assign {cout, sum} = a + b + cin;

endmodule



//Example 2: 指令譯碼電路(用電平敏感的always塊來設計組合邏輯)

`define plus	3'b0
`define minus	3'b1
`define band	3'b2
`define bor 	3'b3
`define unegate	3'b4
module alu (out, opcode, a, b);
	output [7:0] out;
	input [2:0] opcode;
	input [7:0] a, b;
	reg [7:0] out;

	always @ (opcode or a or b)
		begin
			case (opcode)
				`plus :	out = a + b;
				`minus:	out = a - b;
				`band :	out = a & b;
				`bor  :	out = a | b;
				`unegate:	out = ~a;
				default:	out = 8'hx;
			endcase
		end

endmodule



//Example 3: 利用task和電平敏感的always塊設計后重組信號的組合邏輯

module sort4 (ra, rb, rc, rd, a, b, c, d);
	parameter t = 3;
	output [t:0] ra, rb, rc, rd;
	input [t:0] a, b, c, d;
	reg [t:0] ra, rb, rc, rd;

	always @ (a or b or c or d)
	//用電平敏感的always塊描述組合邏輯
		begin
			reg [t:0] va, vb, vc, vd;
			{va, vb, vc, vd} = {a, b, c, d};
			sort2(va, vc);
			sort2(vb, vd);
			sort2(va, vb);
			sort2(vc, vd);
			sort2(vb, vc);
			{ra, rb, rc, rd} = {va, vb, vc, vd};
		end
	
	task sort2;
		inout [t:0] x, y;
		reg [t:0] tmp;
		if (x > y)
		   begin
		   	tmp = x;
		   	x = y;
		   	y = tmp;
		   end
	endtask

endmodule



//Example 4: 比較器的設計實例(利用賦值語句設計組合邏輯)

module compare (equal, a, b);
	parameter size = 1;
	output equal;
	input [size-1:0] a, b;
	
	assign equal = (a == b) ? 1 : 0;
	
endmodule




//Example 5: 3-8譯碼器設計實例(利用賦值語句設計組合邏輯)

module decoder (out, in);
	output [7:0] out;
	input [2:0] in;
	
	assign out = 1'b1 << in;
	/*****  把最低位的1左移in(根據從in口輸入的值)位,并賦予out  *****/
	
endmodule



//Example 6: 8-3編碼器的設計實例
//方案一:
module encoder1 (none_on, out, in);
	output none_on;
	output [2:0] out;
	input [7:0] in;
	reg [2:0] out;
	reg none_on;
	
	always @ (in)
	   begin: local
	   	integer i;
	   	out = 0;
	   	none_on = 1;
	   	/*  returns the value of the highest bit number turned on  */
	   	for (i = 0; i < 8; i = i + 1)
	   	   begin
	   	   	if (in[i])
	   	   	   begin
	   	   	   	out = i;
	   	   	   	none_on = 0;
	   	   	   end
	   	   end
	   end
	
endmodule

//方案二:
module encoder2 (none_on, out2, out1, out0, h, g, f, e, d, c, b, a);
	input h, g, f, e, d, c, b, a;
	output none_on, out2, out1, out0;
	wire [3:0] outvec;
	
	assign outvec = h ? 4'b0111 : g ? 4'b0110 : f ? 4'b0101 :
		e ? 4'b0100 : d ? 4'b0011 : c ? 4'b0010 : b ? 4'b0001 :
		a ? 4'b0000 : 4'b1000;
	
	assign none_on = outvec[3];
	assign out2 = outvec[2];
	assign out1 = outvec[1];
	assign out0 = outvec[0];

endmodule

//方案三:
module encoder3 (none_on, out2, out1, out0, h, g, f, e, d, c, b, a);
	input h, g, f, e, d, c, b, a;
	output out2, out1, out0;
	output none_on;
	reg [3:0] outvec;
	
	assign {none_on, out2, out1, out0} = outvec;
	
	always @ (a or b or c or d or e or f or g or h)
	   begin
	   	if (h)		outvec = 4'b0111;
	   	else if (g)		outvec = 4'b0110;
	   	else if (f)		outvec = 4'b0101;
	   	else if (e)		outvec = 4'b0100;
	   	else if (d)		outvec = 4'b0011;
	   	else if (c)		outvec = 4'b0010;
	   	else if (b)		outvec = 4'b0001;
	   	else if (a)		outvec = 4'b0000;
	   	else			outvec = 4'b1000;
	   end

endmodule



//Example 7: 多路器的設計實例
/*** 使用連續賦值、case語句和if-else語句可以生成多路器電路。如果條件語句(case或
**** if-else)中分支條件是互斥的話,綜合器能自動地生成并行的多路器。   */

//方案一:
module mux1 (out, a, b, sel);
	output out;
	input a, b, sel;
	
	assign out = sel ? a : b;
	
endmodule

//方案二:
module mux2 (out, a, b, sel);
	output out;
	input a, b, sel;
	reg out;
	
	//用電平觸發的always塊來設計多路器的組合邏輯
	always @ (a or b or sel)
	   begin
	   	/*   檢查輸入信號sel的值,如為1,輸出out為a;如為0,輸出out為b   */
	   	case (sel)
	   		1'b1:		out = a;
	   		1'b0:		out = b;
	   		default:	out = 'bx;
	   	endcase
	   end

endmodule

//方案三:
module mux3 (out, a, b, sel);
	output out;
	input a, b, sel;
	reg out;
	
	always @ (a or b or sel)
	   begin
	   	if (sel)
	   		out = a;
	   	else
	   		out = b;
	   end

endmodule



//Example 8: 奇偶校驗位生成器設計實例

module parity (even_numbits, odd_numbits, input_bus);
	output even_numbits, odd_numbits;
	input [7:0] input_bus;
	
	assign odd_numbits = ^ input_bus;
	assign even_numbits = ~ odd_numbits;
	
endmodule



//Example 9: 三態輸出驅動器的設計實例(用連續賦值語句建立三態門模型)
//方案一:
module trist1 (out, in, enable);
	output out;
	input in, enable;
	
	assign out = enable ? in : 'bz;
	
endmodule

//方案二:
module trist2 (out, in, enable);
	output out;
	input in, enable;
	
	bufif1 mybuf1 (out, in, enable);
	//bufif1是一個Verilog門級原語(primitive)

endmodule


//Example 10: 三態雙向驅動器設計實例

module bidir (tri_inout, out, in, en, b);
	inout tri_inout;
	output out;
	input in, en, b;
	
	assign tri_inout = en ? in : 'bz;
	assign out = tri_inout ^ b;
	
endmodule



//*****************************************************************************
//*   時序邏輯電路設計實例										*
//*   Example 1~7											*
//*****************************************************************************


//Example 1: 觸發器設計實例

module dff (q, data, clk);
	output q;
	input data, clk;
	reg q;

	always @ (posedge clk)
	   begin
	   	q = data;
	   end

endmodule



//Example 2: 電平敏感型鎖存器設計實例之一

module latch1 (q, data, clk);
	output q;
	input data, clk;
	reg q;

	assign q = clk ? data : q;
	
endmodule


//Example 3: 帶置位和復位端的電平敏感型鎖存器設計實例之二

module latch2 (q, data, clk, set, reset);
	output q;
	input data, clk, set, reset;
	reg q;

	assign q = clk ? data : q;
	
endmodule


//Example 4: 電平敏感型鎖存器設計實例之三

module latch3 (q, data, clk);
	output q;
	input data, clk;
	reg q;

	always @ (clk or data)
	   begin
	   	if (clk)
	   		q = data;
	   end
	
endmodule




//Example 5: 移位寄存器設計實例

module shifter (din, clk, clr, dout);
	input din, clk, clr;
	output [7:0] dout;
	reg [7:0] dout;

	always @ (posedge clk)
	   begin
	   	if (clr)		//清零
	   		dout = 8'b0;
	   	else
	   	   begin
	   	   	dout = dout << 1;		//左移一位
	   	   	dout[0] = din;		//把輸入信號放入寄存器的最低位
	   	   end
	   end
	
endmodule




//Example 6: 8位計數器設計實例之一

module counter1 (out, cout, data, load, cin, clk);
	output [7:0] out;
	output cout;
	input [7:0] data;
	input load, cin, clk;
	reg [7:0] out;

	always @ (posedge clk)
	   begin
	   	if (load)
	   		out = data;
	   	else
	   		out = out + cin;
	   end
	assign cout = & out & cin;
	
endmodule




//Example 7: 8位計數器設計實例之二

module counter2 (out, cout, data, load, cin, clk);
	output [7:0] out;
	output cout;
	input [7:0] data;
	input load, cin, clk;
	reg [7:0] out;
	reg cout;
	reg [7:0] preout;		//創建8位寄存器

	always @ (posedge clk)
	   begin
	   	out = preout;
	   end
	/*****  計算計數器和進位的下一個狀態。注意:為提高性能不希望加載影響進位   *****/
	always @ (out or data or load or cin)
	   begin
	   	{cout, preout} = out + cin;
	   	if (load)
	   		preout = data;
	   end
	
endmodule



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人一区二区| 午夜久久电影网| 欧美tickling挠脚心丨vk| 欧美色综合网站| 色综合久久久久综合体桃花网| 精品无人码麻豆乱码1区2区| 毛片一区二区三区| 无码av中文一区二区三区桃花岛| 亚洲成人av免费| 日本中文字幕不卡| 国产美女娇喘av呻吟久久| 国产精品一区在线| 成人黄色免费短视频| 成人黄色电影在线| av高清不卡在线| 色悠久久久久综合欧美99| 色哦色哦哦色天天综合| 欧美日韩不卡在线| 日韩一区二区三免费高清| 日韩欧美一卡二卡| 久久五月婷婷丁香社区| 久久久综合视频| 国产精品午夜久久| 亚洲精品精品亚洲| 日本欧美大码aⅴ在线播放| 精品一区二区三区在线观看| 国产精品系列在线播放| 91成人免费在线| 日韩免费高清视频| 日韩理论片中文av| 婷婷激情综合网| 国产成人aaa| 欧美色综合网站| 精品国产一区二区三区不卡| 国产精品乱码一区二区三区软件| 亚洲在线视频网站| 激情综合色播激情啊| a美女胸又www黄视频久久| 欧美色手机在线观看| 久久影视一区二区| 夜夜亚洲天天久久| 国产91精品一区二区麻豆网站| 日本久久电影网| 久久久久久免费网| 免费成人美女在线观看| 99国内精品久久| 日韩欧美国产麻豆| 亚洲宅男天堂在线观看无病毒| 国产乱一区二区| 欧美日韩国产bt| 国产精品久久久久精k8| 久久精品国产99国产精品| 国产91清纯白嫩初高中在线观看| 欧美美女bb生活片| 亚洲色欲色欲www在线观看| 黑人精品欧美一区二区蜜桃| 欧美综合一区二区| 亚洲人123区| 国产成人精品免费视频网站| 69av一区二区三区| 亚洲午夜一二三区视频| 成人v精品蜜桃久久一区| 精品成人一区二区三区| 视频一区二区中文字幕| 色欧美日韩亚洲| 亚洲人成人一区二区在线观看 | 日韩精品午夜视频| 91久久精品一区二区三区| 国产色综合一区| 久久激情五月激情| 日韩视频永久免费| 日韩和欧美的一区| 欧美精品一卡二卡| 天天综合网 天天综合色| 色狠狠av一区二区三区| 欧美激情综合五月色丁香| 国产一区二区三区四区五区入口| 日韩欧美一级精品久久| 蜜臀av性久久久久蜜臀aⅴ | 久久99精品久久只有精品| 欧美日韩午夜在线视频| 亚洲第一激情av| 欧美性生交片4| 五月激情综合色| 欧美高清视频www夜色资源网| 亚洲国产视频在线| 5566中文字幕一区二区电影| 午夜视频在线观看一区| 91精品国产综合久久福利软件 | 色偷偷成人一区二区三区91| 中文字幕亚洲一区二区av在线 | 日韩西西人体444www| 国内外成人在线| 国产精品天干天干在观线| 色先锋久久av资源部| 五月天精品一区二区三区| 精品粉嫩超白一线天av| 成人av动漫在线| 亚洲午夜电影在线| 精品少妇一区二区三区免费观看| 成人午夜免费视频| 夜夜嗨av一区二区三区| 欧美一级午夜免费电影| 高清不卡一区二区在线| 亚洲国产日日夜夜| 日韩一级完整毛片| av资源网一区| 奇米精品一区二区三区在线观看一| 久久久久9999亚洲精品| 在线看日本不卡| 国产在线播放一区二区三区 | 欧美日韩在线一区二区| 国产自产v一区二区三区c| 亚洲精品免费在线观看| 亚洲精品一区二区在线观看| 91视频xxxx| 国产一区二区三区精品视频| 亚洲欧美日韩小说| 久久久www成人免费毛片麻豆| 91成人国产精品| 国产高清一区日本| 午夜成人免费电影| 日韩理论片一区二区| 精品成人免费观看| 欧美日韩精品一二三区| 99久久久久久| 精品一区二区影视| 视频一区中文字幕| 亚洲精品水蜜桃| 国产精品久久久久天堂| 精品国产乱码久久久久久蜜臀| 欧美性一二三区| 99精品视频免费在线观看| 国产一区二三区| 琪琪久久久久日韩精品| 亚洲资源在线观看| 一区二区在线观看免费视频播放| 久久久亚洲国产美女国产盗摄 | 久久精品亚洲麻豆av一区二区| 欧美亚洲图片小说| 91论坛在线播放| 成人午夜免费视频| 国产高清在线精品| 极品美女销魂一区二区三区免费 | 久久久综合激的五月天| 日韩欧美一区在线观看| 欧美久久久久久久久| 色94色欧美sute亚洲线路二| av网站免费线看精品| 国产福利视频一区二区三区| 日韩成人伦理电影在线观看| 亚洲国产欧美在线| 亚洲图片欧美综合| 亚洲国产欧美一区二区三区丁香婷| 日本一区免费视频| 国产精品久久久久久福利一牛影视| 国产欧美一区二区精品性色 | 91精品国产综合久久香蕉的特点| 欧美日韩在线一区二区| 欧美乱妇23p| 欧美一级理论片| 精品日韩欧美一区二区| 欧美va亚洲va| 中文字幕乱码一区二区免费| 国产欧美一区二区三区在线老狼| 欧美经典一区二区| 日韩伦理av电影| 亚洲国产成人tv| 六月丁香婷婷久久| 国产精品资源在线观看| 成人国产电影网| 在线精品观看国产| 欧美一区二区三区在线观看 | 高清av一区二区| 99re视频这里只有精品| 欧美影院一区二区| 精品嫩草影院久久| 亚洲特黄一级片| 日本不卡视频在线| 成人看片黄a免费看在线| 色狠狠一区二区| 精品久久久久99| 亚洲乱码中文字幕| 狠狠v欧美v日韩v亚洲ⅴ| 99免费精品视频| 日韩欧美在线1卡| 中文字幕日本不卡| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲成人在线免费| 国产一区二区三区在线观看免费| 一本色道亚洲精品aⅴ| 日韩精品一区二区三区在线观看 | 一区二区三区欧美亚洲| 久久精品国产一区二区三| 成人开心网精品视频| 日韩午夜小视频| 一区二区视频在线看| 国产精品夜夜嗨| 91精品国产色综合久久ai换脸| 中文字幕在线视频一区|