实验二、三:quartusⅡ原理图设计1.实验原理图
2.实验仿真波形
实验四:Verilog描述组合逻辑电路1.一位数值比较器
1.1源代码
module compare(a_gt,a_eq,a_lt,a,b);
input a,b;
output a_gt,a_eq,a_lt;
assign a_gt=a&~b;
assign a_eq=a&b|~a&~b;
assign a_lt=~a&b;
endmodule
1.2代码生成原理图
2.七段译码器
2.1源代码
module decode4_7(codeout,indec);
input[3:0] indec;
output[6:0] codeout;
reg[6:0] codeout;
always@(indec)
begin
case(indec)
4'd0:codeout=7'b1111110;
4'd1:codeout=7'b0110000;
4'd2:codeout=7'b1101101;
4'd3:codeout=7'b1111001;
4'd4:codeout=7'b0110011;
4'd5:codeout=7'b1011011;
4'd6:codeout=7'b1011111;
4'd7:codeout=7'b1110000;
4'd8:codeout=7'b1111111;
4'd9:codeout=7'b1111011;
default: codeout=7'b1001111;
endcase
end
endmodule
2.2代码生成原理图
3.总原理图
4.实验仿真波形图
实验五:集成触发器的应用1.原理图
2.实验仿真波形图
实验六:移位寄存器实验1.原理图
2.实验仿真波形图
实验七:十进制可逆计数器1.十进制可逆计数器
1.1 十进制可逆计数器源代码
module s2014111909(clk,ud,q,co);
input clk,ud;
output reg [3:0] q;
output co;
assign co=((q==9)&&ud)||((q==0)&&(!ud));
always @(posedge clk)
begin
if(ud)
begin
if(q>8) q<=0;
else q<=q+1'd1;
end
else
begin
if(q==0) q<=4'd9;
else q<=q-1'd1;
end
end
endmodule
1.2 代码生成原理图
1.3 实验仿真波形图
2.总原理图
3.波形图
实验八:脉冲宽度调制(PMW)实验1.实验代码
module s1909(clk,h,l,out);
input clk;
input[3:0] h,l;
output reg out;
reg[6:0]pwmcnt;
reg[11:0]fcnt;
wire [6:0] z;
reg clk1;
assign z=h*10+l;
always@(posedge clk)
begin
if(fcnt>=12'd2499)
begin clk1<=~clk1; fcnt<=0;end
else
begin fcnt<=fcnt+1;end
end
always@(posedge clk1)
begin
if(pwmcnt<z)
begin out=1;end
else if(pwmcnt>=7'd99)
begin pwmcnt=0;out=0;end
else begin out=0;end
pwmcnt=pwmcnt+1;
end
endmodule
2.波形图
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)。