⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pla.scr

📁 design compile synthesis user guide
💻 SCR
字号:
/************************************************************************//*			Programmable Logic Array (PLA)			*//************************************************************************//*  									*//* This example shows a way to build PLAs in VHDL.  The PLA function 	*//* uses an input lookup vector as an index into a constant PLA table, 	*//* then returns the output vector specified by the PLA.			*//*  									*//* The PLA table is an array of PLA_ROWs, where each row is an array 	*//* of PLA_ELEMENTs.  Each element is either a 1, 0, minus, or space 	*//* ('1', '0', '- ', or ' ').  The table is split into an input plane 	*//* and an output plane.  The input  plane is specified by 0s, 1s, 	*//* and minuses.  The output plane is specified by 0s and 1s.  The two 	*//* planes' values are separated by a space.				*//*  									*//* The PLA function works as follows.  The output vector is first 	*//* initialized to be all '0's.  When the input vector matches an 	*//* input plane in a row of the PLA table, the '1's in the output 	*//* plane are assigned to the corresponding bits in the output vector.  	*//* A match is determined as follows:					*//*  									*//*       If there is a '0' or '1' in the input plane, the input 	*//* vector must have the same value in the same position.		*//*  									*//*       If there is a '-' in the input plane, it matches any input 	*//* vector value at that position.					*//*  									*//* The generic PLA table types and the PLA function are defined in a 	*//* package named LOCAL.  An entity PLA_VHDL which uses LOCAL needs 	*//* only to specify its PLA table as a constant, and then call the 	*//* PLA function.							*//*  									*//* Note that the PLA function does not explicitly depend on the size 	*//* of the PLA.  To change the size of the PLA, you would need only to 	*//* change the initialization of the TABLE constant and the 		*//* initialization of the constants INPUT_COUNT, OUTPUT_COUNT and 	*//* ROW_COUNT.  Notice in listing that these constants were 		*//* initialized to a PLA which is equivalent to the ROM shown 		*//* previously.  Accordingly, the synthesized schematic is the same 	*//* as that of the ROM.							*//*  									*//* This example was included mainly to illustrate the capabilities 	*//* of VHDL.  It would be much more efficient to define the PLA 		*//* directly, using the PLA input format; see the Design Compiler 	*//* Reference Manual for more information.				*//*  									*//* The VHDL code implementing this example is contained in file		*/ /* s2p-count.vhd & types-pack.vhd					*//*  									*//************************************************************************//************************************************************************//*  									*//* To try this example, the following commands would be run:		*//* First, set up the path to the libraries. To use a different 		*//* technology library, these variables may be changed. 			*//*  									*//************************************************************************/search_path = { ., synopsys_root + /libraries/syn}target_library = {class.db}symbol_library = {class.sdb}link_path = {class.db}/************************************************************************//*  									*//* The read command is used to read in the VHDL source file. In this 	*//* example, the local package and the pla source file will be read in.  *//*  									*//*	The read command is described in the Design Compiler Command	*//* 	Reference Manual.						*//*  									*//************************************************************************/read -format vhdl { local-pack.vhd pla.vhd }/************************************************************************//*  									*//* The second step is to set up the process environment. This includes 	*//* defining the wire load model and the operating conditions. 		*//*  									*//*	These commands are described in the Design Compiler Command	*//* 	Reference Manual.						*//*  									*//************************************************************************/set_wire_load "10x10"set_operating_conditions WCCOM/************************************************************************//*  									*//* Next, set up the conditions at the boundry of the design. This 	*//* includes defining the drive level on the input signals, the load on 	*//* the outputs, and the arrival times of the input signals.		*//*  									*//*	These commands are described in the Design Compiler Command	*//* 	Reference Manual.						*//*  									*//************************************************************************/set_drive 1 all_inputs()set_load 4 all_outputs()/************************************************************************//*  									*//* Now, the constraints would be specified. In this example, the goal	*//* is to create the smallest design. This is specified as shown below. 	*//*  									*//*	This command is described in the Design Compiler Command	*//* 	Reference Manual.						*//*  									*//************************************************************************/max_area 0/************************************************************************//*  									*//* Next, the following command will compile this design			*//*									*//*	Chapter 5 of the Design Compiler Reference manual describes	*//*	the compile command and the different options available.	*//*  									*//************************************************************************/compile/************************************************************************//*  									*//* 	The design is now compiled. To view the schematic, click on 	*//* the 'view' button in the Design Compiler Main Menu, or execute	*//* the following commands from the dc_shell command line. 		*//*  									*//* dc_shell> gen -sort							*//* dc_shell> view							*//*  									*//*	The report command may be used to find the size and speed of 	*//* the design. Selecting the 'Report' button from the Main menu will 	*//* display the report types available. The Design Compiler Reference 	*//* Manual describes all the available reports. From the dc_shell 	*//* command line, a report is generated as shown below.			*//*  									*//* dc_shell> report -area						*//* dc_shell> report -timing						*//*  									*//************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -