实验五_存储器设计

合集下载

试验五存储器连接6116的使用

试验五存储器连接6116的使用

实验五存储器连接(6116的使用)【实验名称】存储器连接(6116的使用)。

【实验目的】掌握存储器译码及读写的方法。

【实验原理】微处理器通过数据总线、地址总线及控制总线与存储器连接,如下图所示:地址总线为地址信号,用来指明选中的存储单元地址。

数据总线为数据信号,它是微处理器送往存储器的信息或存储器送往微处理器的信息。

它包括指令和数据。

控制总线发出存储器读写信号,以便从ROM、RAM中读出指令或数据,或者向RAM写入数据。

在微机系统中,常用的静态RAM有6116、6264、62256等。

在本实验中使用的是6116。

6116为2K╳8位的静态RAM,其逻辑图如下:其中A0~10为11根地址线,I/O0~7为8根数据线,CS 为片选端,OE为数据输出选通端,WR为写信号端。

其工作方式见下表:FD-SJ86/88实验板上提供了一片6116用来作存储器读写实验。

在6116的上方三根跳线J57、J58、J59分别用来设置6116的片选端、读信号、写信号的连接状态。

当以短路块分别将J57、J58、J59上面两根针短路时,则6116片选端连接由U39产生的译码信号,其译码范围为0A0000H~0A07FFH,因6116为2K存储器,所以地址0A0000H~0A07FFH和0A0800H~0A0FFFH重叠。

6116的读写信号则分别接到系统总线上的存储器读写信号。

其数据通过74LS245(U38)接到系统的数据总线上。

【实验内容】在FD-SJ86/88实验板上的6116芯片内写入一些数据,然后读出显示在屏幕上以验证正确与否。

【实验连线】① 6264的地址线J8(A0~A10)接总线上的地址线A0~A10。

② J57、J58、J59的下面的两个脚以短路块连接。

【实验程序】DATA SEGMENTMESSAGE DB 'PLEASE ENTER A KEY TO SHOW THE CONTENTS',0DH,0AH,'$'DATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,TOPMOV AX,0A000HMOV ES,AXMOV BX,0000HMOV CX,26MOV DL,40HWRITE: INC DLMOV ES:[BX],DLINC BXCMP DL,5AHJNZ SS1MOV DL,40HSS1: LOOP WRITEMOV DX,OFFSET MESSAGEMOV AH,9INT 21HMOV AH,01HINT 21HMOV AX,0A000HMOV ES,AXMOV BX,0000HMOV CX,26READ: MOV DL,ES:[BX]MOV AH,02HINT 21HINC BXLOOP READMOV AH,4CHINT 21HCODE ENDSEND START【思考题】将字符‘0’~‘9’写入存储器,再将其读出,应如何修改程序?。

计算机组成原理实验_存储器部件教学实验

计算机组成原理实验_存储器部件教学实验

实验题目存储器部件教学实验一、实验目的:1. 熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。

学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

2. 理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。

3. 了解静态存储器系统使用的各种控制信号之间正常的时序关系。

4. 了解如何通过读、写存储顺的指令实现对58C65 ROM芯片的读、写操作。

加深理解存储器部件在计算机整机系统中的作用。

二、实验设备与器材:TEC-XP+教学实验系统和仿真终端软件PCEC。

三、实验说明和原理:1、内存储器原理内存储器是计算机中存放正在运行中的程序和相关数据的部件。

在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括唯读存储区和随读写存储区两部分,ROM存储区选用4片长度8位、容易8KB的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:0-1777h用于第一组ROM,固化监控程序,2000-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量的教学实验。

地址总线的低13位送到ROM芯片的地址线引脚,用于选择芯片内的一个存储字。

用于实现存储字的高位字节的3个芯片的数据线引脚、实现低位字节的3个芯片的数据线引脚分别连接在一起接到数据总线的高、低位字节,是实现存储器数据读写的信息通路。

数据总线要通过一个双向三态门电路与CPU一侧的内部总线IB 相连接,已完成存储器、接口电路和CPU之间的数据通讯。

2、扩展教学机的存储空间四、实验内容:1) 要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和OE等控制信号的正确状态。

《计算机组成原理》实验

