(1)交通灯控制器的设计要求及其思路.doc //给出了本交通灯的设计指标和详细设计思路,给修改代码的朋友一定的参考; (2)文件夹:traffic //包含详细代码和版图模式,相信能给您带来帮助。
1
verilog语言程序实例实验例程源码(120例): acc.v accn.v account.v add4_1.v add4_2.v add4_3.v add8.v add8_tp.v adder.v adder16.v adder4.acf adder4.hif adder4.ndb adder4.v adder8.v adder_tp.v add_ahead.v add_bx.v add_jl.v add_tree.v alu.v alutask.v alu_tp.v aoi.v bidir.v bidir2.v block.v block1.v block2.v block3.v block4.v buried_ff.v carry_udp.v carry_udpx1.v carry_udpx2.v clock.v code_83.v compile.v control.v correlator.v count.v count10.v count4.v count4_tp.v count60.v count8_tp.v crc.v cycle.v decode47.v decode4_7.v decoder1.v decoder2.v decoder_38.v delay.v dff.v dff1.v dff2.v dff_udp.v encoder8_3.v examples.pdf fir.v fre_ctrl.v fsm.v full_add1.v full_add2.v full_add3.v full_add4.v full_add5.v funct.v funct_tp.v gate1.v gate2.v gate3.v half_add1.v half_add2.v half_add3.v half_add4.v jk_ff.v johnson.v latch.v latch_1.v latch_16.v latch_2.v latch_8.v linear.v longframe1.v longframe2.v loop1.v loop2.v loop3.v mac.v mac_tp.v map_lpm_ram.v mpc.v mpc_tp.v mult.v mult4x4.v mult_for.v mult_repeat.v mult_tp.v mux21_1.v mux21_2.v mux2_1a.v mux2_1b.v mux2_1c.v mux31.v mux4_1.v mux4_1a.v mux4_1b.v mux4_1c.v mux4_1d.v mux_case.v mux_casez.v mux_if.v mux_tp.v non_block.v paobiao.v paral1.v paral2.v parity.v pipeline.v ram256x8.v random_tp.v reg8.v resource1.v resource2.v rom.v sell.v serial1.v serial2.v serial_pal.v shifter.v song.v test.v test1.v
2021-12-11 21:02:07 165KB verilog verilog语言程序实例实验例
通过按键输入学号,并循环显示:电路功能描述:通过Ego1上的按键输入自己的学号(8位10进制数),并存储在32位的寄存器中;8位10进制数输入完成后,实现滚动显示效果。
2021-11-30 22:56:46 653KB VHDL/FPGA/Verilog Verilog
ZET中兴:Verilog Coding Styles For RTL Synthesis ZET中兴Verilog培训教程: (1)本培训课程的目标是让新员工了解在作设计中编写Verilog代码时应该使用规范的、能综合的、高效率的代码风格,并且通过上机练习实践。 (2)中兴 Verilog 培训内容 第一部分它介绍了RTL综合的含义,并分别讲述了组合电路设计和时序电路设计的常见编码风格; • 第二部分介绍了资源块和资源块的共享、一些综合工具不支持的代码及其解决方法、仿真和综合电路的不匹配情况、高效的编码风格等内容; • 第三部分讲述在数字电路设计中的一些经验、设计重用的编码风格和一些常会犯的编码错误(部分内容为前两部分的总结)。
2021-10-09 08:31:07 281KB Verilog  Verilog代码
1
always @ (negedge clk or negedge rst_n) if(!rst_n) begin out2 <= 1'b0; cnt <= 2'd0; end else begin cnt <= cnt + 1'b1; if(cnt == 2'd1) out2 <= ~out2; else if(cnt == 2'd2) begin cnt <= 2'd0; out2 <= ~out2; end end 比如在一开始复位时,out2 <= 1'b0;在第一个下降沿来时,cnt加1,而下面的语句就不会执行,等到第二个下降沿来时,cnt为2,此时if(cnt == 2'd1) out2 <= ~out2就会执行了,而下面的语句依然不会执行,等到第三个下降沿来时才会执行;
2021-10-06 11:00:31 19KB verilog Verilog语法 文章 单片机
1
占空比1:1的2、4、8分频 偶数分频Cyclone4E FPGA设计Verilog逻辑源码Quartus工程文件, Quartus软件版本11.0, FPGA型号为CYCLONE4E系列中的EP4CE6E22C8,可以做为你的学习设计参考。 module fengping_1(clk_50M,f_2,f_4,f_8); input clk_50M; //输入时钟,50M,周期为20ns output f_2,f_4,f_8; //输出分频时钟,分别为2分频,4分频,8分频 reg f_2,f_4,f_8; //输出分频寄存器 reg[2:0] cnt; //计数寄存器 always@(posedge clk_50M) //在每个时钟的上升沿触发,执行begin_end里面的语句 begin cnt<=cnt+3'b1; //每个时钟周期计数寄存器自加一 f_2<=cnt[0]; //把计数寄存器的最低位赋予f_2,输出即使2分频 f_4<=cnt[1]; //把计数寄存器的第2位赋予f_4,输出即使4分频
Verilog语法极简手册,介绍Verilog HDL词法、数据类型、算术运算,赋值语句、进程语句等。
2021-08-02 15:33:39 637KB Verilog Verilog语法 FPGA
1
(1)交通灯控制器的设计要求及其思路.doc //给出了本交通灯的设计指标和详细设计思路,给修改代码的朋友一定的参考; (2)文件夹:traffic //包含详细代码和版图模式,相信能给您带来帮助。
2021-06-21 08:55:19 496KB verilog verilog交通灯 交通灯
1
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
FPGA片内FIFO读写测试Verilog逻辑源码Quartus工程文件+文档说明,使用 FPGA 内部的 FIFO 以及程序对该 FIFO 的数据读写操作。FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。 timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// module fifo_test( input clk, //50MHz时钟 input rst_n //复位信号,低电平有效 ); //----------------------------------------------------------- localparam W_IDLE = 1; localparam W_FIFO = 2; localparam R_IDLE = 1; localparam R_FIFO = 2; reg[2:0] write_state; reg[2:0] next_write_state; reg[2:0] read_state; reg[2:0] next_read_state; reg[15:0] w_data; //FIFO写数据 wire wr_en; //FIFO写使能 wire rd_en; //FIFO读使能 wire[15:0] r_data; //FIFO读数据 wire full; //FIFO满信号 wire empty; //FIFO空信号 wire[8:0] rd_data_count; wire[8:0] wr_data_count; ///产生FIFO写入的数据 always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) write_state <= W_IDLE; else write_state <= next_write_state; end always@(*) begin case(write_state) W_IDLE: if(empty == 1'b1) //FIFO空, 开始写FIFO next_write_state <= W_FIFO; else next_write_state <= W_IDLE; W_FIFO: if(full == 1'b1) //FIFO满 next_write_state <= W_IDLE; else next_write_state <= W_FIFO; default: next_write_state <= W_IDLE; endcase end assign wr_en = (next_write_state == W_FIFO) ? 1'b1 : 1'b0; always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) w_data <= 16'd0; else if (wr_en == 1'b1) w_data <= w_data + 1'b1; else w_data <= 16'd0; end ///产生FIFO读的数据 always@(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) read_state <= R_IDLE; else read_state <= next_read_state; end always@(*) begin case(read_state) R_IDLE: if(full == 1'b1) //FIFO满, 开始读FIFO next_read_state <= R_FIFO; else next_read_state <=