SD卡读写Cyclone10 FPGA实验Verilog源码Quartus17.1工程文件+文档资料, FPGA为CYCLONE10LP系列中的10CL025YU256C8. 完整的Quartus工程文件,可以做为你的学习设计参考。 module sd_card_test( input clk, input rst_n, input key, output sd_ncs, output sd_dclk, output sd_mosi, input sd_miso, output [3:0] led ); parameter S_IDLE = 0; parameter S_READ = 1; parameter S_WRITE = 2; parameter S_END = 3; reg[3:0] state; wire sd_init_done; reg sd_sec_read; wire[31:0] sd_sec_read_addr; wire[7:0] sd_sec_read_data; wire sd_sec_read_data_valid; wire sd_sec_read_end; reg sd_sec_write; wire[31:0] sd_sec_write_addr; reg [7:0] sd_sec_write_data; wire sd_sec_write_data_req; wire sd_sec_write_end; reg[9:0] wr_cnt; reg[9:0] rd_cnt; wire button_negedge; reg[7:0] read_data; assign sd_sec_read_addr = 32'd0; assign sd_sec_write_addr = 32'd0; assign led = ~read_data[3:0]; ax_debounce ax_debounce_m0 ( .clk (clk), .rst (~rst_n), .button_in (key), .button_posedge (), .button_negedge (button_negedge), .button_out () ); always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) wr_cnt <= 10'd0; else if(state == S_WRITE) begin if(sd_sec_write_data_req == 1'b1) wr_cnt <= wr_cnt + 10'd1; end else wr_cnt <= 10'd0; end always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) rd_cnt <= 10'd0; else if(state == S_READ) begin if(sd_sec_read_data_valid == 1'b1) rd_cnt <= rd_cnt + 10'd1; end else rd_cnt <= 10'd0; end always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) read_data <= 8'd0; else if(state == S_READ) begin if(sd_sec_read_data_valid == 1'b1 && rd_cnt == 10'd0) read_data <= sd_se
按键消抖实验Cyclone10 FPGA实验Verilog源码Quartus17.1工程文件+文档资料,FPGA为CYCLONE10LP系列中的10CL025YU256C8. 完整的Quartus工程文件,可以做为你的学习设计参考。 module key_debounce( input clk, input rst_n, input key, output [3:0] led ); wire button_negedge; //Key falling edge ax_debounce ax_debounce_m0 ( .clk (clk), .rst (~rst_n), .button_in (key), .button_posedge (), .button_negedge (button_negedge), .button_out () ); wire[3:0] count; wire t0; count_m10 count10_m0( .clk (clk), .rst_n (rst_n), .en (button_negedge), .clr (1'b0), .data (count), .t (t0) ); assign led = ~count; endmodule
sdram读写测试实验Cyclone10 FPGA实验Verilog源码Quartus17.1工程文件+文档资料,FPGA为CYCLONE10LP系列中的10CL025YU256C8.SDRAMN HYNIX/海力士公司的 HY57V2562 型号,容量为的 256Mbit,采用了 54 引脚的 TSOP 封装, 数据宽度都为 16 位, 工作电压为 3.3V,完整的Quartus工程文件,可以做为你的学习设计参考。 module top ( input clk, input rst_n, output[1:0] led, output sdram_clk, //sdram clock output sdram_cke, //sdram clock enable output sdram_cs_n, //sdram chip select output sdram_we_n, //sdram write enable output sdram_cas_n, //sdram column address strobe output sdram_ras_n, //sdram row address strobe output[1:0] sdram_dqm, //sdram data enable output[1:0] sdram_ba, //sdram bank address output[12:0] sdram_addr, //sdram address inout[15:0] sdram_dq //sdram data ); parameter MEM_DATA_BITS = 16 ; //external memory user interface data width parameter ADDR_BITS = 24 ; //external memory user interface address width parameter BUSRT_BITS = 10 ; //external memory user interface burst width parameter BURST_SIZE = 128 ; //burst size wire wr_burst_data_req; // from external memory controller,write data request ,before data 1 clock wire wr_burst_finish; // from external memory controller,burst write finish wire rd_burst_finish; // from external memory controller,burst read finish wire rd_burst_req; // to external memory controller,send out a burst read request wire wr_burst_req; // to external memory controller,send out a burst write request wire[BUSRT_BITS - 1:0] rd_burst_len; // to exter
USB2.0测速实验Cyclone10 FPGA Verilog源码Quartus17.1工程文件+文档资料,FPGA为CYCLONE10LP系列中的10CL025YU256C8. 完整的Quartus工程文件,可以做为你的学习设计参考。 module top ( input clk, input ft_clk, input ft_rxf_n, //Data available input ft_txe_n, //Space available output ft_oe_n, output ft_rd_n, output ft_wr_n, inout[7:0] ft_data ); ft232h ft232h_m0 ( .ft_clk (ft_clk ), .rst (1'b0 ), .ft_rxf_n (ft_rxf_n), //Data available .ft_txe_n (ft_txe_n), //Space available .ft_oe_n (ft_oe_n ), .ft_rd_n (ft_rd_n ), .ft_wr_n (ft_wr_n ), .ft_data (ft_data ) ); module ft232h ( input ft_clk, input rst, input ft_rxf_n, //Data available input ft_txe_n, //Space available output ft_oe_n, output reg ft_rd_n, output ft_wr_n, inout[7:0] ft_data ); localparam IDLE = 0; localparam READ = 1; localparam WRITE = 2; reg[3:0] state; reg buf_wr; reg[7:0] buf_data; wire[7:0] ft_data_out; wire buf_empty; wire buf_full; wire buf_rd; reg ft_oe_n_d0; assign ft_oe_n = (state == READ) ? 1'b0 : 1'b1; assign ft_data = (ft_oe_n == 1'b0) ? 8'hzz : ft_data_out; assign ft_wr_n = (state == WRITE && ft_txe_n == 1'b0 && buf_empty == 1'b0) ? 1'b0 : 1'b1; assign buf_rd = (state == WRITE && ft_txe_n == 1'b0 && buf_empty == 1'b0) ? 1'b1 : 1'b0; ft_buf ft_buf_m0( .aclr (1'b0 ), .data (buf_data ), .rdclk (ft_clk ), .rdreq (buf_rd ), .wrclk (ft_clk ), .wrreq (buf_wr ), .q (ft_data_out ),
Spartan 6 FPGA 设计HC-SR04超声波测距实验VERILOG源码 Xilinx ISE14.6 工程文件 /每秒产生1个超声波测距模块所需的10us高脉冲激励,并用chipscope pro查看回响信号 module sp6( input ext_clk_25m, //外部输入25MHz时钟信号 input ext_rst_n, //外部输入复位信号,低电平有效 output ultrasound_trig, //超声波测距模块脉冲激励信号,10us的高脉冲 input ultrasound_echo, //超声波测距模块回响信号 output[0:0] led //D2指示灯 ); //------------------------------------- //PLL例化 wire clk_12m5; //PLL输出12.5MHz时钟 wire clk_25m; //PLL输出25MHz时钟 wire clk_50m; //PLL输出50MHz时钟 wire clk_100m; //PLL输出100MHz时钟 wire sys_rst_n; //PLL输出的locked信号,作为FPGA内部的复位信号,低电平复位,高电平正常工作 pll_controller uut_pll_controller (// Clock in ports .CLK_IN1(ext_clk_25m), // IN // Clock out ports .CLK_OUT1(clk_12m5), // OUT .CLK_OUT2(clk_25m), // OUT .CLK_OUT3(clk_50m), // OUT .CLK_OUT4(clk_100m), // OUT // Status and control signals .RESET(~ext_rst_n),// IN .LOCKED(sys_rst_n)); // OUT //------------------------------------- //25MHz时钟进行分频,产生一个100KHz频率的时钟使能信号 wire clk_100khz_en; //100KHz频率的一个时钟使能信号,即每10us产生一个时钟脉冲 clkdiv_generation uut_clkdiv_generation( .clk(clk_25m), //时钟信号 .rst_n(sys_rst_n), //复位信号,低电平有效 .clk_100khz_en(clk_100khz_en) //100KHz频率的一个时钟使能信号,即每10us产生一个时钟脉冲 ); //------------------------------------- //每秒产生一个10us的高脉冲作为超声波测距模块的激励 ultrasound_controller uut_ultrasound_controller( .clk(clk_25m), //时钟信号 .rst_n(sys_rst_n), //复位信号,低电平有效 .clk_100khz_en(clk_100khz_en), //100KHz频率的一个时钟使能信号,即每10us产生一个时钟脉冲 .ultrasound_trig(ultrasound_trig), //超声波测距模块脉冲激励信号,10us的高脉冲 .ultrasound_echo(ultrasound_echo) //超声波测距模块回响信号 ); //------------------------------------- //input信号必须经过IBUF后,才能作为chipscope中查看 wire ultrasound_echo_r; IBUF #( .IOSTANDARD("DEFAULT") // Specify the input I/O standard )IBUF_inst ( .O(ultrasound_echo_r), // Buffer output .I(ultrasound_echo) // Buffer input (connect directly to top-level port) ); assign led[0] = ultrasound_echo_
从零开始设计一个CPU (Verilog) 版本 V1.0 vivado 2019.2 ========================= 资源 B站 视频地址: 作业说明(包括指令设计和模块结构) 版权问题不再提供下载: 源码(未打包): 打包工程(vivado打开即用): 参考讲义 版权问题不再提供下载: 汇编程序 给定一个非零自然数N,计算小于N的自然数之和 0000100011 //0// READ INPUT TO R3 1000000001 //1// INIT R0 = 1 1010000000 //2// INIT R1 = 0 0100010100 //3// R1 = R0 + R1 0010000001 //4// R0 = R0 + 1 0001110011 //5// IF R0 < R3 THEN Z = 0 ELSE Z = 1 0001010011 //6/
2021-12-09 14:53:57 21.69MB Verilog
1
通过按键输入学号,并循环显示:电路功能描述:通过Ego1上的按键输入自己的学号(8位10进制数),并存储在32位的寄存器中;8位10进制数输入完成后,实现滚动显示效果。
2021-11-30 22:56:46 653KB VHDL/FPGA/Verilog Verilog
【主要内容】FPGA的DDS信号发生器 : DDS_Verilog+源码工程+仿真工程+视频教程+原理图PCB图【适合人群】软件开发【质量保障】任何问题私信我
2021-11-11 21:02:24 595.45MB verilog DDS信号发生器 DDS_Verilog 源码工程
USB2.0 verilog源码: 提供了USB2.0的verilog源码, 与USB1.0兼容
2021-11-05 10:35:07 192KB USB
1
哈尔滨工业大学的数电大作业 [FPGA]Verilog源码+实验报告 Basys2开发板制作电子骰子 数电大作业适用
2021-11-02 17:01:36 184KB 数电 Verilog FPGA Basys2