《计算机组成原理》实验

实验一、运算实验算术逻辑一、实验目的1、掌握简单运算器的数据传送通路2、验证运算功能发生器(74LS181)的组合功能二、实验设备CCT-IV计算机组成原理教学实验系统一台,排线若干。

三、实验原理实验中的运算器由两片74LS181构成。

运算器的输出经过一个三态门74LS245和数据总线相连,运算器的两个数据输入端,分别由二个锁存器74LS273锁存,锁存器的输入端和数据总线相连,数据输入输出都通过总线完成;数据显示灯(“BUS UNIT”)与数据总线相连,用来显示数据总线内容。

实验中的数据输入由数据开关(“INPUT DEVICE”)给出,并经过三态门74LS245和数据总线相连,数据输出可以经总线输出至七段数码管(“OUTPUT DEVICE”)显示S3S2S1S0MLDDR1 T4 LDDR2SW-B图1-2运算器数据通路图1-2中T4为脉冲信号,其它均为电平信号。

在实验中,只需将“W/R UNIT”的T4接至“STATE UNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3、S2、S1、S0、Cn、M、LDDR、ALU-B、SW-B各电平控制信号用“SWITCH UNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDR1,LDDR2为高电平有效进位控制运算的实验,是在前面实验的基础上增加进位控制部分(如1-3图所示),其中181的进位进入一个74锁存器,其写入是由T4的AR信号控制,T4是脉冲信号,实验时将T4连至“STATE UNIT”的微动开关KK2上。

AR是电平控制信号,可用于实现带进位控制实验,而T4脉冲是将本次运算的进位结果锁存到进位锁存器中。

四、实验内容1、按图1-1实验接线图连接线路,仔细查线无误后,接通电源。

2、用二进制数码开关分别向DR1和DR2寄存器臵数01100101,10100111。

①打开数据输入三态门SW-B=0 关闭运算器输出三态门ALU-B=1②向寄存器DR1传送数据,数据开关臵01100101,LDDR1=1,LDDR2=0,按下KK2,产生T4信号③向寄存器DR2传送数据,数据开关臵10100111,LDDR1=0,LDDR2=1,按下KK2,产生T4信号④关闭数据输入三态门SW-B=1,打开运算器输出三态门ALU-B=0⑤当臵S3、S2、S1、S0、M为11111时,总线指示灯DR1中的数,而臵成10101时总线指示DR2中的数。

杭电计组实验5-存储器设计实验

