FPGA DDS发生器

合集下载

基于FPGA的DDS信号发生器设计

基于FPGA的DDS信号发生器设计

基于FPGA的DDS信号发生器设计0 引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。

能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。

函数信号发生器的实现方法通常是采用分立元件或单片专用集成芯片,但其频率不高,稳定性较差,且不易调试,开发和使用上都受到较大限制。

随着可编程逻辑器件(FPGA)的不断发展,直接频率合成(DDS)技术应用的愈加成熟,利用DDS 原理在FP-GA 平台上开发高性能的多种波形信号发生器与基于DDS 芯片的信号发生器相比,成本更低,操作更加灵活,而且还能根据要求在线更新配置,系统开发趋于软件化、自定义化。

本文研究了基于FPGA 的DDS 信号发生器设计,实现了满足预定指标的多波形输出。

1 DDS 基本原理DDS 建立在采样定理基础上,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后通过查表读取数据,再经D/A 转换器转换为模拟量,将保存的波形重新合成出来。

DDS 基本原理框图如图1 所示。

除了滤波器(LPF)之外,DDS 系统都是通过数字集成电路实现的,易于集成和小型化。

系统的参考时钟源通常是一个具有高稳定性的晶体振荡器,为各组成部分提供同步时钟。

频率控制字(FSW)实际上是相位增量值(二进制编码)作为相位累加器的累加值。

相位累加器在每一个参考时钟脉冲输入时,累加一次频率字,其输出相应增加一个步长的相位增量。

由于相位累加器的输出连接在波形存储器(ROM)的地址线上,因此其输出的改变就相当于查表。

这样就可以通过查表把存储在波形存储器内的波形抽样值(二进制编码)查找出来。

ROM 的输出送到D/A 转换器,经D/A 转换器转换成模拟量输出。

基于FPGA的DDS波形发生器

基于FPGA的DDS波形发生器

基于FPGA的DDS波形发生器DDS波形发生器设计•功能描述•输入输出描述•顶层划分•o顶层模块说明o设计思想说明•子模块描述•o分频模块o相位累加器模块o存储模块o D/A转换模块•验证方案•顶层模块代码片功能描述1.具有产生正弦波、三角波、方波、锯齿波四种周期性波形的功能。

2.输出波形的频率范围为61Hz-915Hz,频率分辨率1Hz。

3.由外界按键输入选择产生波形的种类、频率。

输入输出描述顶层划分顶层模块说明1.fenpin:用于将系统时钟分成所需时钟。

2.addr: 用于相位累加。

3.rom: 用于将相位转化成幅度。

4.pmodDA2:用于将数字量转化成模拟量。

设计思想说明1.选择端和频率控制端在时钟控制下,用相位累加器输出的地址,作为查找表的输入,得到各种波形的数字量输出。

2.数字量输出作为D/A模块的输入,得到模拟量的输出,连接示波器进行观察,若波形不理想可以用示波器上的数字滤波器,用低通滤波器,选择上限截止频率进行观察。

子模块描述分频模块本次设计需要1MHz,所以首先对系统时钟(50MHz)来进行分频,使其为1MHz来正常相位模块。

相位累加器模块相位累加器由14位地址加法器与14位累加寄存器构成。

每来一个时钟脉冲, 地址加法器将频率控制字与累加寄存器出的累加相位数据相加, 并把相加后的结果送至累加寄存器的输入端。

累加寄存器将上一时钟周期作用后所产生的新的相位数据反馈到地址加法器的输入端,使地址加法器在下一时钟的作用下继续与频率控制字相加,这样, 相位累加器在时钟的作用下, 进行相位累加, 当相位累加器累加满量时就会产生一次溢出, 完成一个周期性的动作, 这个周期也就是 DDS信号的一个频率周期(基频)。

备注:因为我的rom地址线为10位(因为存的点越多,精度越高,但同时使用资源也在成几何倍数增长),频率控制4位,所以想要采样到我存到rom中的所有点的话,必须要相位累加器的位宽不小于14位。

基于fpga的dds正弦信号发生器的设计和实现

基于fpga的dds正弦信号发生器的设计和实现

基于FPGA的DDS正弦信号发生器的设计和实现引言在电子领域中,正弦信号是一种重要的基础信号,被广泛应用于通信、音频、视频等各个领域。

而DDS(Direct Digital Synthesis)直接数字合成技术则是一种通过数字方式生成高精度、高稳定性的正弦波信号的方法。

本文将详细介绍基于FPGA的DDS正弦信号发生器的设计和实现。

设计目标本次设计旨在实现一个可配置频率范围广泛且精度高的DDS正弦信号发生器。

具体设计目标如下: 1. 实现频率范围可调节,覆盖从几Hz到数十MHz; 2. 提供高精度的频率控制,满足特定应用场景对频率稳定性和相位精度的要求; 3. 支持模数转换器(DAC)输出,并能够通过外部接口控制输出幅值; 4. 使用FPGA作为主要硬件平台,以满足高速计算和灵活配置需求。

系统架构基于FPGA的DDS正弦信号发生器主要由以下几个部分组成: 1. 数字控制模块(Digital Control Module):负责接收外部输入的频率、相位和幅值等参数,并将其转换为对DDS核心模块的控制信号; 2. DDS核心模块(DDS Core Module):根据接收到的控制信号,通过数学运算生成正弦波形的离散采样值; 3. 数字模拟转换模块(Digital-to-Analog Converter, DAC):将DDS核心模块输出的数字采样值转换为模拟电压信号; 4. 输出放大器(Amplifier):用于放大DAC输出的电压信号,并通过外部接口提供可调节幅值的正弦波输出。

DDS核心模块设计DDS核心模块是整个系统中最关键的部分,它负责根据输入参数生成正弦波的离散采样值。

下面是DDS核心模块设计中需要考虑的几个关键要素:相位累加器相位累加器是DDS核心模块中最基础且重要的组件之一。

它根据输入的频率和时钟信号,在每个时钟周期内累加相位增量,从而实现相位连续变化。

相位累加器可以使用一个定点数或浮点数寄存器来表示,并通过固定步长进行相位递增。

基于FPGA的DDS信号发生器设计分析

基于FPGA的DDS信号发生器设计分析

基于FPGA的DDS信号发生器设计分析摘要:随着现代电子技术的飞速发展,直接数字频率合成DDS 技术逐渐被广泛使用,DDS 是目前数据调度常用的数据分发技术,此技术能够有效结合数据服务质量要求,完成数据分发操作。

为此提出基于FPGA的DDS信号发生器设计,以提升信号发生器精度效果。

关键词:FPGA;DDS;信号发生器;设计;1 DDS数据分发模型设计网络层云服务器采用的DDS数据分发模型结构如图1所示。

DDS数据分发模型中,将数据库云平台中的数据发送端看作为发布者,数据写入者为数据采集端,而订阅者与读入者即为云平台中的数据接收端。

DDS数据分发模型的身份主要是通信数据库云平台中,通信网络的中间件,此模型能够为通信数据库云平台提供通信数据分发服务,让通信数据可以快速分发传输,从而避免出现数据拥塞问题。

图 1 基于 DDS 的通信数据库云平台2系统硬件设计2.1硬件整体方案函数信号发生器的硬件系统主要包括MCU控制电路,FPGA构成的DDS发生器、DAC转换和低通滤波电路,及一些用于输入输出的器件等。

按键输入和LCD输出显示主要由MCU负责控制,MCU然后将输入的信号运算处理后发送给FPGA,FPGA根据输入的各种参数在ROM表中寻址,同时输出对应控制的波形、频率和幅度的数字信号,最后经过DA转换为对应的模拟电压信号,在经过一个低通滤波器使得模拟电压信号变得平滑。

2.2硬件模块电路系统的硬件电路主要分为两个部分,一是系统主控电路,二是DDS信号发生器电路。

系统主控电路包括以STM32F103C8T6为主控的最小系统板、四路用户按键输入、OLED显示屏输出(SPI)、UART通信连接上位机、硬件SPI连接FPGA负责信号数据传输。

DDS信号发生器电路,其中的FPGA模块的核心芯片为LatticeLCMXO2-4000HC-4MG132,其模块上内置8路输出LED指示灯、4路按键输入、4路拨码输入和两位数码管输出灯资源。

基于FPGA的DDS信号发生器的设计

基于FPGA的DDS信号发生器的设计

基于 FPGA 的 DDS 信号发生器的设计发布时间:2022-11-15T12:38:52.851Z 来源:《中国科技信息》2022年第7月14期作者:陈慰安[导读] DDS是一种新的频率合成技术,陈慰安广东省博罗县质量技术监督检测所广东省惠州市 516100摘要:DDS是一种新的频率合成技术,也是一种新的信号生成技术。

该方法具有频率分辨率高、频率转换快、相位变化时能保持相位连续,易于实现频率、相位、振幅等数字调制。

因此,DDS在现代电子设备尤其是通信领域中得到了广泛的应用。

关键词:FPGA;DDS信号发生器;设计1FPGA和DDS相关概述FPGA(FieldProgrammableGateArray)是一种高集成度、高速度、高存储能力的器件。

该方法能够有效地实现DDS技术,极大地改善了功能信号发生器的工作效率,并大幅度降低了电子设备的制造成本。

传统的信号源电路采用模拟电路、单片机或DDS专用的芯片。

尽管其应用领域广泛,但是仍然有很多缺点,例如:设计方案成本高,输出波形类型少,输出信号频率控制不灵活,系统升级困难等。

传统的信号源存在两大问题。

一种是调节电压调节器来调节输出的频率,使其难以调节到一个固定的数值;另外,脉冲的工作周期是不能调节的。

DDS技术是目前世界上最主要的一种数字技术,它有很多优势。

DDS技术是一种低功耗、低成本、高转换频率和高分辨率的频率合成技术。

通常,DDS技术有如下几种产生信号的方法:①集成电路功能信号发生器通常能用于产生信号,但是它的功能不全、可用性低、精度低、不能满足高频信号的需要。

②利用MCU的功能产生器来完成:MAX038的优势在于生成高频信号并生成不同的波形,但是MAX038的输出频率是由模拟信号控制的。

该方法既要实现对信号的变换,又要对其进行控制。

由于步长的增大,导致了频率的精确度下降,使得电路变得更为复杂。

DDS技术是一种新的频率合成技术,它与前面所说的信号产生方式相比,可以直接进行DDS芯片的合成,具有操作简单、节约资源等优点。

基于fpga的dds正弦信号发生器的设计和实现

基于fpga的dds正弦信号发生器的设计和实现

基于fpga的dds正弦信号发生器的设计和实现
基于FPGA的DDS正弦信号发生器可以使用数字信号处理技术实现。

下面是一个基本的设计和实现步骤:
1. 确定系统需求:首先,确定所需的输出信号频率范围、分辨率和采样率等系统参数。

这些参数可以根据实际应用来确定。

2. 设计正弦表:根据系统需求,设计一个包含所需频率范围内所有可能的正弦波的正弦表。

可以使用固定小数点表示法来表示正弦表中的采样值。

3. 设计相位累加器:使用一个32位计数器作为相位累加器,其计数速度由所需的输出信号频率和FPGA时钟频率决定。

每个时钟周期,计数器值自动增加到下一个相位值。

4. 选择相位值:使用相位累加器的值在正弦表中查找对应的相位值,并将其作为输出信号的采样值。

5. 数字输出:将采样值经过DAC(数字模拟转换器)转换为模拟信号,并将其输出。

6. 配置FPGA:将设计好的数字电路加载到FPGA芯片中,并配置FPGA内部的寄存器、时钟和IO管脚等。

7. 测试和调试:对设计好的系统进行测试和调试,确保输出信号的频率、精确度和稳定性符合要求。

这是一个基本的设计和实现步骤,具体的实现方法和细节可能因FPGA型号、工具和应用需求而异。

在实际应用中,还可以加入滤波器、幅度控制、相位调制等功能以满足更多需求。

基于FPGA的DDS信号发生器设计

基于FPGA的DDS信号发生器设计

基于FPGA的DDS信号发生器设计随着数字信号处理(DSP)技术的发展,直接数字频率合成器(DDS)逐渐取代了传统的频率合成器,成为一种高性能的信号发生器。

DDS信号发生器通过数字信号直接产生模拟信号,具有频率精度高、可编程性强和快速调频等优点。

本文将通过FPGA实现DDS信号发生器的设计。

首先,我们需要了解DDS信号发生器的基本原理。

DDS信号发生器的核心是相位累加器、查找表和数模转换器(DAC)。

