国外FPGA设计经典教材,英文版,很好,不针对专门一款产品
2021-12-12 19:13:26 4.01MB FPGA
1
Fpga开发文档资料Tsu_Tco约束方法VerilogHDL设计技术FPGA设计技术文档33个合集: FPGA的指导性原则.PDF fpga经验谈.pdf FPGA设计秘笈.pdf IC技术讲座-FPGA.rar openrisc-HW-tutorial-Altera.pdf openrisc-HW-tutorial-Xilinx.pdf openrisc-SW-tutorial.pdf or1200_ep3c16_board.rar ps2_driver.rar PS2协议中英文文档.pdf pwm_source.zip Tco探秘.pdf Tsu_Tco约束方法.pdf uart_to_vga.rar VGA IP Core设计与实现.rar VGA驱动与实现.pdf VGA驱动与实现_osh.zip wbspec_b3.pdf 使用Cyclone器件中的PLL.pdf 基于FPGA的异步FIFO硬件实现.pdf 基于FPGA的数字滤波系统.pdf 复杂数字电路与系统的VerilogHDL设计技术.pdf 大型设计中FPGA 的多时钟设计策略.pdf 大话FPGA.pdf 我的第一次FPGA之旅.pdf 数字设计:原理与实践.pdf 数字集成电路(设计透视).pdf 第二章Quartus使用教程.pdf 第五章软件开发.pdf 第四章硬件开发.pdf 编译工具 or32-uclinux.rar 锁定流程.pdf
Spartan 6 FPGA 设计经典流水灯实验VERILOG源码 Xilinx ISE14.6 工程文件 //拨码开关SW3作为开关信号,导航按键UP和DOWN作为LED流动方向控制信号,实现8个LED开关、方向可控的流水灯功能 module sp6( input ext_clk_25m, //外部输入25MHz时钟信号 input ext_rst_n, //外部输入复位信号,低电平有效 input[0:0] switch, //拨码开关SW3输入,ON -- 低电平;OFF -- 高电平 input key_upup,key_down, //up和down两个导航按键输入,未按下为高电平,按下后为低电平 output reg[7:0] led //8个LED指示灯接口 ); //------------------------------------- //按键抖动判断逻辑 wire key; //所有按键值相与的结果,用于按键触发判断 reg[3:0] keyr; //按键值key的缓存寄存器 assign key = key_upup & key_down; always @(posedge ext_clk_25m or negedge ext_rst_n) if (!ext_rst_n) keyr <= 4'b1111; else keyr <= {keyr[2:0],key}; wire key_neg = ~keyr[2] & keyr[3]; //有按键被按下 wire key_pos = keyr[2] & ~keyr[3]; //有按键被释放 //------------------------------------- //定时计数逻辑,用于对按键的消抖判断 reg[19:0] cnt; always @ (posedge ext_clk_25m or negedge ext_rst_n) if (!ext_rst_n) cnt <= 20'd0; else if(key_pos || key_neg) cnt <=20'd0; else if(cnt < 20'd999_999) cnt <= cnt + 1'b1; else cnt <= 20'd0; reg[1:0] key_value[1:0]; always @(posedge ext_clk_25m or negedge ext_rst_n) if (!ext_rst_n) begin key_value[0] <= 2'b11; key_value[1] <= 2'b11; end else if(cnt == 20'd999_999) begin //定时键值采集 key_value[0] <= {key_upup,key_down}; key_value[1] <= key_value[0]; end wire[1:0] key_press = key_value[1] & ~key_value[0]; //消抖后按键值变化标志位 //------------------------------------ //流水灯开启、停止和流动方向控制开关、按键值采集 reg led_en; //LED流水灯工作使能信号,高电平有效 reg led_dir; //LED流水灯方向控制信号,1--从高到低流动,0--从低到高流动 always @ (posedge ext_clk_25m or negedge ext_rst_n) if(!ext_rst_n) begin led_en <= 1'b0; led_dir <= 1'b0; end else begin //流水灯开启/停止控制 if(!switch[0]) led_en <= 1'b1; else led_en <= 1'b0; //流水灯方向控制 if(key_press[0]) led_dir <= 1'b0; //从低到高流动 else if(key_press[1]) led_dir <= 1'b1; //从高到低流动 else ; end //------------------------------------ //LED流水灯变化延时计数器 reg[23:0] delay; always @ (posedge ext_clk_25m or negedge ext_rst_n) if(!ext_rst_n) delay <= 24'd0; else delay <= dela
Uart串口读写实验Cyclone10 FPGA实验Verilog源码Quartus17.1工程文件+文档资料, FPGA为CYCLONE10LP系列中的10CL025YU256C8. 完整的Quartus工程文件,可以做为你的学习设计参考。 module uart_test( input clk, input rst_n, input uart_rx, output uart_tx ); parameter CLK_FRE = 50;//Mhz localparam IDLE = 0; localparam SEND = 1; //send HELLO ALINX\r\n localparam WAIT = 2; //wait 1 second and send uart received data reg[7:0] tx_data; reg[7:0] tx_str; reg tx_data_valid; wire tx_data_ready; reg[7:0] tx_cnt; wire[7:0] rx_data; wire rx_data_valid; wire rx_data_ready; reg[31:0] wait_cnt; reg[3:0] state; assign rx_data_ready = 1'b1;//always can receive data, //if HELLO ALINX\r\n is being sent, the received data is discarded always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) begin wait_cnt <= 32'd0; tx_data <= 8'd0; state <= IDLE; tx_cnt <= 8'd0; tx_data_valid <= 1'b0; end else case(state) IDLE: state <= SEND; SEND: begin wait_cnt <= 32'd0; tx_data <= tx_str; if(tx_data_valid == 1'b1 && tx_data_ready == 1'b1 && tx_cnt < 8'd12)//Send 12 bytes data begin tx_cnt <= tx_cnt + 8'd1; //Send data counter end else if(tx_data_valid && tx_data_ready)//last byte sent is complete begin tx_cnt <= 8'd0; tx_data_valid <= 1'b0; state <= WAIT; end else if(~tx_data_valid) begin tx_data_valid <= 1'b1; end end WAIT: begin wait_cnt <= wait_cnt + 32'd1; if(rx_data_valid == 1'b1) begin tx_data_valid <= 1'b1; tx_data <= rx_data; // send uart received data end else if(tx_data_valid && tx_da
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_
《轻松实现高速串行IO-FPGA设计应用指南》.zip
2021-12-08 13:06:41 3.74MB 通信互联网 FPGA/SOC
FPGA功能设计说明书模板,参照《FPGA设计--基于团队的最佳实践》编写
2021-12-07 12:40:50 33KB FPGA 设计 团队
1
这里面有好多FPGA的实例,比较适合初学者,并且是步步前进!
2021-12-07 12:28:25 1.22MB FPGA 实例
1
三、 实验要求 1. 设计倒计时为60秒的交通灯。 2. 只有红灯和绿灯,不设黄灯。 3. 两个方向倒计时时间相同都为60秒。 4. 红灯和绿灯点亮的时间相同。 5. 要求使用数码管显示倒计时,LED灯为红绿灯。 6. 特殊情况下,两个方向都红灯点亮,倒计时不显示。 7. 拓展实验:两个倒计时分别显示30秒和80秒。
2021-12-04 18:23:24 127KB FPGA 交通灯
1
基于CYCLOEN FPGA设计的fir_dac数字滤波器quartus工程源码+文档说明 // ******************************************************************************* // 顶层文件模块 // *******************************************************************************/ module fir_dac( clk, reset_n, key_in, sclk, //TLC5615 sclk时钟脚 din, //TLC5615 din数据脚 cs //TLC5615 cs片选 ); input clk; input reset_n; input key_in; output sclk; output din; output cs; wire [9:0]data_line; wire [9:0]fir_data; wire [9:0]data_in; wire [9:0]fir_data_20; fir fir_top( .clk(clk), .reset_n(reset_n), .data_in(data_in), //谐波信号 .fir_data(fir_data), //8滤波之后的信号 .fir_data_20(fir_data_20)//21滤波之后的信号 ); TLC5615 tlc5615_top( .clk(clk),//内部时钟 .sclk(sclk),//TLC5615 sclk时钟脚 .din(din),//TLC5615 din数据脚 .cs(cs),//TLC5615 cs片选 .din_in(data_line));//十位数据输入 key key_top( .key_in(key_in), .data_out(data_line), .data1(fir_data), .data2(fir_data_20) ); endmodule