杭电计组实验5-存储器设计实验
5’b000006 32’b0000000632’b0000000632'h0055_752332'h0055_7523
5’b000007 32’b0000000732’b0000000732'h0055_752332'h0055_7523
(2)答:这些单元的数据已经被改写了。读出数据与写入数据一致。
RAM_B uut (
.clka(clka),
.wea(wea),
.addra(addra),
.dina(dina),
.douta(douta)
);
initial begin
// Initialize Inputs
clka = 0;
wea = 0;
addra = 0;
dina = 0;
// Wait 100 ns for global reset to finish
NET "Clk" LOC = C9;
NET "LED[4]" LOC = M11;
NET "LED[3]" LOC = V15;
NET "LED[2]" LOC = U15;
NET "LED[1]" LOC = V16;
NET "LED[0]" LOC = U16;
NET "Mem_Addr[7]" LOC = U8;
output reg [7:0]LED;
wire [31:0]M_R_Data;//存在存储器里的32位读出数据
reg [31:0]M_W_Data;//寄存在暂存器的32位写入数据
RAM_B test_ram (

存储器读写实验

存储器读写实验
本实验发送字符的总长度为11位(1个起始位(0),8个数据位(D0在前 ),1个奇偶校验位,1个停止位(1),采用偶校验,发送数据为55H ,反复发送,以便用示波器观察发送端TXD的波形。用查询 8251A状态字的第0位(TXRDY)来判断1 个数据是否发送完毕, 当 TXRDY=1时,发送数据缓冲器空。
实验三 8255A 并 行 口 实 验
一、实验目的 1、掌握8255A和微机接口方法。 2、掌握8255A的工作方式和编程原理。 二、实验原理 1、 如实验原理图,PC口8位接8个开关K1~ K8,PB口8位接8个发 光二极管,从PC口读入8位开关量送PB口显示。拨动K1~ K8,PB口 上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。
实验七 A/D转换实验
一、实验目的 1、 加深理解逐次逼近法模数转换器的特征和工作原理。 2、掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。 二、实验原理 1、本实验采用 ADC0809 做 A/D 转换实验。ADC0809 是一种8路模拟输入 、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度为 ±1/512,适用于多路数据采集系统。ADC0809片内有三态输出的数据锁 存器,故可以与8088微机总线直接接口。 图中ADC0809的CLK信号接CLK=2.385MHZ,基准电压Vref(+)接Vcc。一 般在实际应用系统中应该接精确+5V,以提高转换精度,ADC0809片选 信号0809CS和/IOW、/IOR经逻辑组合后,去控制ADC0809的ALE、 START、ENABLE信号。ADC0809的转换结束信号EOC未接, 如果以中 断方式实现数据采集,需将EOC信号线接至中断控制器8259A的中断源 输入通道。本实验以延时方式等待A/D转换结束,ADC0809的通道号选 择线ADD-A、ADD-B、ADD-C 接系统数据线的低3位,因此 ADC0809的8个通道值地址分别为00H、01H、02H、03H、04H、05H 、 06H、07H。

存贮器读写实验

存贮器读写实验
系。这样在做基本实验时,只需按原理 图接线,无需插拔芯片
Hale Waihona Puke 8088系统硬件安装
• 1、接交流电源线。 • 2、将RS-232通信电缆线的9 芯 D 型插座一头插入实验
系统的9 芯 D 型插座J2上,另一头接入主机 COM1~ COM4 的任一插座上。 选择 COM1、COM2、COM3 或 COM4 的原则是:该通信口必须能正常工作, 且 与 通信电缆提供的插头匹配。
RAM(2000H~23FFH)写数据55AAH 3.修改程序,用循环指令将2000H~23FFH的内容传送到
3000H~33FFH中 4.提交实验报告
DVCC-8086JHN实验系统整体原理框图
以Inte18088CPU 为核心部件,并 以最小方式工作。
由8284芯片给 CPU提供时钟
和复位信号
通过总线收发器和地址锁存 器对系统中的数据信息和地
址信息进行缓冲或锁存
通过总线插座将信号引出, 为各实验提供必要的信号
27512EPROM 里面放的是系
DVCC-8086JHN 通用微机原理及接口实验系统
DVCC-8086JHN 性能特点
• 1、用8088CPU 为主 CPU,并以最小工作方式构成系统 。 • 2、 系统以二片 62256 静态 RAM 构成系统的 64K 基本内存, 地
址范围为 00000H~0FFFFH。 另配一片 32K EPROM 存放系统程 序和实验程序。 • 3、自带键盘显示器,能单机独立运行,为实验程序的调试带 来方 便。 • 4、备有通用外围电路,包括逻辑电平开关电路、发光二极管显示 电路、 时钟电路、单脉冲 发生电路等。 • 5、 提供各种微机常用 I/O 接口芯片:包括定时/计数器接口芯片 (8253A), 并行接口芯片 (8255A),A/D 转换芯片(0809),D/A 转换 芯片( 0832) , 中断控制器接口芯片(8259A),键盘显 示接口芯片 (8279A),串行通信接口芯片(8251A)等。 • 6、配备中文 WINDOWS 9x/2000/xp界面调试软件及实验演示软件 。 可以单步、断点、连续等方式调试运行各实验程序 。

储存器实验报告

储存器实验报告

储存器实验报告储存器实验报告一、引言储存器是计算机中重要的组成部分,它用于存储和读取数据。

在计算机科学领域,储存器的设计和性能对计算机的运行速度和效率有着重要的影响。

本实验旨在通过设计和实现一个简单的储存器,来深入了解储存器的工作原理和性能指标。

二、实验目的1. 了解储存器的基本概念和分类;2. 掌握储存器的存储原理和读写操作;3. 分析和评估储存器的性能指标。

三、实验过程1. 储存器的分类储存器按照存储介质的不同可以分为随机存储器(RAM)和只读存储器(ROM)。

RAM是一种易失性存储器,它可以随机读写数据。

ROM则是一种非易失性存储器,主要用于存储固定的程序和数据。

2. 储存器的存储原理储存器的存储原理是通过电子元件的状态来表示数据的存储状态。

在RAM中,每个存储单元由一个电容和一个晶体管组成。

当电容充电时表示存储单元存储的是1,当电容放电时表示存储单元存储的是0。

在ROM中,存储单元由一组可编程的开关组成,每个开关的状态决定了存储单元存储的数据。

3. 储存器的读写操作储存器的读操作是通过将地址信号传递给储存器来选择要读取的存储单元,然后将存储单元的数据输出。

储存器的写操作是通过将地址信号传递给储存器来选择要写入的存储单元,然后将要写入的数据输入。

四、实验结果在实验中,我们设计并实现了一个8位的RAM储存器。

通过对储存器进行读写操作,我们成功地将数据存储到储存器中,并成功地从储存器中读取数据。

实验结果表明,储存器的读写操作是可靠和有效的。

五、实验分析1. 储存器的性能指标储存器的性能指标包括存储容量、存取时间和存储器的可靠性。

存储容量是指储存器可以存储的数据量,通常以位或字节为单位。

存取时间是指从发出读写指令到数据可以被读取或写入的时间间隔。

存储器的可靠性是指储存器的故障率和故障恢复能力。

2. 储存器的应用储存器广泛应用于计算机、手机、平板电脑等电子设备中。

在计算机中,储存器用于存储程序和数据,是计算机的核心组件之一。

寄存器实验实验报告

寄存器实验实验报告

寄存器实验实验报告一. 引言寄存器是计算机中重要的数据存储器件之一,用于存储和传输数据。

通过对寄存器进行实验,我们可以更好地理解寄存器的工作原理和应用。

本实验旨在通过设计和测试不同类型的寄存器,深入掌握寄存器的各种功能和操作。

二. 实验设计本实验设计了两个寄存器的实验,分别为移位寄存器和计数器寄存器。

1. 移位寄存器实验移位寄存器是一种特殊的串行寄存器,它能够实现对数据位的移位操作。

本实验设计了一个4位的移位寄存器,分别使用D触发器和JK触发器实现。

实验步骤如下:1) 首先,根据设计要求将4个D或JK触发器连接成移位寄存器电路。

2) 确定输入和输出端口,将输入数据连接到移位寄存器的输入端口。

3) 设计测试用例,输入测试数据并观察输出结果。

4) 分析实验结果,比较不同触发器类型的移位寄存器的性能差异。

2. 计数器寄存器实验计数器寄存器是一种能够实现计数功能的寄存器。

本实验设计了一个二进制计数器,使用T触发器实现。

实验步骤如下:1) 根据设计要求将多个T触发器连接成二进制计数器电路。

2) 设计测试用例,输入计数开始值,并观察输出结果。

3) 测试计数的溢出和循环功能,观察计数器的行为。

4) 分析实验结果,比较不同计数器位数的性能差异。

三. 实验结果与分析在实验过程中,我们完成了移位寄存器和计数器寄存器的设计和测试。

通过观察实验结果,可以得出以下结论:1. 移位寄存器实验中,无论是使用D触发器还是JK触发器,移位寄存器都能够正确地实现数据位的移位操作。

而使用JK触发器的移位寄存器在性能上更加优越,能够实现更复杂的数据操作。

2. 计数器寄存器实验中,二进制计数器能够准确地实现计数功能。

通过设计不同位数的计数器,我们发现位数越多,计数范围越大。

综上所述,寄存器是计算机中重要的存储器件,通过实验我们深入了解了寄存器的工作原理和应用。

移位寄存器和计数器寄存器都具有广泛的应用领域,在数字电路设计和计算机系统中起到了重要作用。

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

计算机组成原理实验五《存储器设计》实验报告姓名:吴速碘黄紫微学号:******** ********班级:计算机二班日期2015、5、25实验五存储器设计一、实验目的1、掌握RAM和ROM的Verilog语言描述方法;2、学习用宏模块的方法定制RAM和ROM。

二、实验任务1、设计并实现一个128*16 的单端口的RAM;2、设计并实现一个128*16的ROM;3、设计并实现一个双端口的128*16的RAM4、设计并实现一个16*32的FIFO。