通过累加器产生相位累积,将相位累积的结果通过查找表得到对应的振幅值,并经过数模转换器输出模拟信号。

1.确定需要生成的信号的参数,包括输出频率、相位步进精度、振幅等。

根据这些参数,计算累加器的增量值,即每个时钟周期累加器需要累加的值。

2.在FPGA中设计相位累加器。

相位累加器的宽度取决于相位步进精度,一般为32位或64位。

通过在每个时钟周期加上增量值,实现相位的累加。

3.设计查找表。

查找表的大小取决于数字信号的分辨率,一般为2^N 位。

通过输入相位值查找对应的振幅值。

4.设计数模转换器(DAC)。

通过DAC将数字信号转换为模拟信号输出。

5.在FPGA中实现控制逻辑,包括控制相位累加器和查找表的读写操作,使其按照设定的参数进行相位累加和振幅输出。

6.将设计好的FPGA模块进行综合、布局和时序约束,生成比特流文件。

通过以上步骤,基于FPGA的DDS信号发生器的设计就完成了。

设计好的FPGA模块可以实现高精度、高稳定性的信号发生器,广泛应用于通信、雷达、医疗设备等领域。

需要注意的是,在设计过程中需要考虑到FPGA的资源限制,包括LUT资源的利用、频率分辨率和输出频率的限制等。

此外,还可以通过增加相位累积周期、使用多路查找表和多路DAC等方法进一步优化设计。

综上所述,基于FPGA的DDS信号发生器设计是一个较为复杂的过程,需要对DDS原理有深入的理解,并结合FPGA的特点进行设计。

通过合理的设计和优化,可以实现高性能的DDS信号发生器。

基于FPGA的DDS信号发生器的设计

基于FPGA的DDS信号发生器的设计

基于FPGA的DDS信号发生器的设计作者:***来源:《机电信息》2020年第27期摘要:直接数字频率合成器(DDS)广泛应用于航空控制、通信、电子测量及研究等领域。

现提出一种DDS信号发生器,采用EDA自顶向下的设计方法,在Quartus Ⅱ集成开发环境中利用原理图和调用PLM宏功能模块完成软件设计,并通过FPGA进行硬件测试。

关键词:FPGA;直接数字频率合成器(DDS);PLM0 引言直接数字频率合成器(DDS),是一种新型的频率合成技术和信号产生方法,具有较高的频率分辨率,可以实现频率的快速切换,并且在改变时能够保持相位连续,很容易实现频率、相位和幅度的数控调制。

因此,在现代电子系统及设备的频率源设计中,尤其是在通信领域,DDS的应用尤为广泛。

1 系统的整体设计方案本文设计的是一个DDS信号发生器,如图1所示,它主要由相位累加器、相位调制器、正弦ROM查找表和D/A转换模块四部分组成。

它根据ROM查找表中存放的mif波形数据文件,可以产生正弦波、方波、三角波等信号。

相位累加器是整个DDS的核心,主要完成累加的功能,相位累加器的输入是相位增量BΔθ,又由于BΔθ与输出频率fout是简单的线性关系:BΔθ=2N·fout/fclk,相位累加器的输入又可称为频率字输入。

当系统基准时钟fclk是2N时,BΔθ就等于fout。

频率字输入在图1中还经过了一组同步寄存器,使得當频率字改变时不会干扰相位累加器的正常工作。

相位调制器接收相位累加器的相位输出,在这里加上一个相位偏移值,主要用于信号的相位调制,如PSK(相移键控)等,在不使用时可以去掉该部分,或者加一个固定的相位字常数输入。

相位字输入最好也用同步寄存器保持同步。

注意,相位字输入的数据宽度M与频率字输入N往往是不相等的,M<N。

正弦波形数字存储ROM(查找表)完成fsin(Bθ)的查找转换,也可以理解成相位到幅值度的转换,它的输入是相位调制器的输出,事实上就是ROM的地址值;输出送往D/A,转化为模拟信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DDS的设计一.功能描述本设计DDS,具体功能定义如下:1.使能端有效时正常工作。

2.当使能端有效且CLK上升沿到来时,读取DATA数据并输出。

3.产生一个频率大概为10Mhz的正弦信号。

