基于VerilogHDL语言的FPGA设计
课程作业
学院:研究生学院
专业班级:电研12班
姓名:曹雅萍 学号:1202810068
作业题目:基于verilog语言的74LS163设计
完成日期:2013年5月15日
一、设计要求
74LS163是的可预置四位二进制同步清除计数器。
本设计是用Verilog语言编程实现74LS163的功能仿真。
二、顶层设计结构图
EPET LD CLK CR D C B A Q[3:0] 74LS163
三、 模块详细设计
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赋值,所以一直出现错误。吸取教训,日后改正!
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于verilog语言的74LS163设计在线全文阅读。
相关推荐: