《Verilog HDL设计与实战》刘福奇 配套代码
2021-05-06 21:23:32 6.02MB Verilog HDL 刘福奇
1
周润景编写的书,里面涵盖verilog设计的各种实例,pdf格式,扫描版
2021-05-01 12:39:49 39.86MB verilog fpga quartus 实例
1
EPM240 CPLD开发板Verilog HDL设计实验例程15例Quartus 13.1工程+设计说明文档,例程如下: ex10_iic ex11_sram ex12_kz ex13_maxiiclk ex14_maxiiufm ex15_sim ex1_clkdiv ex2_key ex3_johnson ex4_seg7 ex5_mux ex6_module ex7_vga ex8_232 ex9_ps2
EPM240 CPLD开发板Verilog HDL设计SRAM读写Quartus 13.1工程密码+设计说明文档。SRAM 芯片时序操作大同小异,在这里总结一些它们共性的东西,也提一些用 Verilog 简单的快速操作 SRAM 的技巧。 这里就以本实验使用的 IS62LV256-70U 为例进行说明。其管脚定义如表 5.18 所示。 表 5.18 SRAM 管脚定义 序号 管脚 描述 1 A0-A14 地址输入。 2 CEn 芯片使能输入,低有效。 3 OEn 输出使能输入,低有效。 4 WEn 写使能输入,低有效。 5 I/O0-I/O7 数据输入/输出。 6 VCC 电源。 7 GND 数字地。 具体在硬件连接的时候,其实很多人喜欢直接把输出使能信号 OEn 和片选信号 CEn 接 地,这样一来不仅节省了处理器和 SRAM 连接的管脚数,而且在读写 SRAM 的时候其实只要 对写使能信号 WEn 操作就可以了,简化了代码部分。本设计的硬件原理图如图 5.23 所示。 图 5.23 SRAM 接口 因为在硬件上已经把 CEn 和 OEn 拉低了,所以在不进行写 SRAM 的时候,实际上 SRAM 的数据总线上的值是对应地址总线的数据。为了避免误操作,可以把地址总线置高阻态,如 果不去操作数据总线(最好不是复用的数据总线)也无大碍。因为这样简化了设计。对于 SRAM 的操作时序,只要关心地址总线、数据总线和写使能 WEn 信号。读写时序分别如图 5.24 和图 5.25 所示。
Verilog HDL设计数码管动态扫面显示的FPGA设计Quartus工程文件,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module top_seg_led( //global clock input sys_clk , // 全局时钟信号 input sys_rst_n, // 复位信号(低有效) //seg_led interface output [5:0] seg_sel , // 数码管位选信号 output [7:0] seg_led // 数码管段选信号 ); //wire define wire [19:0] data; // 数码管显示的数值 wire [ 5:0] point; // 数码管小数点的位置 wire en; // 数码管显示使能信号 wire sign; // 数码管显示数据的符号位 //***************************************************** //** main code //***************************************************** //计数器模块,产生数码管需要显示的数据 count u_count( .clk (sys_clk ), // 时钟信号 .rst_n (sys_rst_n), // 复位信号 .data (data ), // 6位数码管要显示的数值 .point (point ), // 小数点具体显示的位置,高电平有效 .en (en ), // 数码管使能信号 .sign (sign ) // 符号位 ); //数码管动态显示模块 seg_led u_seg_led( .clk (sys_clk ), // 时钟信号 .rst_n (sys_rst_n), // 复位信号 .data (data ), // 显示的数值 .point (point ), // 小数点具体显示的位置,高电平有效 .en (en ), // 数码管使能信号 .sign (sign ), // 符号位,高电平显示负号(-) .seg_sel (seg_sel ), // 位选 .seg_led (seg_led ) // 段选 ); endmodule
Verilog HDL设计信号频率测量模块FPGA设计Quartus工程文件 ,等精度频率计模块,测量被测信号频率,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module top_cymometer( //system clock input sys_clk , // 时钟信号 input sys_rst_n, // 复位信号 //cymometer interface input clk_fx , // 被测时钟 output clk_out , // 输出时钟 //user interface output [5:0] sel , // 数码管位选 output [7:0] seg_led // 数码管段选 ); //parameter define parameter CLK_FS = 26'd50000000; // 基准时钟频率值 //wire define wire [19:0] data_fx; // 被测信号测量值 //***************************************************** //** main code //***************************************************** //例化PLL,生成待测试时钟500Khz test_pll test_pll_inst ( .inclk0 (sys_clk ), .c0 (clk_out ) ); //例化等精度频率计模块 cymometer #(.CLK_FS(CLK_FS) // 基准时钟频率值 ) u_cymometer( //system clock .clk_fs (sys_clk ), // 基准时钟信号 .rst_n (sys_rst_n), // 复位信号 //cymometer interface .clk_fx (clk_fx ), // 被测时钟信号 .data_fx (data_fx ) // 被测时钟频率输出 ); //例化数码管显示模块 seg_led u_seg_led( //module clock .clk (sys_clk ), // 数码管驱动模块的驱动时钟 .rst_n (sys_rst_n), // 复位信号 //seg_led interface .seg_sel (sel ), // 数码管位选 .seg_led (seg_led ), // 数码管段选 //user interface .data (data_fx ), // 被测频率值 .point (6'd0 ), // 数码管显示的点控制 .en (1'b1 ), // 数码管驱动使能信号 .sign (1'b0 ) // 控制符号位显示 ); endmodule
E2PROM读写测试Verilog HDL设计Quartus工程文件,E2POM型号AT24C16,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module e2prom_top( input sys_clk , //系统时钟 input sys_rst_n , //系统复位 //eeprom interface output iic_scl , //eeprom的时钟线scl inout iic_sda , //eeprom的数据线sda //user interface output led //led显示 ); //parameter define parameter SLAVE_ADDR = 7'b1010000 ; //器件地址(SLAVE_ADDR) parameter BIT_CTRL = 1'b1 ; //字地址位控制参数(16b/8b) parameter CLK_FREQ = 26'd50_000_000; //i2c_dri模块的驱动时钟频率(CLK_FREQ) parameter I2C_FREQ = 18'd250_000 ; //I2C的SCL时钟频率 parameter L_TIME = 17'd125_000 ; //led闪烁时间参数 //wire define wire dri_clk ; //I2C操作时钟 wire i2c_exec ; //I2C触发控制 wire [15:0] i2c_addr ; //I2C操作地址 wire [ 7:0] i2c_data_w; //I2C写入的数据 wire i2c_done ; //I2C操作结束标志 wire i2c_ack ; //I2C应答标志 0:应答 1:未应答 wire i2c_rh_wl ; //I2C读写控制 wire [ 7:0] i2c_data_r; //I2C读出的数据 wire rw_done ; //E2PROM读写测试完成 wire rw_result ; //E2PROM读写测试结果 0:失败 1:成功 //***************************************************** //** main code //***************************************************** //e2prom读写测试模块 e2prom_rw u_e2prom_rw( .clk (dri_clk ), //时钟信号 .rst_n (sys_rst_n ), //复位信号 //i2c interface .i2c_exec (i2c_exec ), //I2C触发执行信号 .i2c_rh_wl (i2c_rh_wl ), //I2C读写控制信号 .i2c_addr (i2c_addr ), //I2C器件内地址 .i2c_data_w (i2c_data_w), //I2C要写的数据 .i2c_data_r (i2c_data_r), //I2C读出的数据 .i2c_done (i2c_done ), //I2C一次操作完成 .i2c_ack (i2c_ack ), //I2C应答标志 //user interface .rw_done (rw_done ), //E2PROM读写测试完成 .rw_result (rw_result ) //E2PROM读写测试结果 0:失败 1:成功 ); //i2c驱动模块 i2c_dri #( .SLAVE_ADDR (SLAVE_ADDR), //EEPROM从机地址 .CLK_FREQ (CLK_FREQ ), //模块输入的时钟频率
Verilog HDL设计UART串口读写测试FPGA逻辑Quartus工程文件,通过串口接收PC发送的字符然后将收到的字符发送给PC,FPGA型号Cyclone4E系列中的EP4CE10F17C8,Quartus版本18.0。 module uart_top( input sys_clk, //外部50M时钟 input sys_rst_n, //外部复位信号,低有效 //uart接口 input uart_rxd, //UART接收端口 output uart_txd //UART发送端口 ); //parameter define parameter CLK_FREQ = 50000000; //定义系统时钟频率 parameter UART_BPS = 115200; //定义串口波特率 //wire define wire uart_en_w; //UART发送使能 wire [7:0] uart_data_w; //UART发送数据 wire clk_1m_w; //1MHz时钟,用于Signaltap调试 //***************************************************** //** main code //***************************************************** clk_div u_pll( //时钟分频模块,用于调试 .inclk0 (sys_clk), .c0 (clk_1m_w) ); uart_recv #( //串口接收模块 .CLK_FREQ (CLK_FREQ), //设置系统时钟频率 .UART_BPS (UART_BPS)) //设置串口接收波特率 u_uart_recv( .sys_clk (sys_clk), .sys_rst_n (sys_rst_n), .uart_rxd (uart_rxd), .uart_done (uart_en_w), .uart_data (uart_data_w) ); uart_send #( //串口发送模块 .CLK_FREQ (CLK_FREQ), //设置系统时钟频率 .UART_BPS (UART_BPS)) //设置串口发送波特率 u_uart_send( .sys_clk (sys_clk), .sys_rst_n (sys_rst_n), .uart_en (uart_en_w), .uart_din (uart_data_w), .uart_txd (uart_txd) ); endmodule
FPGA Verilog HDL设计温度传感器ds18b20温度读取并通过lcd1620和8位LED数码管显示的QUARTUS II 12.0工程文件,包括完整的设计文件.V源码,可以做为你的学习及设计参考。 module ds18b20lcd1602display ( Clk, Rst, DQ, //18B20数据端口 Txd, //串口发送端口 LCD_Data, //lcd LCD_RS, LCD_RW, LCD_En, SMData, //数码管段码 SMCom //数码管位码 ); input
Verilog HDL设计与实战 配套PDF 完整共两部分,这是第一部分 用2345好压解压
2020-01-03 11:24:02 200MB 10分
1