xilinx

硬件工程师离不开的那些电路设计工具,你会有几个呢

邮差的信 提交于 2019-12-05 17:04:02
  EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的 最新成果,进行电子产品的自动设计。利用EDA工具,可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。      EDA常用软件   EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:protel、MentorPADS、OrCAD、Mentor WG、Mentor EN、allegro、EWB、PSPICE、 Synopsys等等。按主要功能或主要应用场合,大致可分为电路设 计与仿真工具、PCB设计软件、IC设计软件、PLD设计工具及其它EDA软件。   电子电路设计与仿真工具   电子电路设计与仿真工具包括:   SPICE/PSPICE、EWB、Matlab、SystemView、Multisim、MMICAD等。下面简单介绍前三个软件。   1)SPICE:由美国加州大学推出的电路分析仿真软件,现在用得较多的是PSPICE6.2,在同类产品中是功能最为强大的模拟和数字电路混合仿真 EDA软件,它可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模拟控制、波形输出、数据输出、并在同一窗口内同时显示模拟与数字的仿真结果。无 论对哪种器件哪些电路进行仿真,都可以得到精确的仿真结果

Flip-Flop triggered on the edge of two signals

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-05 13:23:46
I need a flip flop that reacts on the edges of two different signals. Something like this: if(rising_edge(sig1)) then bit <= '0'; elsif(rising_edge(sig2)) then bit <= '1'; end if; Does such a flip flop exist or is there some other technique i could use? I need this to be synthesizable on a Xilinx Virtex-5 FPGA. Thanks What I'd usually do in this case is to keep a delayed version of both the control signals and generate a pulse one clock wide at the rising edge of each signal. I'd then use these pulses to drive a tiny FSM to generate the 'bit' signal. Here's some VHDL below. -- -*-vhdl-*- --

Ideas for a flexible/generic decoder in VHDL

眉间皱痕 提交于 2019-12-05 04:46:29
I want to create an address Decoder that is flexible enough for me to use when changing the number of bits of the selector and of the decoded output signals. So, instead of having a static (fixed input/output size) Decoder that looks something like this : entity Address_Decoder is Generic ( C_INPUT_SIZE: integer := 2 ); Port ( input : in STD_LOGIC_VECTOR (C_INPUT_SIZE-1 downto 0); output : out STD_LOGIC_VECTOR ((2**C_INPUT_SIZE)-1 downto 0); clk : in STD_LOGIC; rst : in STD_LOGIC ); end Address_Decoder; architecture Behavioral of Address_Decoder is begin process(clk) begin if rising_edge(clk)

Running ARM TrustZone Secure/Normal world"example on the ZedBoard

流过昼夜 提交于 2019-12-05 03:26:00
问题 Does anyone know how to implement the example of TrustZone running "Secure world" and "Normal world" given on the ARM documentation website below on the ZedBoard? Any documentation on this subject (running TrustZone on the ZedBoard) would be also helpful. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15417.html The ZedBoard has a Xilinx : Zynq® -7000 All Programmable SoC Dual ARM® Cortex™-A9 MPCore™. More information on the ZedBoard can be found here: http://www.zedboard

Memory regions not displayed in 'lspci -vv' while using 'AXI bridge for PCI express Gen3.0 subsystem'

烂漫一生 提交于 2019-12-04 18:10:54
We are developing a system with a custom processor, Microblaze and some peripherals in VC709 FPGA using Xilinx Vivado. We are using two 'PCIe : BARs' in 'AXI Bridge for PCI express'. Initially the command 'lspci -vv' used to show memory regions in the Ubuntu teminal. $ lspci -vv 0a:00.0 Memory controller: Xilinx Corporation Device 7038 | 0a:00.0 Memory controller: Xilinx Corporation Device 7018 Subsystem: Xilinx Corporation Device 0007 | Subsystem: Xilinx Corporation Device 0008 Physical Slot: 3 | Physical Slot: 3 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- Pa| Control: I/O-

How to deduce from synthesis report

风流意气都作罢 提交于 2019-12-04 09:48:24
I had coded the 80c51 architecture in VHDL using xilinx. In an attempt to increase the clock frequency, I had pipelined all the 80c51 instructions. The instructions were able to execute as desired, for eg. when the 1st instruction is being processed, the second instruction gets fetched. However, I only get a slightly higher clock frequency of (around +/-10Hz) despite creating a pipeline depth of 3, from the synthesis report. I figured out that the bottleneck is due to one operation as specified by the synthesis report, but I could not understand synthesis report. May I ask what is the data

Running ARM TrustZone Secure/Normal world\"example on the ZedBoard

只谈情不闲聊 提交于 2019-12-03 17:20:38
Does anyone know how to implement the example of TrustZone running "Secure world" and "Normal world" given on the ARM documentation website below on the ZedBoard? Any documentation on this subject (running TrustZone on the ZedBoard) would be also helpful. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15417.html The ZedBoard has a Xilinx : Zynq® -7000 All Programmable SoC Dual ARM® Cortex™-A9 MPCore™. More information on the ZedBoard can be found here: http://www.zedboard.org/content/overview This is a broad topic. Hopefully some of the following information will help.

Error in VHDL (Xilinx): failed to link the design

纵饮孤独 提交于 2019-12-03 13:08:21
问题 why I get error in VHDL for this? Also, sometimes: cannot do process as a process failed previously? Many thanks. 回答1: For the process failing part, it seems that Xilinx tool writers may have an issue try restarting them and if needed, your machine as well. 回答2: Permanent solution 1: on win 10 Find the " installation directory \ Xilinx \ 14.x \ ISE_DS \ ISE \ gnu \ MinGW \ 5.0.0 \ nt \ libexec \ gcc \ mingw32 \ 3.4.2 \ collect2.exe " and delete it and re-run the emulator, the problem resolved

How to instanciate Xilinx differential clock buffer with chisel3 blackboxes?

匿名 (未验证) 提交于 2019-12-03 08:57:35
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I want to write a simple chisel3 blinking led design on my AC701 kit (artix7). But to do that I have to instantiate a clock input differential buffer. Xilinx give the following verilog template to do that : IBUFDS #( .DIFF_TERM("TRUE"), .IOSTANDARD("DEFAULT") ) IBUFDS1_inst ( .O(clock1), // Clock buffer .I(clock1_p), // Diff_p clock .IB(clock1_n) // Diff_n clock ); I read on chisel documentation class IbufdsParam extends VerilogParameters { val DIFF_TERM = "TRUE" val IOSTANDARD = "DEFAULT" } class IBUFDS extends BlackBox { val params = new

VHDL microprocessor/microcontroller

点点圈 提交于 2019-12-03 04:07:35
I'm learning to code on Xilinx (VHDL). Next, I want to make a simple microprocessor/microcontroller and on the way learn a little about slice components. So my goal is try to code an 8 bits microprocessor using an AMD 2901 (4 bits-slice). (I already have the code of the 2901 and all its information about its input and output signals.) I know the first step would be make the architecture of the microprocessor so I ended up with something like this (I understand that the bandwidth of the bus will be very different for what I'm looking for). http://www.cs.binghamton.edu/~reckert/wk15fig1.JPG