5、设计并实现正弦信号发生器,见“正弦信号发生器实验指南”。

三、实验步骤1 编写Verilog代码(见附页)2功能仿真进行分析与综合,排除语法上的错误建立波形仿真文件,输入激励生成功能仿真网表进行功能仿真,观察输出结果3选择器件DE2_70开发板的使用者请选择EP2C70F896C64绑定管脚5 下载验证DE2_70开发板的下载:使用USB-Blaster进行下载四、实验内容五、实验思考题1、分析存储器采用三态输出的原因是什么?存储器的输出端是连接在数据总线上的。

数据总线相当于一条车流频繁的大马路,必须在绿灯条件下,车辆才能进入这条大马路,否则要撞车发生交通事故。

同理,存储器中的数据是不能随意传送到数据总线上的。

例如,若数据总线上的数据是“1”(高电平5V),存储器中的数据是“0”(低电平0V),两种数据若碰到一起就会发生短路而损坏单片机。

因此,存储器输出端口不仅能呈现“l”和“0”两种状态,还应具有第三种状态“高阻"态。

呈“高阻"态时,输出端口相当于断开,对数据总线不起作用,此时数据总线可被其他器件占用。

当其他器件呈“高阻”态时,存储器在片选允许和输出允许的条件下,才能将自己的数据输出到数据总线上。

2、单端口和双端口的区别是什么?单端口ram是ram的读写只有一个端口,同时只能读或者只能写。

双端口ram是ram读端口和写端口分开,一个端口能读,另一个端口可以同时写。

3、什么情况下考虑采用双端口存储器?(1)为了使CPU不致因为等待存储器读写操作的完成而无事可做,可以采取一些加速CPU和存储器之间有效传输的特殊措施:●采用更高速的主存储器,或加长存储器的字长;●采用并行操作的双端口存储器;●在CPU和主存储器之间插入一个高速缓冲存储器(Cache),以缩短读出时间;●在每个存储器周期中存取几个字.(采用交叉存储器)(2)双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,由于进行并行的独立操作,是一种高速工作的存储器。

(3)●当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。

当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制和输出驱动控制。

●当两个端口同时存取存储器同一存储单元时,便发生读写冲突。

为解决此问题,特设置了BUSY标志。

由片上的判断逻辑决定对哪个端口优先进行读写操作,而暂时关闭另一个被延迟的端口。

●总之,当两个端口均为开放状态(BUSY为高电平)且存取地址相同时,发生读写冲突.此时判断逻辑可以使地址匹配或片使能匹配下降至5ns,并决定对哪个端口进行存取.4、FIFO的工作特点是什么?为什么常用于实现程序中的子程序调用、递归等?特点:FIFO存储器是系统的缓冲环节,如果没有FIFO存储器,整个系统就不可能正常工作,它主要有几方面的功能:1)对连续的数据流进行缓存,防止在进机和存储操作时丢失数据;2)数据集中起来进行进机和存储,可避免频繁的总线操作,减轻CPU的负担;3)允许系统进行DMA操作,提高数据的传输速度。

这是至关重要的一点,如果不采用DMA操作,数据传输将达不到传输要求,而且大大增加CPU的负担,无法同时完成数据的存储工作。

因此,选择合适的存储芯片对于提高系统性能很重要,在以往的设计中经常采用的是“乒乓型”存储方式,这种方式就是采用两片存储器,数据首先进入其中一片,当数据满时再让数据进入第二片存储器,同时通过逻辑控制,将第一片存储器中的数据取走,以此类推,两片轮流对数据进行缓存。

这种方式有着较明显的缺点,首先是控制复杂,要有专门的逻辑来维护这种轮流机制;其次,数据流的流向要不断变化,限制了数据流的速率,还容易产生干扰。

从数据传输上说,缓存芯片容量越大,对后续时序要求就越低,可减少总线操作的频次;但从数据存储上说,就意味着需要开辟更大的内存空间来进行进行缓冲,会增加计算机的内存开销,而且容量越大,成本也越高。

因此,在综合考虑系统性能和成本的基础上,选择满足系统需要的芯片即可。

