文档详情

Verilog HDL语言.ppt

发布:2017-04-25约4.49万字共234页下载文档
文本预览下载声明
Verilog HDL 复杂数字系统设计;本课程主要内容;;例1:一个挂在总线上的8位寄存器。 module register0(db,nce,nwe) ; inout[7:0] db ; input nce,nwe; reg[7:0] q; assign db= (nce ||(!nwe))?8bzzzzzzzz :q; always @(posedge nwe) begin if(nce==0) q=db; end endmodule;例2:带有异步清零端的同步4位二进制加法计数器;例3:分频器的设计 module nfrequency( rst, clk, q ); input rst, clk; output [3:0] q; reg [3:0] q; always @( posedge clk or negedge rst ) if (!rst) q=0; else if (q==15) //可以实现16分频 q=0; else q=q+1; endmodule;例4:11111010000序列检测器 module shift(q,s,d,clk); output[11:0] q; output s; input d; input clk; reg[11:0] q; reg s; always @(posedge clk) begin q=q1; q[0]=d; end always @(posedge clk) if(q==12b 11111010000) s=1; else s=0; endmodule;例5:设计一个容量为1kB的RAM。 module memory (d,a,we,rd); inout[7:0] d; input[9:0] addr; input we,rd; wire[7:0] q ; assign d= rd ? q: 8’hzz; lpm_ram_dp0 ram0(d ,a , a ,we,rd,q); endmodule ;1.以结构描述方式实现下列逻辑: Y=ABC+DE+ CFG 2.试设计一个具有使能端ncs的2-4译码器。 3.中断请求有效电平为高电平,中断请求输入线INTR0—INTR15中INTR15优先权最高。试设计一个中断优先权编码器。当有中断请求时,INT=1,同时输出中断请求输入线的编码V;否则INT=0,V的输出任意。 4.试设计一个4位加减运算器,输入为A、B、CIN、M,输出为OUT和COUT。当M=0时执行加法运算, M=1时,执行减法运算。 5.试设计一个14分频器,要求占空比1:1。 6.试设计一个具有三态输出缓冲的8位数据寄存器。 7.试设计一个具有清0和置数功能的8位二进制加1计数器。 8. 设计一个8位的加/减计数器。时钟信号为 clk,同步清0信号为rst。 clk上升沿时刻,当inc=1计数器加2,当dec=1计数器减1,其它情况时计数器保持不变。 9.设计一个16位移位寄存器。 10.设计一个16位双向移位寄存器,当d=0时右移, d=1时左移。 11.设计一个产生0100100111的序列信号发生器。 ;12.试以调用库函数的方法设计一个容量为8K×24bit的RAM。其双向数据线为D [0:23],地址线为A[0:12],写信号为new (低电平有效),读信号为nrd(低电平有效)。 13.设计一个位宽为8位、深度为8层的堆栈。 14.试按下图设计VerilogHDL模型。;第一章 先进先出数据缓冲器设计;clk;clk;1.2 状态转换图 采用同步时序 状态机: 3个状态;1.3 FIFO模型设计之一 //FIFO //Size:255Bytes module fifo(clk,nreset,pe,ph,fifo_in,fifo_out,fifo_wr,fifo_rd, busy,empty,full,state,wr,rd); input clk,nreset,fifo_wr,fifo_rd;// input[7:0] fifo_in; output[1:0] state; output empty,full,wr,rd,busy;// output[7:0] fifo_out,pe,ph; reg[1:0] state; reg[7:0] fifo_out; reg wr,rd,empty,full;//fifo write , read ,empty , full reg[7:0]pe,ph; //fifo point:P_end
显示全部
相似文档