基于FPGA-Verilog HDL的TCD1206SUP图像传感器驱动电路设计 文章: https://blog.csdn.net/weixin_53403301/article/details/122004338
2021-12-18 19:03:16 549KB FPGA 图像传感器 VerilogHDL VHDL
案例中设计的消抖有一个缺陷,当开关转换状态的时候会有一个反应延迟的问题。替代方 案要实现在转换的第一个边沿即作出反应,在等待一个很小的时间段后(至少 20ms)和输 入信号进行计算。替换方案要求当由 输入信号由 0 0 变为 1 1 时 时,有限状态机立即作出反应并根据 20ms 时间内的输入消除抖动,在这个过程之后系统开始检查输入信号的下降沿。根据案例 中的设计步骤设计一个替代方案。 1. 根据电路画出状态图和 ASM 图。 2. 写出 HDL 代码。 3. 依据状态图和 ASM 图写出 HDL 代码。 4. 写出 testbench 并对代码仿真验证。 5. 将代替方案替换原来的消抖电路并验证。
2021-12-18 17:41:24 143KB FPGA Verilog HDL
1
提出了一种基于FPGA并利用Verilog HDL实现的CMI编码设计方法。研究了CMI码型的编码特点,提出了利用Altera公司CycloneⅡ系列EP2C5Q型号FPGA完成CMI编码功能的方案。在系统程序设计中,首先产生m序列,然后程序再对m序列进行CMI码型变换。在CMI码型变换过程中,采用专用寄存器对1码的状态进行了存储,同时利用m序列的二倍频为CMI编码进程提供时钟激励,最后输出CMI码型。实验结果表明,采用FPGA完成CMI编码的设计,编码结果完全正确,能够达到预期要求。利用这种方法实现CMI编码功能,具有效率高、可扩展性强、升级方便等特点,方便嵌入到大规模设计中,具有广泛的应用前景。
2021-12-15 22:04:27 1.17MB FPGA Verilog HDL
1
黑金FPGA开发板有verilog代码,讲解关于时钟和信号的代码
2021-12-15 19:38:58 35.11MB 黑金FPGA verilog
1
假设停车场只有一个入口和一个出口,利用两对光电传感器检测车辆的进出情况,如图所示。 当有车辆处在接收器与发射器中间时,红外光线被遮挡,相应的输出置为有效即置 1。通过 检查光电传感器可以确定是否有车辆进出活动或者只是行人穿过。例如,车辆进入会发生如 下事件: 1.最开始两个传感器都未被遮挡(ab 值为”00”) 2.传感器 a 被遮挡(ab 值为”10”) 3.两个传感器都被遮挡(ab 值为”11”) 4.传感器 a 未被遮挡(ab 值为”01”) 5.两个传感器都未被遮挡(ab 值为”00”) 因此,可以按一下步骤设计一个停车场计时器: 1.设计一个带有输 2 输入(a、b)、2 输出(enter、exit)的有限状态机。当车辆进入、开出停车 场时,分别将 enter、exit 置一个周期的有效电平。 2.根据有限状态机写出 HDL 代码。 3.设计一个带有两个控制信号(inc、dec)的计数器,当信号有效时加 1 或减 1。写出 HDL 代码 结合计数器、有限状态机和 LED 复用显示电路,用两个带去抖电路的按键代替光电传感器的输入
2021-12-13 17:15:36 192KB FPGA Verilog HDL
1
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 ),
自己写的一个数字钟程序,仿真通过且实机烧录通过,现发出来供大家学习
2021-12-10 10:32:15 4KB FPGA Verilog
1
基于FPGA一个乘法器的设计,初学者可以看看
2021-12-09 08:28:48 135KB FPGA Verilog
1
VIVADO工程
2021-12-07 18:01:48 63.84MB fpga verilog
VIVADO
2021-12-07 18:01:48 5.45MB fpga verilog LIN