在FIFO存储器而不是地址总线上附加了表示内部缓冲器状态(Buffer Full,缓冲器已满;Buffer Empty,缓冲器为空)的状态引脚,连接于FIFO的双方利用该状态进行操作的控制。

另外,还设计了在接通电源及复位(Reset)或由于操作中的某些异常等原因而重新初始化(无数据状态)FIFO的复位引脚,这可以说是FIFO存储器的特点。

Verilog代码《sinwaveV》module sinwaveV#(parameter DATA_WIDTH=8, parameter ADDR_WIDTH=6)(input clk,output reg [(DATA_WIDTH-1):0] q);reg [(ADDR_WIDTH-1):0] Q1;wire newclk;reg [4:0] clk_cnt;assign newclk = clk_cnt[4];always @(posedge CLK)beginclk_cnt <= clk_cnt+1;endalways @(posedge newclk)beginQ1<=Q1+1;endlpm_rom0 lpm_rom0_inst ( .address ( Q1), .clock ( CLK ), .q ( DOUT ) ); endmodule《test1》// synopsys translate_off`timescale 1 ps / 1 ps// synopsys translate_onmodule test1 (address,clock,data,wren,q);input [6:0] address;input clock;input [15:0] data;input wren;output [15:0] q;`ifndef ALTERA_RESERVED_QIS// synopsys translate_off`endiftri1 clock;`ifndef ALTERA_RESERVED_QIS// synopsys translate_on`endifwire [15:0] sub_wire0;wire [15:0] q = sub_wire0[15:0];altsyncram altsyncram_component (.address_a (address),.clock0 (clock),.data_a (data),.wren_a (wren),.q_a (sub_wire0),.aclr0 (1'b0),.aclr1 (1'b0),.address_b (1'b1),.addressstall_a (1'b0),.addressstall_b (1'b0),.byteena_a (1'b1),.byteena_b (1'b1),.clock1 (1'b1),.clocken0 (1'b1),.clocken1 (1'b1),.clocken2 (1'b1),.clocken3 (1'b1),.data_b (1'b1),.eccstatus (),.q_b (),.rden_a (1'b1),.rden_b (1'b1),.wren_b (1'b0));defparamaltsyncram_component.clock_enable_input_a = "BYPASS",altsyncram_component.clock_enable_output_a = "BYPASS",altsyncram_component.intended_device_family = "Cyclone IV GX",altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO",altsyncram_component.lpm_type = "altsyncram",altsyncram_component.numwords_a = 128,altsyncram_component.operation_mode = "SINGLE_PORT",altsyncram_component.outdata_aclr_a = "NONE",altsyncram_component.outdata_reg_a = "CLOCK0",altsyncram_component.power_up_uninitialized = "FALSE",altsyncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ",altsyncram_component.widthad_a = 7,altsyncram_component.width_a = 16,altsyncram_component.width_byteena_a = 1;endmodule《test2》// synopsys translate_off`timescale 1 ps / 1 ps// synopsys translate_onmodule test2 (address,clock,q);input [6:0] address;input clock;output [15:0] q;`ifndef ALTERA_RESERVED_QIS// synopsys translate_off`endiftri1 clock;`ifndef ALTERA_RESERVED_QIS// synopsys translate_on`endifwire [15:0] sub_wire0;wire [15:0] q = sub_wire0[15:0];altsyncram altsyncram_component (.address_a (address),.clock0 (clock),.q_a (sub_wire0),.aclr0 (1'b0),.aclr1 (1'b0),.address_b (1'b1),.addressstall_a (1'b0),.addressstall_b (1'b0),.byteena_a (1'b1),.byteena_b (1'b1),.clock1 (1'b1),.clocken0 (1'b1),.clocken1 (1'b1),.clocken2 (1'b1),.clocken3 (1'b1),.data_a ({16{1'b1}}),.data_b (1'b1),.eccstatus (),.q_b (),.rden_a (1'b1),.rden_b (1'b1),.wren_a (1'b0),.wren_b (1'b0));defparamaltsyncram_component.address_aclr_a = "NONE",altsyncram_component.clock_enable_input_a = "BYPASS",altsyncram_component.clock_enable_output_a = "BYPASS",altsyncram_component.init_file = "vv_CPU.mif",altsyncram_component.intended_device_family = "Cyclone IV GX",altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO",altsyncram_component.lpm_type = "altsyncram",altsyncram_component.numwords_a = 128,altsyncram_component.operation_mode = "ROM",altsyncram_component.outdata_aclr_a = "NONE",altsyncram_component.outdata_reg_a = "CLOCK0",altsyncram_component.widthad_a = 7,altsyncram_component.width_a = 16,altsyncram_component.width_byteena_a = 1;endmodule《test3》// synopsys translate_off`timescale 1 ps / 1 ps// synopsys translate_onmodule test3 (clock,data,rdaddress,wraddress,wren,q);input clock;input [15:0] data;input [6:0] rdaddress;input [6:0] wraddress;input wren;output [15:0] q;`ifndef ALTERA_RESERVED_QIS// synopsys translate_off`endiftri1 clock;tri0 wren;`ifndef ALTERA_RESERVED_QIS// synopsys translate_on`endifwire [15:0] sub_wire0;wire [15:0] q = sub_wire0[15:0];altsyncram altsyncram_component (.address_a (wraddress),.clock0 (clock),.data_a (data),.wren_a (wren),.address_b (rdaddress),.q_b (sub_wire0),.aclr0 (1'b0),.aclr1 (1'b0),.addressstall_a (1'b0),.addressstall_b (1'b0),.byteena_a (1'b1),.byteena_b (1'b1),.clock1 (1'b1),.clocken0 (1'b1),.clocken1 (1'b1),.clocken2 (1'b1),.clocken3 (1'b1),.data_b ({16{1'b1}}),.eccstatus (),.q_a (),.rden_a (1'b1),.rden_b (1'b1),.wren_b (1'b0));defparamaltsyncram_component.address_aclr_b = "NONE",altsyncram_component.address_reg_b = "CLOCK0",altsyncram_component.clock_enable_input_a = "BYPASS",altsyncram_component.clock_enable_input_b = "BYPASS",altsyncram_component.clock_enable_output_b = "BYPASS",altsyncram_component.intended_device_family = "Cyclone IV GX",altsyncram_component.lpm_type = "altsyncram",altsyncram_component.numwords_a = 128,altsyncram_component.numwords_b = 128,altsyncram_component.operation_mode = "DUAL_PORT",altsyncram_component.outdata_aclr_b = "NONE",altsyncram_component.outdata_reg_b = "CLOCK0",altsyncram_component.power_up_uninitialized = "FALSE",altsyncram_component.read_during_write_mode_mixed_ports = "DONT_CARE",altsyncram_component.widthad_a = 7,altsyncram_component.widthad_b = 7,altsyncram_component.width_a = 16,altsyncram_component.width_b = 16,altsyncram_component.width_byteena_a = 1;endmodule《test4》// synopsys translate_off`timescale 1 ps / 1 ps// synopsys translate_onmodule test4 (clock,data,rdreq,wrreq,empty,full,q,usedw);input clock;input [15:0] data;input rdreq;input wrreq;output empty;output full;output [15:0] q;output [4:0] usedw;wire [4:0] sub_wire0;wire sub_wire1;wire sub_wire2;wire [15:0] sub_wire3;wire [4:0] usedw = sub_wire0[4:0];wire empty = sub_wire1;wire full = sub_wire2;wire [15:0] q = sub_wire3[15:0];scfifo scfifo_component (.clock (clock),.data (data),.rdreq (rdreq),.wrreq (wrreq),.usedw (sub_wire0),.empty (sub_wire1),.full (sub_wire2),.q (sub_wire3),.aclr (),.almost_empty (),.almost_full (),.sclr ());defparamscfifo_component.add_ram_output_register = "OFF",scfifo_component.intended_device_family = "Cyclone IV GX",scfifo_component.lpm_numwords = 32,scfifo_component.lpm_showahead = "OFF",scfifo_component.lpm_type = "scfifo",scfifo_component.lpm_width = 16,scfifo_component.lpm_widthu = 5,scfifo_component.overflow_checking = "ON",scfifo_component.underflow_checking = "ON",scfifo_e_eab = "ON";endmodule。

相关文档
最新文档