二.输入输出信号描述信号名输入/输出目标/源功能描述CLK Input 时钟信号DATA Input Pin 控制分频信号RB Input Pin 使能信号RST Input Pin 复位信号DOUT Output Pin 输出波形数据信号三顶层划分四、子模块描述4.1 RAM 模块描述1、功能描述本设计中使用一个地址线是八位,存放数据是八位的RAM。

2、管脚描述信号名称输入/ 输出源功能描述cnt[10:3]输入PIN 地址寄存器CLK 输入PIN 时钟信号RB 输入PIN 工作使能信号DOUT [7:0] 输出PIN 从RAM中读出的数据3、实现说明:根据地址cnt[10:3],在使能RB为高电平的时候,将RAM中cnt[10:3]地址中的对应单元的数据在读时钟CLK上升沿到来的时候,读出到DOUT [7:0]中。

4.2 地址加法器1、功能描述本设计中需产生一个八位地址数据,由数据的变化快慢决定DDS的读出波形频率。

2、管脚描述信号名称输入/ 输出源功能描述cnt [10:0]输入/输出PIN 地址寄存器CLK 输入PIN 时钟信号DATA [2:0] 输入PIN 加数/频率控制信号RST 输入PIN 复位信号3、实现说明:当RST有效时,地址数据cnt初始值为‘d0,由于预置DATA的不同导致cnt高八位数据的变化快慢不同,从而决定从RAM中读出数据快慢即频率的不同。

4.3 分频器1、功能描述本设计中需要产生一个1M的时钟。

2、管脚描述信号名称输入/ 输出源功能描述flck输出PIN 分频后始终1MCLK 输入PIN 时钟信号50Mcounter[5:0] 输入PIN 计数信号RST 输入PIN 复位信号3、实现说明:当RST有效时,计数信号counter和fclk清零,flck当RST无效时,counter开始计数,当counter=50后,fclk取反,counter清零重新计数。

