您的当前位置:首页正文

基于verilog语言的74LS163设计

来源:帮我找美食网
基于verilog语言的74LS163设计

基于VerilogHDL语言的FPGA设计 课程作业 学院:研究生学院 专业班级:电研12班

姓名:曹雅萍 学号:1202810068

作业题目:基于verilog语言的74LS163设计 完成日期:2013年5月15日 一、设计要求

74LS163是的可预置四位二进制同步清除计数器。 本设计是用Verilog语言编程实现74LS163的功能仿真。

二、顶层设计结构图 EPET LD CLK CR

Q[3:0] D 74LS163 C B A

三、 模块详细设计 3.1规范说明

图逻辑:

功能表:

3.2 端口定义

信号名称 信号类型 详细说明 CR 输入 同步清零,低有效 CLK 输入 时钟 LD 输入 置数,高有效 EPET 输入 使能端,高有效 D 输入 数据输入 C 输入 数据输入 B 输入 数据输入 A 输入 数据输入 Q[3:0] 输出 数据输出 3.3 代码

module LSlk; input ld;

input [1:0]epe163(cr,clk,ld,epet,d,c,b,a,Q);

input cr,ct; input d,c,b,a; output [3:0]Q; reg [3:0]Q;

always@(posedge clk) if(!cr) Q<=4'b0000; else if(!ld) begin Q<=Q; end

else case(epet) 2'b0x: begin Q<=Q;end 2'bx0: begin Q<=Q;end 2'b11: begin Q<=Q+1'b1;end endcase endmodule 3.4 激励代码 module LS163_test; reg cr,clk; reg [1:0]epet; reg ld; reg d,c,b,a; wire [3:0]Q;

LS163 U1(.cr(cr),.clk(clk),.ld(ld),.epet(epet), .d(d),.c(c),.b(b),.a(a),.Q(Q));

initial begin ld=1'b1;epet=2'b00;cr=1'b0; end initial clk=1'b0; always #20 clk=~clk; initial begin #20 cr=1'b0; #40 cr=1'b1; #40 ld=1'b0; #80 ld=1'b1; #140 epet=2'b0x; #160 epet=2'bx0; #200 epet=2'b11; end initial begin a=1'b1; b=1'b0; c=1'b0; d=1'b1; end endmodule 3.4 仿真结果

四、 结论和问题

本次设计中,由于书写激励的过程中与设计中的变量为对应,再给输入变 量赋值的时候一直写成是给Q赋值,所以一直出现错误。吸取教训,日后改正~

因篇幅问题不能全部显示,请点此查看更多更全内容

Top