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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? compile examples.v

?? some example for verilog design
?? V
字號:
//可綜合風格的Verilog HDL模塊實例

//*****************************************************************************
//*   組合邏輯電路設(shè)計實例										*
//*   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塊來設(shè)計組合邏輯)

`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塊設(shè)計后重組信號的組合邏輯

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: 比較器的設(shè)計實例(利用賦值語句設(shè)計組合邏輯)

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譯碼器設(shè)計實例(利用賦值語句設(shè)計組合邏輯)

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



//Example 6: 8-3編碼器的設(shè)計實例
//方案一:
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: 多路器的設(shè)計實例
/*** 使用連續(xù)賦值、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;
	
	//用電平觸發(fā)的always塊來設(shè)計多路器的組合邏輯
	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: 奇偶校驗位生成器設(shè)計實例

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: 三態(tài)輸出驅(qū)動器的設(shè)計實例(用連續(xù)賦值語句建立三態(tài)門模型)
//方案一:
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: 三態(tài)雙向驅(qū)動器設(shè)計實例

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



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


//Example 1: 觸發(fā)器設(shè)計實例

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

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

endmodule



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

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

	assign q = clk ? data : q;
	
endmodule


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

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

	assign q = clk ? data : q;
	
endmodule


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

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: 移位寄存器設(shè)計實例

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位計數(shù)器設(shè)計實例之一

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位計數(shù)器設(shè)計實例之二

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;		//創(chuàng)建8位寄存器

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



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜在线电影亚洲一区| 日韩综合在线视频| 亚洲精品免费在线观看| 日日夜夜精品视频免费| 国精产品一区一区三区mba视频 | 欧美大片一区二区| 一色屋精品亚洲香蕉网站| 亚洲精品日产精品乱码不卡| 高清国产一区二区三区| 久久久久久亚洲综合影院红桃| 韩国v欧美v亚洲v日本v| 欧美人妇做爰xxxⅹ性高电影| 337p亚洲精品色噜噜狠狠| 一区二区免费在线播放| 青青草97国产精品免费观看 | 中文字幕一区av| 综合激情成人伊人| 一区二区三区自拍| 樱桃国产成人精品视频| 国产91丝袜在线18| 国产黄色精品网站| 天天av天天翘天天综合网| 久久亚洲精精品中文字幕早川悠里 | 色女孩综合影院| 日韩1区2区日韩1区2区| 国产成人在线观看| 一区二区三区中文在线观看| 欧美四级电影网| 日韩欧美的一区| 欧美午夜不卡视频| av一二三不卡影片| 国产精品亚洲人在线观看| 亚洲一区成人在线| 国产伦精一区二区三区| 中文一区二区完整视频在线观看| 欧日韩精品视频| 国产成人在线观看免费网站| 石原莉奈在线亚洲三区| 亚洲免费视频中文字幕| 精品美女一区二区三区| 欧亚洲嫩模精品一区三区| 国产精品1区2区3区| 欧美a级一区二区| 无码av免费一区二区三区试看 | 婷婷成人激情在线网| 国产精品国产三级国产aⅴ原创 | 国内国产精品久久| 日本不卡视频一二三区| 日韩va亚洲va欧美va久久| k8久久久一区二区三区| 亚洲va韩国va欧美va| 麻豆精品一二三| 综合久久给合久久狠狠狠97色| 久久久www成人免费毛片麻豆| 欧美一级精品在线| 久久色视频免费观看| 日韩高清电影一区| 日韩成人精品视频| 老司机精品视频线观看86 | 欧美一区二区三区成人| 日韩一区二区免费在线电影| 美女视频一区二区| 蜜桃av噜噜一区| 国产乱码精品一区二区三| 粉嫩aⅴ一区二区三区四区 | 国产一区二区三区观看| 波波电影院一区二区三区| 国产精品丝袜91| 精品福利一区二区三区| 国产精品久久三| 午夜电影一区二区三区| 国产成人在线视频网站| 69堂亚洲精品首页| 中文字幕乱码日本亚洲一区二区| 亚洲小说欧美激情另类| 国产在线精品一区二区夜色| 欧美在线视频不卡| 久久五月婷婷丁香社区| 亚洲sss视频在线视频| 久久久久久久久97黄色工厂| 在线免费观看日本一区| 久久精品日产第一区二区三区高清版| 日韩免费性生活视频播放| 亚洲欧美日韩中文播放| 久久97超碰色| 91精品国产色综合久久不卡电影| 国产精品入口麻豆九色| 狠狠色丁香久久婷婷综合_中| 欧美午夜精品一区二区三区| 国内精品伊人久久久久影院对白| 色噜噜狠狠一区二区三区果冻| 在线不卡的av| 亚洲成人av福利| 欧美挠脚心视频网站| 亚洲精品视频免费观看| 91亚洲国产成人精品一区二区三| 久久精品亚洲麻豆av一区二区 | 亚洲欧美偷拍另类a∨色屁股| 欧美激情一区二区三区在线| 久久99精品网久久| 国产传媒久久文化传媒| 国产清纯白嫩初高生在线观看91 | 国产精品欧美一区二区三区| 国产一区二区三区电影在线观看| 亚洲男人的天堂在线aⅴ视频| 日韩国产在线观看一区| 777午夜精品视频在线播放| 免费xxxx性欧美18vr| 制服.丝袜.亚洲.另类.中文| 亚洲视频中文字幕| 在线观看成人小视频| 婷婷丁香久久五月婷婷| 久久精品亚洲精品国产欧美kt∨| av在线这里只有精品| 性欧美疯狂xxxxbbbb| 久久免费精品国产久精品久久久久| 国产乱码精品一区二区三区忘忧草 | 日本欧美一区二区| 中文字幕一区不卡| 久久综合国产精品| 777色狠狠一区二区三区| 三级精品在线观看| 国产精品丝袜91| 欧美va亚洲va香蕉在线| 成人丝袜18视频在线观看| 亚洲自拍偷拍av| 欧美国产一区二区| 日韩一区二区电影网| 中文字幕在线观看一区二区| 国产福利精品一区| 热久久久久久久| 中文字幕 久热精品 视频在线| 日韩一区二区在线免费观看| 欧美性猛交一区二区三区精品| 国产一区二区剧情av在线| 视频在线观看一区二区三区| 中文字幕中文在线不卡住| 日韩天堂在线观看| 欧美日韩国产片| 欧美疯狂性受xxxxx喷水图片| 91九色02白丝porn| 色哟哟国产精品| 一区精品在线播放| 中文字幕高清一区| 国产精品久久免费看| 欧美日韩国产在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 精品日韩欧美一区二区| 首页综合国产亚洲丝袜| 欧美无砖专区一中文字| 91成人免费在线视频| 欧美日韩综合一区| 日韩精品午夜视频| 日韩一二三四区| 国内精品国产三级国产a久久 | 成人av在线电影| 亚洲天堂成人网| 在线中文字幕一区| 亚洲午夜电影在线| 欧美精品亚洲二区| 久久电影网站中文字幕| 日韩久久精品一区| 国产激情一区二区三区| 国产精品人人做人人爽人人添 | 麻豆91在线观看| 国产日本欧洲亚洲| 欧美综合天天夜夜久久| 欧美一区二视频| 免费的国产精品| 欧美精品一区二区在线观看| 成人免费av资源| 亚洲曰韩产成在线| 久久天堂av综合合色蜜桃网| 国产999精品久久| 亚洲永久精品国产| 精品久久久久久综合日本欧美| 国产福利一区二区三区在线视频| **性色生活片久久毛片| 欧美日韩电影在线| 欧美一个色资源| 国内精品伊人久久久久影院对白| 亚洲电影第三页| 欧美一区二区在线视频| 色婷婷久久一区二区三区麻豆| 天堂蜜桃一区二区三区| 亚洲天堂网中文字| 久久久另类综合| 51精品视频一区二区三区| 99re热这里只有精品免费视频| 久久电影网站中文字幕| 奇米综合一区二区三区精品视频| 一区二区三区精品在线| 欧美视频一区二区在线观看| 国产精品影视网| 国产一区二区三区不卡在线观看| 免费观看在线综合色| 一区二区成人在线观看| 亚洲欧美日韩国产综合在线| 风流少妇一区二区| 国产一区二区三区最好精华液|