FPGA 读写SRAM存储verilog设计实验Quartus9.1工程源码+设计说明文件,可以做为你的学习设计参考。 module sram_test( clk,rst_n,led, sram_addr,sram_wr_n,sram_data ); input clk; // 50MHz input rst_n; //低电平复位 output led; // LED1 // FPGA与SRAM外部接口 output[17:0] sram_addr; // SRAM地址总线 output sram_wr_n; // SRAM写选通 inout[15:0] sram_data; // SRAM数据总线 //------------------------------------------------------- reg[25:0] delay; //延时计数器 always @ (posedge clk or negedge rst_n) if(!rst_n) delay <= 26'd0; else delay <= delay+1; //不断计数,周期约为1.28s //------------------------------------------------------- reg[15:0] wr_data; // SRAM写入数据总线 reg[15:0] rd_data; // SRAM读出数据 reg[17:0] addr_r; // SRAM地址总线 wire sram_wr_req; // SRAM写请求信号 wire sram_rd_req; // SRAM读请求信号 reg led_r; // LED寄存器 assign sram_wr_req = (delay == 26'd9999); //产生写请求信号 assign sram_rd_req = (delay == 26'd19999); //产生读请求信号 always @ (posedge clk or negedge rst_n) if(!rst_n) wr_data <= 16'd0; else if(delay == 26'd29999) wr_data <= wr_data+1'b1; //写入数据每1.28s自增1 always @ (posedge clk or negedge rst_n) if(!rst_n) addr_r <= 18'd0; else if(delay == 26'd29999) addr_r <= addr_r+1'b1; //写入地址每1.28s自增1 always @ (posedge clk or negedge rst_n) if(!rst_n) led_r <= 1'b0; else if(delay == 26'd20099) begin //每1.28s比较一次同一地址写入和读出的数据 if(wr_data == rd_data) led_r <= 1'b1; //写入和读出数据一致,LED点亮 else led_r <= 1'b0; //写入和读出数据不同,LED熄灭 end assign led = led_r; //------------------------------------------------------- `define DELAY_80NS (cnt==3'd7) reg[2:0] cnt; //延时计数器 always @ (posedge clk or negedge rst_n) if(!rst_n) cnt <= 3'd0; else if(cstate == IDLE) cnt <= 3'd0; else cnt <= cnt+1'b1; //------------------------------------ parameter IDLE = 4'd0, WRT0 = 4'd1, WRT1 = 4'd2, REA0 = 4'd3, REA1 = 4'd4; reg[3:0] cstate,nstate; always @ (posedge clk or negedge rst_n) if(!rst_n) cstate <= IDLE; else cstate <= nstate; always @ (cstate or sram_wr_req or sram_rd_req or cnt) case (cstate) IDLE: if(sram_wr_req) nstate <= WRT0
针对Spring Boot 2.0及以上版本,包含58个基础实例 + 2个综合项目,涉及技术:Spring Security和Shiro、Elasticsearch和Solr、JPA和Mybatis等。 并包含了时下流行的接口架构风格RESTful、用来实现高并发的Redis、以及用来实现系统间通信的中间件RabbitMQ等。
2021-12-02 14:52:01 6.37MB 源代码 Java源代码
1
FPGA设计时分秒进位数字时钟verilog实验Quartus9.1工程源码+设计说明文件 /* 本实验实现一个能显示小时,分钟,秒的数字时钟。 */ module clock(clk,rst,dataout,en); input clk,rst; output[7:0] dataout; reg[7:0] dataout; output[7:0] en; reg[7:0] en; reg[3:0] dataout_buf[7:0]; reg[25:0] cnt; reg[15:0] cnt_scan; reg[3:0] dataout_code; wire[5:0] cal; //各级进位标志 assign cal[0]=(dataout_buf[0]==9)?1:0; assign cal[1]=(cal[0]&&dataout_buf[1]==5)?1:0; assign cal[2]=(cal[1]&&dataout_buf[3]==9)?1:0; assign cal[3]=(cal[2]&&dataout_buf[4]==5)?1:0; assign cal[4]=(cal[3]&&dataout_buf[6]==9)?1:0; assign cal[5]=(cal[3]&&dataout_buf[6]==2&&dataout_buf[7]==1)?1:0; always@(posedge clk or negedge rst) begin if(!rst) begin cnt_scan<=0; en<=8'b1111_1110; end else begin cnt_scan<=cnt_scan+1; if(cnt_scan==16'hffff) begin en[7:1]<=en[6:0]; en[0]<=en[7]; end end end always@(*) begin case(en) 8'b1111_1110: dataout_code=dataout_buf[0]; 8'b1111_1101: dataout_code=dataout_buf[1]; 8'b1111_1011: dataout_code=dataout_buf[2]; 8'b1111_0111: dataout_code=dataout_buf[3]; 8'b1110_1111: dataout_code=dataout_buf[4]; 8'b1101_1111: dataout_code=dataout_buf[5]; 8'b1011_1111: dataout_code=dataout_buf[6]; 8'b0111_1111: dataout_code=dataout_buf[7]; default: dataout_code=dataout_buf[0]; endcase end always@(posedge clk or negedge rst) begin if(!rst) cnt<=0; else if(cnt!=40000000) cnt<=cnt+1; else cnt<=0; end always@(posedge clk or negedge rst) //实现计数和进位的功能 begin if(!rst) begin dataout_buf[0]<=0; dataout_buf[1]<=0; dataout_buf[2]<=15; dataout_buf[3]<=0; dataout_buf[4]<=0; dataout_buf[5]<=15; dataout_buf[6]<=2; dataout_buf[7]<=1; end else begin if(cnt==26'd40000000) begin if(!cal[0]) dataout_buf[0]<=dataout_buf[0]+1; else begin dataout_buf[0]
基于FIFO的串口发送器+串口自收发通信verilog设计实验Quartus9.1工程源码+设计说明文件,可以做为你的学习设计实验参考。 module uartfifo( clk,rst_n, rs232_tx ); input clk; // 25MHz主时钟 input rst_n; //低电平复位信号 output rs232_tx; //RS232发送数据信号 wire[7:0] wrf_din; //数据写入缓存FIFO输入数据总线 wire wrf_wrreq; //数据写入缓存FIFO数据输入请求,高有效 wire[7:0] tx_data; //串口待发送数据 wire tx_start; //串口发送数据启动标志位,高有效 wire fifo232_rdreq; //FIFO读请求信号,高有效 wire fifo_empty; //FIFO空标志位,高有效 assign tx_start = ~fifo_empty; //fifo有数据即启动串口模块发送数据 //例化232发送数据产生模块 datagene uut_datagene( .clk(clk), .rst_n(rst_n), .wrf_din(wrf_din), .wrf_wrreq(wrf_wrreq) ); //例化FIFO fifo232 fifo232_inst ( .clock(clk), .data(wrf_din), .rdreq(fifo232_rdreq), .wrreq(wrf_wrreq), .empty(fifo_empty), .q(tx_data) ); //例化串口发送模块 uart_ctrl uut_uartfifo( .clk(clk), .rst_n(rst_n), .tx_data(tx_data), .tx_start(tx_start), .fifo232_rdreq(fifo232_rdreq), .rs232_tx(rs232_tx) ); endmodule
一个简单的电梯模拟程序,有需求报告和源代码
2021-12-02 12:38:19 35KB 电梯 java 源代码 多线程
1
功能强大,界面清新自然,这是本人的实训期间的项目,望各位多多指教
2021-12-02 10:45:39 3.77MB java 网上书店
1
本人大2时候用C++做的数据结构大作业。华广的童鞋们,你们懂的!!
2021-12-01 20:34:49 1.87MB 课程设计 C++ 仓库管理系统 大作业
1
货物入库 货物出库 删除一定数量的指定商品名称的商品 修改指定商品编号或者商品名称的价格 删除指定商品编号、商品名称的商品记录 查询所有商品信息 查询指定商品编号、商品名称的商品信息 根据价格或数量对商品进行排序 张步阳
2021-12-01 18:35:02 17KB 链表 操作 查询 删除
1
涵盖了JavaSE的所有源代码例子 所有的代码都十分优美,十分有价值 这是一款很有用的代码,对学习Java有很大用处
2021-11-30 20:27:25 717KB Java
1
智能饮水机控制器功能概要: 该智能饮水机采用瑞萨16-bit MCU R7F0C009A2单片机作为主控制芯片,通过I/O端口、A/D输入、TAU等功能模块实现LCD模块和饮水机工作状态的控制。 6个用户按键控制饮水机的工作模式,分别是:开/关、童锁/设置、水量、消毒/+、制冷/夜灯、热水 LCD显示信息内容包括:时间、热水、消毒、制冷、童锁、水量、夜灯等状态。 智能饮水机硬件配置框图如下: 智能饮水机控制电路截图: 智能饮水机控制源码截图: 附件内容截图:
1