![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
FLYXIC
这个作者很懒,什么都没留下…
展开
-
OV7060 (1) - 按键检测模块
四位按键检测模块, 25Mhz对应时钟周期40ns按下>20ms才有效, key_in低有效设计数器,计500_000.1位按键按下>=20ms标志位flag,由end_cnt拉高,无按键按下则拉低。`timescale 1ns / 1ns//////////////////////////////////////////////////////////////////////4个按键消抖//25Mhz 对应40nsmodule OV7670_KEY(clk,rst_n,key_原创 2021-08-31 11:26:50 · 420 阅读 · 0 评论 -
对FIFO IP的仿真(12)
`timescale 1ns / 1ns/////////////////////////////////////////////////////////////////////////////////fifo是一种存储器,一般做数据缓冲//fifo和ram的不同之处:fifo没有地址,不能任意指定读取某一个数据,数据只能先入先出module V_FIFO(sys_clk_n,sys_clk_p,rst_n);//本次实验只做仿真来验证FIFO的功能input sys_clk_n;//input原创 2021-08-28 17:19:17 · 307 阅读 · 0 评论 -
虚拟机下使用vcs和verdi
首先检查是否安装成功open in Terminal输入vcsopen in Terminal输入verdi在桌面上新建文件夹myv,open in Terminal输入gvim b1.v,写代码,保存成b1.v。同样的写好testbench文件。vcs -R -full64 +v2k -fsdb +define+FSDB cnt.v tb_cnt.v time.v -l run.log报错Undefined env variables Environment variables NO原创 2021-08-22 22:18:06 · 3294 阅读 · 2 评论 -
DDS信号发生器
基于verilog及DA9709的DDS设计DDS(Direct Digtal Synthesizer) 直接数字合成器相位累加器、LUT、DACtop.v, dds_ctrl.v, dds_wave.v, DA.v。dds_ctrl.v:三个计数器assign add_cnt0=1;assign end_cnt0= (add_cnt0)&&(cnt0==cfg_time-1);assign add_cnt1=end_cnt0;assign end_cnt1= (add_原创 2021-08-21 15:02:49 · 494 阅读 · 0 评论 -
verilog乘法器
设计32bit*32bit的乘法器input clk,rst_n,x1,x2,mult_beginoutput product,mult_end先求有符号位x1,x2的补码,分别记为x1_abs,x2_absassign x1_sign=x1[31];x1_abs=x1_sign? (~x1+1) :x1;乘法加载x1,mult_vld期间,x1每T左移1位if (rst_n)begin y1<=64'b0;endelse if (mult_vld) begin y1<原创 2021-08-14 12:50:10 · 808 阅读 · 0 评论 -
阻塞vs非阻塞
= , <=module zuse(clk,a1,c1,a2,c2);input clk;input a1;input a2;output c1;output c2;reg b1;reg b2;reg c1;reg c2;always @ (posedge clk) begin b1=a1; c1=b1;endalways @ (posedge clk) begin b2<=a2; c2<=b2;endendmodule结果原创 2021-08-13 16:16:33 · 66 阅读 · 0 评论 -
2021-08-13
verilog输出有规律的数0,8,2,10,4,12,6,14; 1,9,3,11,5,13,7,1516,32,48,64,设计计数器cnt0 计2cnt1 计4cnt2 计2cnt3 计5addr=cnt08+cnt12+cnt2+cnt3*16;module addr_gen(clk,rst_n,addr);input clk;input rst_n;output addr;reg [6:0] addr;reg cnt0; wire add_cnt0; w原创 2021-08-13 13:20:33 · 82 阅读 · 0 评论 -
按键消抖verilog
按键消抖module anjian_debounce(clk,rst_n,ey_in,key_vld);input clk;input rst_n;input key_in;out put key_vld;reg [20:0] cnt;wire add_cnt;wire add_cnt;reg flag;reg key_in_dd;always @原创 2021-08-09 17:18:32 · 173 阅读 · 0 评论 -
SDRAM接口练习5
SDRAM接口练习5——完善接口功能优化 读写优化级,具体情况如下:a) 如果同时出现读、写请求时,如果上次执行了读操作,则此时执行写操作;如果上次执行了写操作,则此时执行读操作。b) 如果没有同时出现读写请求,则有什么请求就执行什么操作。另一种刷新方式初始化完成后,每隔【1562-256(突发长度)-3(激活时间)-3(预充电时间)】=1300时进行刷新。如果时间到了时处于 IDLE 状态,则立刻进行自动刷新;如果处于读写状态,则等待变到 IDLE 状态后,再执行自动刷新。√原创 2021-08-06 13:45:15 · 205 阅读 · 0 评论 -
SDRAM接口练习4
SDRAM接口练习4`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2021/08/03 09:39:06// Design Name: // Module Name: work_4// Project Name: // Target Device原创 2021-08-03 22:51:12 · 86 阅读 · 0 评论 -
SDRAM接口练习3
SDRAM接口练习3添加读操作-全页读模式module work_3(clk,rst_n,wr_req,waddr,wdata,wr_ack,rd_req,rd_ack,rdata,rdata_vld,cke,cs,ras,cas,we,dqm,addr,bank,dq);input clk;input rst_n;input wr_req;input [21:0] waddr;// without [21:0], bank<=waddr[21:20] errorinput [15:0]原创 2021-08-03 09:59:07 · 86 阅读 · 0 评论 -
Verilog HDL 操作符
Verilog HDL 操作符原创 2021-08-02 21:59:52 · 437 阅读 · 0 评论 -
SDRAM接口练习2
SDRAM接口练习2在SDRAM接口练习1的基础上,补充写状态。当初始化完成后,处于IDLE状态,此时如果输入接口wr_req为1,则表示需要进行写操作。写模式为全页模式,该模式在写完成时,给出预充电命令结束。P52...原创 2021-08-02 21:57:18 · 71 阅读 · 0 评论 -
SDRAM接口练习1
SDRAM接口练习1verilog代码module sdram_work_1 (clk,rst_n,cke,cs,ras,cas,we,dqm,addr,bank,dq);input clk;input rst_n;output cke;output cs;output ras;output cas;output we;output dqm;output addr;output bank;output dq;parameter T=10;parameter T_NOP=1000原创 2021-07-31 11:31:17 · 94 阅读 · 0 评论