Article View: cn.bbs.sci.electronics
Article #252����һ��Verilog����~!!!лл��Ϻ
From: ��
Date: Fri, 02 Dec 2005 09:04
Date: Fri, 02 Dec 2005 09:04
95 lines
3559 bytes
3559 bytes
Ŀ�������һ��˳�����������ʹ�ò���������Ԥ����Ӧ�ļ����в��ԡ�
�ҵij�����:
`timescale 1ns / 1ns
module control (rd, wr, ld_ir, ld_acc, ld_pc, inc_pc, halt, data_e, sel,opcode
, zero, clk, rst);
`define output1 {rd,wr,ld_ir,ld_acc,ld_pc,inc_pc,halt,data_e,sel}
output rd, wr, ld_ir, ld_acc, ld_pc, inc_pc, halt, data_e, sel;
input [2:0] opcode;
input zero, clk, rst;
reg rd,wr,ld_ir,ld_acc, ld_pc, inc_pc, halt, data_e, sel;
reg state=1'd0;
task t1;
input [2:0]opcode1;
output[8:0]output12;
begin
case(opcode1)
3'b010,3'b011,3'b100,3'b101 :output12=9'b100000000;
3'b000,3'b001,3'b110,3'b111 :output12=9'b000000000;
endcase
end
endtask
task t2;
input[2:0]opcode1;
input zero1;
output [8:0]output12;
begin
if(zero1==1) output12=9'b000001010;
case(opcode1)
3'b010,3'b011,3'b100,3'b101 :output12=9'b100000000;
3'b000,3'b001,3'b110:output12=9'b000000010;
3'b111:output12=9'b000010010;
endcase
end
endtask
task t3;
input [2:0] opcode1;
input zero1;
output [8:0]output12;
begin
if(zero1==1) output12=9'b000001010;
case(opcode1)
3'b010,3'b011,3'b100,3'b101 :output12=9'b100100000;
3'b000,3'b001:output12=9'b000000010;
3'b110: output12=9'b010000010;
3'b111: output12=9'b000011010;
endcase
end
endtask
always@(clk)
case(state)
1'd0:
begin `output1=9'b000000001;state=state+1;
end
1'd1:
begin `output1=9'b100000001;state=state+1;
end
1'd2:
begin `output1=9'b101000001;state=state+1;
end
1'd3:
begin
`output1=9'b101000001;state=state+1;
end
1'd4:
if(opcode==3'b000) begin `output1=9'b000001100;state=state+1;end
else
begin `output1=9'b000001000;state=state+1;state=state+1;
end
1'd5: begin state=state+1;t1(opcode,`output1);end
1'd6: begin state=state+1;t2(opcode,zero,`output1);end
1'd7: begin state=state+1;t3(opcode,zero,`output1);end
endcase
always@(rst)
if(rst==0)
begin `output1=9'b000000000;
state=1'd0;
end
endmodule
���Ա���,���Ƿ����ʱ�����RD���ź������źŶ�����.���ڸ�ѧVHDL,��֪ԭ����ʲôϣ
����λ��Ϻ�п�����ָ��~лл:)
--
�� ��Դ:���Ͼ���ѧС�ٺ�վ http://bbs.nju.edu.cn[FROM: 221.226.199.254]
--
��ע�⣬������Ϊ����ת����Դ���Ļظ�����ת��ԭ��̳��
Technical Details
Message-ID:
<dmq53r$lit$17@news.yaako.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!fu-berlin.de!news.cn99.com!news.yaako.com!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: 100bb0,bb62f7133f60cb6a,start X-Google-Attributes: gid100bb0,public X-Google-Language: Chinese,GB Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!fu-berlin.de!news.cn99.com!news.yaako.com!not-for-mail From: sirius007.bbs@bbs.nju.edu.cn-spam.invalid (С��) Newsgroups: cn.bbs.sci.electronics Subject: ����һ��Verilog����~!!!лл��Ϻ Date: Fri, 2 Dec 2005 17:04:29 +0800 Organization: �Ͼ���ѧС�ٺ�վ Lines: 95 Message-ID: <dmq53r$lit$17@news.yaako.com> NNTP-Posting-Host: 218.94.142.3 Content-Type: text/plain; charset=GB2312 X-Trace: news.yaako.com 1133549499 22109 218.94.142.3 (2 Dec 2005 18:51:39 GMT) X-Complaints-To: usenet@news.yaako.com NNTP-Posting-Date: Fri, 2 Dec 2005 18:51:39 +0000 (UTC) User-Agent: Hamster web->news Gateway X-Suggestion-To: web2news at gmail dot com