一种用于图像边缘检测的蚁群优化算法.docx
2021-04-27 09:09:17 44KB 文档说明 Matlab数字图像处理
1
基于Kinect的头部姿态估计+两篇文档说明 比较难 3D Head Pose Estimation Using the Kinect.pdf Random forests for real time 3D face analysis.pdf
2021-04-26 17:07:50 9.67MB Kinet openni 人体骨架 姿态识别
1
中国教育机器人游高铁比赛文档,为学生提供一种案例。
2021-04-23 16:40:44 1.52MB 比赛
1
收集的Bezier,B样条曲线正算,返算代码及文档说明
2021-04-21 21:01:36 57.34MB Bezier B样条
1
Java语言实现的RSA算法,加密解密、数字签名及详细文档说明
2021-04-21 11:28:12 58KB RSA加解密 数字签名 文档说明 验证
1
RTL8208B_BCM5421S千兆网cyclone2 FPGA主控板protel99设计硬件原理图PCB+BOM+FPGA Verilog源码+文档说明,4层板设计,包括完整的原理图+PCB+生产BOM文件,CYCLONE2 FPGA设计逻辑源码文件 2、 设计概述 本板作为千兆机内帧的接收板,主要功能是接收千兆机内帧控制器输入的显示数据,经过SDRAM转存后再通过十六个百兆口输出。同时要能接收箱体扫描板输出数据。其中收发关系由本板百兆芯片实现AUTOCROSS。 3、 具体设计 3.1 SDRAM.SCH  使用一片86脚,TSOP封装的SDRAM  可以使用64M,128M的SDRAM。使用64M芯片时21脚(A11)NC  DQM[3:0]接地,CKE接3.3V电源 3.2 FPGA.SCH  FPGA芯片使用EP2C8Q208  配置方式JTAG+AS(EPCS4)  25M时钟和RESET接PLL1的输入端  FPGA附加电路:FLASH,EEPROM,温度传感,天光亮度传感  FLASH的CS#接地,WP#接3.3V。EEPROM的WP接地  千兆的CLK125,RC125,MEDIA,BREAK接PLL2IN  千兆PHY和两个百兆PHY的管理接口复用一对I/O。 千兆PHY地址为00001;百兆PHY地址为10***,01***  百兆芯片共用一个RESET引脚 3.3 POWER.SCH  5V电源输入  FPGA内核电压1.25V使用一片1085_ADJ  板上3.3V电压使用一片2831Y  千兆芯片的2.5V使用一片2831Y  两个百兆芯片的1.8V各使用一片2831Y,需要测试是否可以使用一片 每个百兆芯片需要760mA工作电流 3.4 INDRIVE.SCH  千兆芯片使用BCM5421S  留有光接口与电接口,使用MEDIA选择管脚选择接口类型  引脚设置如下: 信号类型 信号名称 引脚 IO 功能描述 连接方式 与FPGA相连的信号 RXD[7:0] 2,3,4,9,10,11,12,15 O 接收数据,与RXC同步 在100BASE-TX和RGMII模式下,只有RXD[3:0]有效 经过排阻和FPGA相连(如图19) TXD[7:0] 104,103,102,101,100,99,98,97 I 发送数据,与GTXCLK同步 在100BASE-TX和RGMII模式下,只有TXD[3:0]有效 RX_DV 1 O 高电平指示正在接收数据 TX_EN 106 I TXD[7:0]传输使能 GTXCLK 107 I GMII传输时钟,MAC提供的125M时钟,用于同步发数据 RX_ER 113 O RX_DV高,RX_ER高指示从双绞线收的数据有错 INTR#/ ENDET 76 I 中断信号 当检测到ENERGY置高1.3ms 当无ENERGY 1.3s 置低 与FPGA的CLKIN相连 MDC 20 串行数据MDIO的同步时钟,可以达到12.5M 与FPGA相连,与百兆芯片复用 MDIO 21 用于配置MII寄存器的串行数据 与RJ45相连的信号 TRD[0]+- 47,48 IO 网线的收发差分对 与RJ45相连 TRD[1]+- 50,49 IO TRD[2]+- 56,57 IO TRD[3]+- 59,58 IO 与光头相连的信号 SGIN+- 115,116 I SerDes/SGMII差分数据输入 与光头相连 SGOUT+- 118,119 O SerDes/SGMII差分数据输出 指 示 灯 信 号 B_TX 70 O 传输数据指示信号 B_RC 71 O 接收数据指示信号 B_LINK2 72 O 传输速度指示信号 00表示1000BASE-T LINK 高电平使能SERDES模式 B_LINK1 73 O B_FDX 74 I/O pd 高电平使能SGMII模式 全双工指示信号 B_SLAVE 75 I/O pu A-N使能 Master/Slave指示信号 B_QUALITY 85 O 铜线连接质量指示信号 RGMII模式下设置RXC Timing 时 钟 信 号 XTALI 124 I 5421的外接25M参考时钟 接25M晶体 XTALO 125 O RXC 112 O 从输入的模拟信号中恢复的125M时钟,用于同步RXD[7:0] 接FPGA的CLKIN CLK125 18 O MAC参考时钟,由XTALI倍频产生的125M时钟信号输出 接FPGA的CLKIN 接成1或者0的控制信号 PHY[4:0] 63,
基于FPGA的按键消抖实验Verilog逻辑源码Quartus工程文件+文档说明,程序实现按键按下后数字加 1,并在数码管上显示出来,FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。 module key_debounce( input clk, input rst_n, input key1, output [5:0] seg_sel, output [7:0] seg_data ); wire button_negedge; //Key falling edge ax_debounce ax_debounce_m0 ( .clk (clk), .rst (~rst_n), .button_in (key1), .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) ); wire[3:0] count1; wire t1; count_m10 count10_m1( .clk (clk), .rst_n (rst_n), .en (t0), .clr (1'b0), .data (count1), .t (t1) ); //Count decoding wire[6:0] seg_data_0; seg_decoder seg_decoder_m0( .bin_data (count), .seg_data (seg_data_0) ); wire[6:0] seg_data_1; seg_decoder seg_decoder_m1( .bin_data (count1), .seg_data (seg_data_1) ); seg_scan seg_scan_m0( .clk (clk), .rst_n (rst_n), .seg_sel (seg_sel), .seg_data (seg_data), .seg_data_0 ({1'b1,7'b1111_111}), .seg_data_1 ({1'b1,7'b1111_111}), .seg_data_2 ({1'b1,7'b1111_111}), .seg_data_3 ({1'b1,7'b1111_111}), .seg_data_4 ({1'b1,seg_data_1}), .seg_data_5 ({1'b1,seg_data_0}) ); endmodule
FPGA设计控制蜂鸣器播放音乐实验的Verilog逻辑源码Quartus工程文件+文档说明,根据简谱不同简谱名频率让蜂鸣器发出不一样的响声,FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。 module music_top ( input clk, input rst_n, input key1, output reg buzzer ) ; parameter CLK_FRE = 50 ; parameter music_len = 32'd78 ; wire [19:0] cycle ; reg [31:0] play_cnt ; reg [31:0] music_cnt ; reg [19:0] hz_cnt ; wire [4:0] hz_sel ; wire [7:0] rom_hz_data ; wire [7:0] rom_time_data ; reg [31:0] music_time ; wire button_negedge ; parameter IDLE = 2'd0 ; parameter PLAY = 2'd1 ; parameter PLAY_WAIT = 2'd2 ; parameter PLAY_END = 2'd3 ; reg [1:0] state ; reg [1:0] next_state ; always @(posedge clk or negedge rst_n) begin if (~rst_n) state <= IDLE ; else state <= next_state ; end always @(*) begin case(state) IDLE : begin if (button_negedge) next_state <= PLAY ; else next_state <= IDLE ; end PLAY : begin if (play_cnt == music_time) next_state <= PLAY_WAIT ; else next_state <= PLAY ; end PLAY_WAIT : begin if (music_cnt == music_len - 1) next_state <= PLAY_END ; else next_state <= PLAY ; end PLAY_END : next_state <= IDLE ; default : next_state <= IDLE ; endcase end ax_debounce ax_debounce_a0 ( .clk (clk), .rst (~rst_n), .button_in (key1), .button_posedge (), .button_negedge (button_negedge), .button_out () ); //play counter always @(posedge clk or negedge rst_n) begin if (~rst_n) music_time <= 32'hffff_ffff ; else music_time <= rom_time_data*(CLK_FRE*1000000/8) ; end //counter in every step, maximum value is cycle always @(posedge clk or negedge rst_n) begin if (~rst_n) hz_cnt <= 20'd0 ; else if (state == PLAY || state == PLAY_WAIT) begin if (hz_cnt == cycle - 1) hz_cnt <= 20'd0 ; else hz_cnt <=
FPGA片内ROM读写测试Verilog逻辑源码Quartus工程文件+文档说明,ALTERA 在 Quartus 软件里为我们已经提供了 ROM 的 IP 核, 我们只需通过 IP 核例化一个 ROM, 根据 ROM 的读时序来读取 ROM 中存储的数据。实验中会通过 Quartus 集成的在线逻辑分析仪Signaltap,我们可以观察 ROM 的读时序和从 ROM 中读取的数据,FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。 timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// module rom_test( input clk, //50MHz时钟 input rst_n //复位信号,低电平有效 ); //----------------------------------------------------------- reg[4:0] rom_addr; //ROM输入地址 wire[7:0] rom_data; //ROM的数据 //产生ROM地址读取数据测试 always @(posedge clk or negedge rst_n) if(rst_n==1'b0) rom_addr <= 10'd0; else rom_addr <= rom_addr+1'b1; //----------------------------------------------------------- //实例化ROM rom_ip rom_ip_inst ( .clock (clk ), // input clock .address (rom_addr ), // input [4 : 0] address .q (rom_data ) // output [7 : 0] q ); endmodule
FPGA片内RAM读写测试Verilog逻辑源码Quartus工程文件+文档说明,使用 FPGA 内部的 RAM 以及程序对该 RAM 的数据读写操作,FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// module ram_test( input clk, //50MHz时钟 input rst_n //复位信号,低电平有效 ); //----------------------------------------------------------- reg[8:0] w_addr; //RAM写地址 reg[15:0] w_data; //RAM写数据 reg wea; //RAM PORTA 使能 reg[8:0] r_addr; //RAM读地址 wire[15:0] r_data; //RAM读数据 //产生RAM地址读取数据测试 always @(posedge clk or negedge rst_n) if(rst_n==1'b0) r_addr <= 9'd0; else r_addr <= r_addr+1'b1; ///产生RAM写入的数据 always@(posedge clk or negedge rst_n) begin if(rst_n==1'b0) begin wea <= 1'b0; w_addr <= 9'd0; w_data <= 16'd0; end else begin if(w_addr==511) begin //ram写入完毕 wea <= 1'b0; end else begin wea<=1'b1; //ram写使能 w_addr <= w_addr + 1'b1; w_data <= w_data + 1'b1; end end end //----------------------------------------------------------- //实例化RAM ram_ip ram_ip_inst ( .wrclock (clk ), // input wrclock .wren (wea ), // input [0 : 0] wren .wraddress (w_addr ), // input [8 : 0] wraddress .data (w_data ), // input [15 : 0] data .rdclock (clk ), // input rdclock .rdaddress (r_addr ), // input [8 : 0] rdaddress .q (r_data ) // output [15 : 0] q ); endmodule