源程序:module DDS(DOUT,DATA,CLK,RB,RST);output[7:0] DOUT;input [2:0] DATA;input CLK,RB,RST;reg [7:0] DOUT;reg [10:0] cnt;reg [5:0] counter;reg fclk;reg [7:0] sin[255:0];always @(posedge CLK)beginif(!RST) beginfclk = 'd0;counter <= 'd0;cnt <= 0;DOUT <= 8'b0;endelse if(counter <'d50)begincounter <= counter + 'd1;endelse if(counter =='d50)begincounter <= 'd0;fclk <= ~fclk;endendalways @(posedge fclk)beginif(RB)begin cnt <=cnt +DATA; endelsebegin cnt <= 0;DOUT <= 8'b0;endDOUT <= sin[cnt[10:3]];endalways @(CLK)beginsin[0]='d127;sin[1]='d130;sin[2]='d133;sin[3]='d136;sin[4]='d139;sin[5]='d142; sin[6]='d145;sin[7]='d148;sin[8]='d151;sin[9]='d154;sin[10]='d157;sin[11]='d160;sin[12]='d163;sin[13]='d 166;sin[14]='d169;sin[15]='d172;sin[16]='d175;sin[17]='d178;sin[18]='d181;sin[19]='d184;sin[20]='d186;sin[21] ='d189;sin[22]='d192;sin[23]='d194;sin[24]='d197;sin[25]='d200;sin[26]='d202;sin[27]='d205;sin[28]='d207;sin[29] ='d209;sin[30]='d212;sin[31]='d214;sin[32]='d216;sin[33]='d218;sin[34]='d221;sin[35]='d223;sin[36]='d225;sin[37] ='d227;sin[38]='d229;sin[39]='d230;sin[40]='d232;sin[41]='d234;sin[42]='d235;sin[43]='d237;sin[44]='d239;sin[45]='d240;sin[46]='d241;sin[47]='d243;sin[48]='d244;sin[49]='d245;sin[50]='d246;sin[51]='d247;sin[52]='d248;sin[53] ='d249;sin[54]='d250;sin[55]='d250;sin[56]='d251;sin[57]='d252;sin[58]='d252;sin[59]='d253;sin[60]='d253;sin[61] ='d253;sin[62]='d253;sin[63]='d253;sin[64]='d254;sin[65]='d253;sin[66]='d253;sin[67]='d253;sin[68]='d253;sin[69] ='d253;sin[70]='d252;sin[71]='d252;sin[72]='d251;sin[73]='d250;sin[74]='d250;sin[75]='d249;sin[76]='d248;sin[77] ='d247;sin[78]='d246;sin[79]='d245;sin[80]='d244;sin[81]='d243;sin[82]='d241;sin[83]='d240;sin[84]='d239;sin[85] ='d237;sin[86]='d235;sin[87]='d234;sin[88]='d232;sin[89]='d230;sin[90]='d229;sin[91]='d227;sin[92]='d225;sin[93] ='d223;sin[94]='d221;sin[95]='d218;sin[96]='d216;sin[97]='d214;sin[98]='d212;sin[99]='d209;sin[100]='d207;sin[10 1]='d205;sin[102]='d202;sin[103]='d200;sin[104]='d197;sin[105]='d194;sin[106]='d192;sin[107]='d189;sin[108]='d186;s in[109]='d184;sin[110]='d181;sin[111]='d178;sin[112]='d175;sin[113]='d172;sin[114]='d169;sin[115]='d166;sin[116]='d163;si n[117]='d160;sin[118]='d157;sin[119]='d154;sin[120]='d151;sin[121]='d148;sin[122]='d145;sin[123]='d142;sin[124]='d139;s in[125]='d136;sin[126]='d133;sin[127]='d130;sin[128]='d127;sin[129]='d123;sin[130]='d120;sin[131]='d117;sin[132]='d114;sin[133]='d111;sin[134]='d108;sin[135]='d105;sin[136]='d102;sin[137]='d99;sin[138]='d96;sin[139]='d93;sin[140]='d90;sin[14 1]='d87;sin[142]='d84;sin[143]='d81;sin[144]='d78;sin[145]='d75;sin[146]='d72;sin[147]='d69;sin[148]='d67;sin[149 ]='d64;sin[150]='d61;sin[151]='d59;sin[152]='d56;sin[153]='d53;sin[154]='d51;sin[155]='d48;sin[156]='d46;sin[157 ]='d44;sin[158]='d41;sin[159]='d39;sin[160]='d37;sin[161]='d35;sin[162]='d32;sin[163]='d30;sin[164]='d28;sin[165 ]='d26;sin[166]='d24;sin[167]='d23;sin[168]='d21;sin[169]='d19;sin[170]='d18;sin[171]='d16;sin[172]='d14;sin[173 ]='d13;sin[174]='d12;sin[175]='d10;sin[176]='d9;sin[177]='d8;sin[178]='d7;sin[179]='d6;sin[180]='d5;sin[181]='d4; sin[182]='d3;sin[183]='d3;sin[184]='d2;sin[185]='d1;sin[186]='d1;sin[187]='d0;sin[188]='d0;sin[189]='d0; sin[190]='d0;sin[191]='d0;sin[192]='d0;sin[193]='d0;sin[194]='d0;sin[195]='d0;sin[196]='d0;sin[197]='d0; sin[198]='d1;sin[199]='d1;sin[200]='d2;sin[201]='d3;sin[202]='d3;sin[203]='d4;sin[204]='d5;sin[205]='d6; sin[206]='d7;sin[207]='d8;sin[208]='d9;sin[209]='d10;sin[210]='d12;sin[211]='d13;sin[212]='d14;sin[213] ='d16;sin[214]='d18;sin[215]='d19;sin[216]='d21;sin[217]='d23;sin[218]='d24;sin[219]='d26;sin[220]='d28;sin[221]='d30;sin[222]='d32;sin[223]='d35;sin[224]='d37;sin[225]='d39;sin[226]='d41;sin[227]='d44;sin[228]='d46;sin[229 ]='d48;sin[230]='d51;sin[231]='d53;sin[232]='d56;sin[233]='d59;sin[234]='d61;sin[235]='d64;sin[236]='d67;sin[237 ]='d69;sin[238]='d72;sin[239]='d75;sin[240]='d78;sin[241]='d81;sin[242]='d84;sin[243]='d87;sin[244]='d90;sin[245 ]='d93;sin[246]='d96;sin[247]='d99;sin[248]='d102;sin[249]='d105;sin[250]='d108;sin[251]='d111;sin[252]='d114;si n[253]='d117;sin[254]='d120;sin[255]='d123;endendmodule。

相关文档
最新文档