怎样改写成三选一多路选择器的VerilogHDL 程序?

怎样改写成三选一多路选择器的VerilogHDL 程序?,第1张

//----------------------------------------------------------------------------------------

// File name:           Eighth_Select

// Last modified Date:  2020年5月19日10点31分

// Last Version:        V1.1

// Descriptions:        8选一多路选择器设计

//----------------------------------------------------------------------------------------

module Eignth_Select(out,in0,in1,in2,in3,in4,in5,in6,in7,sel)

output out

input in0,in1,in2,in3,in4,in5,in6,in7

input[2:0] sel

reg out     //输出信号,可观察输出信号波形判断仿真是否正确

always @(in0 or in1 or in2 or in3 or in4 or in5 or in6 or in7 or sel)

    case(sel)    //根据sel的不同选通in0,in1,in2,in3,in4,in5,in6,in7

       吵世 3'b000: out=in0

        3'b001: out=in1

        3'b010: out=in2

        3'b011: out=in3

        3'b100: out=in4

 升清肢       3'b101: out=in5

        3'b110: out=in6

        3'b111: out=in7

        default: out=1'bx

endcase

endmodule

典型的FPGA器件主要包含3类基本资源可编程逻辑块(configurablelogicblock,CLB)、布正芦线资源和可编程输入/输出模块。可编程逻辑块四周被预制的布线资源通道包围,可编程输入/输出模块分布在FPGA四周,除了上述3种资源以外,通常在FPGA中还包含块RAM、乘法器等可选资源。

在FPGA各种资源中,可编程逻辑块是实现用户功能的基本单元,每个可编程逻辑块包含1个互连开关矩阵和4个SLICEs,其中每个SLICE包括2个查找表(Look-Up-Table,LUT)、2个触发器和一些多路选择器。互连开关矩阵主要由不同长度导线和多个布线开关组成。

always(@posedge sclk)

begin

if(rst)

begin

pulse_cnt<=1'b0 //用于记毁激输出的脉冲

pulse_out<=1'b0//通过管脚输出脉冲

end

else if(pulse_cnt[N-1:0] == {rec_data[N : 1],1'b0})//rec_data是用串口接收到的需要输出的脉冲数

begin

pulse_cnt<=pulse_cnt+1'b1

pulse_out<=!pulse_out

end

else

begin

pulse_cnt<=1'闭谈b0

pulse_out<=1'纤态袜b0

end

end

N是rec_data的位数+1

module div(clk25M,clkout) //分频,产生1HZ频率

input clk25M //输入24MHz,输出1Hz

output reg clkout

integer A=0//计数器

always@(posedge clk10M)

if(A<=12500000)A<=A+1 //计隐颤模数器每记到12.5M,洞友clk翻转一次

else begin clkout<灶缓=~clkoutA<=0end

endmodule


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8213398.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存