一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA開(kāi)發(fā)語(yǔ)言的選擇

ZYNQ ? 來(lái)源:ZYNQ ? 2023-10-17 16:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


	

		

今天平頭哥來(lái)和大家伙聊聊FPGA開(kāi)發(fā)語(yǔ)言的事。對(duì)于FPGA入門者來(lái)說(shuō),選擇用哪種開(kāi)發(fā)語(yǔ)言或許也是一個(gè)讓人苦惱的問(wèn)題,目前開(kāi)發(fā)FPGA的手段越來(lái)越多,這個(gè)后面再聊,先來(lái)說(shuō)說(shuō)對(duì)于RTL開(kāi)發(fā)來(lái)說(shuō)最古老的開(kāi)發(fā)語(yǔ)言也就是VHDL和verilog了。VHDLVerilog歷史

VHDL的 英 文 全 名 是 Very-High-Speed Integrated Circuit Hardware DescriptionLanguage,誕生于 1982 年。1987 年底,VHDL 被 IEEE 和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言。自 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版本 IEEE-1076(簡(jiǎn)稱 87 版)之后,各 EDA 公司相繼推出了自己的 VHDL 設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以提供 VHDL 接口。此后 VHDL 在電子設(shè)計(jì)領(lǐng)域逐步取代了原有的各種非標(biāo)準(zhǔn)硬件描述語(yǔ)言。1993 年,IEEE 對(duì) VHDL 進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展 VHDL 的內(nèi)容,并公布了新版本的 VHDL,即 IEEE 標(biāo)準(zhǔn)的 1076-1993版本(簡(jiǎn)稱 93 版)?,F(xiàn)在,VHDL 和 Verilog HDL 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,在電子工程領(lǐng)域已成為事實(shí)上的通用硬件描述語(yǔ)言。

VHDL 在語(yǔ)言形式、描述風(fēng)格和句法上與一般的計(jì)算機(jī)高級(jí)語(yǔ)言十分相似。VHDL 的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件、一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部和內(nèi)部?jī)刹糠帧? 外部也可稱為可視部分,它描述了此模塊的端口,而內(nèi)部可稱為不可視部分,它涉及到實(shí)體的功能實(shí)現(xiàn)和算法完成。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部端口后,一旦其內(nèi)部開(kāi)發(fā)完成,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL 系統(tǒng)設(shè)計(jì)的基本點(diǎn)。

一般的 VHDL 程序可以由實(shí)體(Entity)、結(jié)構(gòu)體(Architecture)、配置(Configuration)、程序包和程序包體(Package)以及庫(kù)(Library)5 個(gè)部分組成,它們是 VHDL 程序的設(shè)計(jì)單元。

其中實(shí)體、配置和程序包屬于初級(jí)設(shè)計(jì)單元,主要的功能是進(jìn)行端口、行為、函數(shù)等的定義。結(jié)構(gòu)體和程序包體是次級(jí)設(shè)計(jì)單元,包含了所有行為以及函數(shù)的實(shí)現(xiàn)代碼。其中,程序包和程序包體又屬于公用設(shè)計(jì)單元,即它們是被其他程序模塊調(diào)用的。庫(kù)則是一批程序包的集合。

Verilog是由Gateway設(shè)計(jì)自動(dòng)化公司的工程師于1983年末創(chuàng)立的。當(dāng)時(shí)Gateway設(shè)計(jì)自動(dòng)化公司還叫做自動(dòng)集成設(shè)計(jì)系統(tǒng)(Automated Integrated Design Systems),1985年公司將名字改成了前者。該公司的菲爾·莫比(Phil Moorby)完成了Verilog的主要設(shè)計(jì)工作。1990年,Gateway設(shè)計(jì)自動(dòng)化被Cadence公司收購(gòu)。

1990年代初,開(kāi)放Verilog國(guó)際(Open Verilog International, OVI)組織(即現(xiàn)在的Accellera)成立,Verilog面向公有領(lǐng)域開(kāi)放。1992年,該組織尋求將Verilog納入電氣電子工程師學(xué)會(huì)標(biāo)準(zhǔn) 。最終,Verilog成為了電氣電子工程師學(xué)會(huì)1364-1995標(biāo)準(zhǔn),即通常所說(shuō)的Verilog-95。

設(shè)計(jì)人員在使用這個(gè)版本的Verilog的過(guò)程中發(fā)現(xiàn)了一些可改進(jìn)之處。為了解決用戶在使用此版本Verilog過(guò)程中反映的問(wèn)題,Verilog進(jìn)行了修正和擴(kuò)展,這部分內(nèi)容后來(lái)再次被提交給電氣電子工程師學(xué)會(huì)。這個(gè)擴(kuò)展后的版本后來(lái)成為了電氣電子工程師學(xué)會(huì)1364-2001標(biāo)準(zhǔn),即通常所說(shuō)的Verilog-2001。Verilog-2001是對(duì)Verilog-95的一個(gè)重大改進(jìn)版本,它具備一些新的實(shí)用功能,例如敏感列表、多維數(shù)組、生成語(yǔ)句塊、命名端口連接等。目前,Verilog-2001是Verilog的最主流版本,被大多數(shù)商業(yè)電子設(shè)計(jì)自動(dòng)化軟件包支持。

1995年,IEEE 制定了 Verilog HDL 的第一個(gè)國(guó)際標(biāo)準(zhǔn),即 IEEE Std 1364-1995,也稱之為 Verilog 1.0。

2001 年,IEEE 發(fā)布 Verilog 第二個(gè)標(biāo)準(zhǔn)(Verilog 2.0),即 IEEE Std 1364-2001, 簡(jiǎn)稱為 Verilog-2001 標(biāo)準(zhǔn)。

VHDL和Verilog的區(qū)別

原文鏈接:例說(shuō)Verilog和VHDL的區(qū)別,助你選擇適合自己的硬件描述語(yǔ)言

HDL 建模能力:Verilog與VHDL

首先,讓我們討論一下 Verilog 和 VHDL 的硬件建模能力,因?yàn)樗鼈兌际怯糜诮S布挠布枋稣Z(yǔ)言。下圖顯示了 Verilog 和 VHDL 在硬件抽象行為級(jí)別方面的 HDL 建模能力。

70a9943c-6cc2-11ee-939d-92fbcf53809c.png

圖形來(lái)源:Douglas J. Smith,“VHDL 和 Verilog 比較和對(duì)比加上 用 VHDL、Verilog 和 C 編寫的建模示例”

低級(jí)建模

如上圖所示,Verilog 和 VHDL 都能夠?qū)τ布M(jìn)行建模。但是,在底層硬件建模方面,Verilog優(yōu)于VHDL。這是合理的,因?yàn)?Verilog 最初是為建模和模擬邏輯門而創(chuàng)建的。事實(shí)上,Verilog 具有內(nèi)置原語(yǔ)或低級(jí)邏輯門,因此設(shè)計(jì)人員可以在 Verilog 代碼中實(shí)例化原語(yǔ),而 VHDL 則沒(méi)有。

Verilog 的門基元:and、nand、or、nor、xor、xnor、buf、not、bufif0、notif0、bufif1、notif1、pullup、pulldown。 Verilog 的開(kāi)關(guān)原語(yǔ):pmos、nmos、rpmos、rnmos、cmos、rcmos、tran、rtran、tranif0、rtranif0、tranif1、rtranif1。

更重要的是,Verilog 支持用戶定義基元 (UDP),因此設(shè)計(jì)人員可以定義自己的單元基元。此功能對(duì)于 ASIC 設(shè)計(jì)人員來(lái)說(shuō)尤其必要。以下是有關(guān)如何在 Verilog 代碼中實(shí)例化門基元的 Verilog 示例:
or #5 u1(x,y,z);
and #10 u2(i1,i2,i3);
ADC_CIRCUIT u3(in1,out1,out2,clock); 
// ADC_CIRCUIT is an User-Defined Primitive for 
// Analog to Digital Converter for example.

Verilog 中一些低級(jí)內(nèi)置門基元的 VHDL 等效項(xiàng)可以通過(guò)使用邏輯運(yùn)算符如 NOT、AND、NAND、OR、NOR、XOR、XNOR 來(lái)實(shí)現(xiàn)。下面是 Verilog 門基元的 VHDL 等效代碼示例:
or u1(x,y,z); in Verilog <=> x <= y OR z; in VHDL
and u2(i1,i2,i3); (Verilog) <=> i3 <= i2 AND i3; in VHDL

為了支持 Verilog 中的 UDP 功能,VITAL(VHDL Initiative Towards ASIC Libraries-VHDL 面向 ASIC 庫(kù)的倡議)問(wèn)世,使 ASIC 設(shè)計(jì)人員能夠在符合 VITAL 的 VHDL 中創(chuàng)建自己的單元基元或 ASIC 庫(kù),如上圖所示。盡管如此,VHDL 仍然可能無(wú)法實(shí)現(xiàn) Verilog 對(duì)低級(jí)硬件建模的支持。因此,如果我是 ASIC 設(shè)計(jì)師,我會(huì)更喜歡 Verilog 而不是 VHDL。

高級(jí)建模

另一方面,如上述圖表所示,VHDL 在高級(jí)硬件建模方面優(yōu)于 Verilog。與 Verilog 相比,VHDL 為高級(jí)硬件建模提供了更多功能和構(gòu)造。以下是在比較 VHDL 和 Verilog 時(shí)支持高級(jí)硬件建模的主要不同功能:
  • VHDL 中的用戶定義數(shù)據(jù)類型

Verilog 的數(shù)據(jù)類型非常簡(jiǎn)單,都是用 Verilog 語(yǔ)言定義的(用戶不能在 Verilog 中定義自己的數(shù)據(jù)類型)。Verilog 有兩種主要的數(shù)據(jù)類型,包括 net 數(shù)據(jù)類型(用于將組件連接在一起,例如wire(最流行)、wor、wand、tri、trior 等)和變量數(shù)據(jù)類型(用于臨時(shí)存儲(chǔ),例如reg(最流行),整數(shù)、時(shí)間、實(shí)數(shù)和實(shí)時(shí))。VHDL支持許多不同的數(shù)據(jù)類型,包括預(yù)定義的 VHDL 數(shù)據(jù)類型和用戶定義的數(shù)據(jù)類型。預(yù)定義的 VHDL 數(shù)據(jù)類型包括位、位向量、字符串、時(shí)間、布爾值、字符和數(shù)字(實(shí)數(shù)或整數(shù))。VHDL 允許設(shè)計(jì)人員根據(jù)預(yù)定義的 VHDL 數(shù)據(jù)類型定義不同的類型;對(duì)于可能使用許多不同數(shù)據(jù)類型的復(fù)雜和高級(jí)系統(tǒng)來(lái)說(shuō),這是一個(gè)很好的功能。以下是用于定義新數(shù)據(jù)類型的示例 VHDL 代碼:
type int_8bit is range 0 to 255 -- define 8-bit unsigned numbers
signal i : int_8bit;
type state_FSM is (Idle, start, calculate , finish, delay) 
-- define symbolic states to represent FSM states.
signal current_state, next_state: state_FSM;

VHDL 中的設(shè)計(jì)重用包

VHDL 中的包通常用于數(shù)據(jù)類型和子程序的聲明。VHDL 包中聲明的子程序或數(shù)據(jù)類型可用于許多不同的實(shí)體或體系結(jié)構(gòu)。例如:
package fsm_type is 
type FSM_states is (IDLE, TRANSMIT, RECEIVE, STOP);
end package
-- to use the FSM_states type in an entity or architecture
-- use the following statement on top of the entity
use work.fsm_type.all
entity example is

Verilog 中沒(méi)有包定義。與 VHDL 包最接近的 Verilog 等效項(xiàng)是`includeVerilog 編譯器指令。函數(shù)或定義可以單獨(dú)保存在另一個(gè)文件中,然后通過(guò)使用`include指令在模塊中使用它。下面是一個(gè) Verilog 示例代碼:
// Below is the content of "VerilogVsVHDL.h" file
`define INPUT_VERILOG "./test_VerilogvsVHDL.hex" // Input file name 
`define OUTPUT_VHDL "VHDL.bmp" // Output file name 
`define VERILOG_VHDL_DIFFERENCE

// Then call it in every single module that you want to use the definition above
`include "VerilogVsVHDL.h"

  • VHDL 中的配置語(yǔ)句

一個(gè) VHDL 設(shè)計(jì)可以為一個(gè)實(shí)體獲得許多具有不同體系結(jié)構(gòu)的設(shè)計(jì)實(shí)體。配置語(yǔ)句將確切的設(shè)計(jì)實(shí)體與設(shè)計(jì)中的組件實(shí)例相關(guān)聯(lián)。當(dāng)實(shí)體中有多個(gè)架構(gòu)時(shí),配置語(yǔ)句會(huì)繼續(xù)指定所需的設(shè)計(jì)架構(gòu)分配給實(shí)體以進(jìn)行綜合或仿真。當(dāng) VHDL 設(shè)計(jì)人員需要管理大型高級(jí)設(shè)計(jì)時(shí),此功能非常有用。以下是配置語(yǔ)句的 VHDL 示例代碼:
entity BUF is
 generic (DELAY : TIME := 10 ns);
 port ( BUF_IN : in BIT; BUF_OUT : out BIT);
end BUF;
-- The first design architecture for BUF 
architecture STRUCT_BUF1 of BUF is
signal temp: bit;
begin
  BUF_OUT <= not temp after DELAY;
  temp <= not BUF_IN after DELAY;
end STRUCT_BUF1;
-- The second design architecture for BUF 
architecture STRUCT_BUF2 of BUF is
begin
  BUF_OUT <= BUF_IN after 2*DELAY;;
end STRUCT_BUF2;
-- Testbench to simulate BUF entity 
entity BUF_TESTBENCH is 
end BUF_TESTBENCH;
architecture STRUCT_BUF_TEST of BUF_TESTBENCH is
signal TEST1, TEST2 : BIT := '1';
-- BUF_COMP component declaration:
component BUF_COMP is
 generic (TIME_DELAY : TIME);
 port ( IN1 : in BIT; OUT1 : out BIT );
end component;
begin
  -- instantiation of BUF_COMP component:
  DUT:BUF_COMP generic map (10 ns) port map (TEST1,TEST2);
end STRUCT_BUF_TEST;
-- Configuration specify the design entity and architecture
-- for the DUT component instance in the testbench above
configuration CONFIG_BUF of TEST_BUF is
-- Associate BUF_COMP component instance to BUF design entity
-- and STRUCT_BUF1 design architecture for simulation 
for STRUCT_BUF_TEST 
 for DUT : BUF_COMP 
 use entity WORK.BUF (STRUCT_BUF1)
 generic map (DELAY => TIME_DELAY)
 port map (BUF_IN => IN1, BUF_OUT => OUT1);
 end for;
end for ;
end CONFIG_BUF;

Verilog-2001 中還添加了配置塊。

  • VHDL 中的庫(kù)管理

同時(shí)查看 Verilog 和 VHDL 代碼時(shí),最明顯的區(qū)別是 Verilog 沒(méi)有庫(kù)管理,而 VHDL 在代碼頂部包含設(shè)計(jì)庫(kù)。VHDL 庫(kù)包含已編譯的架構(gòu)、實(shí)體、包和配置。此功能在管理大型設(shè)計(jì)結(jié)構(gòu)時(shí)非常有用。上面已經(jīng)給出了 VHDL 中的包和配置示例。以下是 VHDL 中庫(kù)管理的 VHDL 示例代碼:
-- library management in VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.all;
use work.clock_div.all;

簡(jiǎn)而言之,VHDL 在高級(jí)硬件建模方面比 Verilog 更好。由于 FPGA 設(shè)計(jì)流程不需要低級(jí)硬件建模,如果我是 FPGA 設(shè)計(jì)師,我更喜歡 VHDL 而不是 Verilog。 值得一提的是,SystemVerilog 的創(chuàng)建是為了通過(guò)將 VHDL 中的高級(jí)功能和結(jié)構(gòu)添加到 Verilog 中進(jìn)行驗(yàn)證來(lái)增強(qiáng) Verilog 語(yǔ)言在高級(jí)建模中的弱點(diǎn)。SystemVerilog 現(xiàn)在廣泛用于 IC 驗(yàn)證。

冗長(zhǎng)(Verboseness:):Verilog 與 VHDL

  • VHDL 是強(qiáng)類型的vs Verilog 是松散類型的

VHDL 是一種非常強(qiáng)類型的硬件描述語(yǔ)言,因此必須使用匹配和定義的數(shù)據(jù)類型正確編寫 VHDL 代碼。這意味著如果在 VHDL 中分配時(shí)混合數(shù)據(jù)類型或不匹配信號(hào),將會(huì)出現(xiàn)編譯錯(cuò)誤。另一方面,Verilog 是一種松散類型的語(yǔ)言。在 Verilog 中,您可以在分配時(shí)混合數(shù)據(jù)類型或不匹配信號(hào)。下面是不匹配信號(hào)的 VHDL 示例代碼:
signal test_reg1:  std_logic_vector(3 downto 0); 
signal test_reg2:  std_logic_vector(7 downto 0); 
test_reg2 <= test_reg1;
-- You cannot assign a 4-bit signal to an 8-bit signal 
-- in VHDL, it will introduce a syntax error below:
-- Width mismatch. Expected width 8, Actual width is 4 
-- for dimension 1 of test_reg1.

編譯上面的VHDL代碼時(shí),會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤“ Width mismatch. Expected width 8, Actual width is 4 ”。如果將VHDL代碼改為“test_reg2 <= "0000"&test_reg1; "匹配位寬則不會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。
如果在 Verilog 中將 4 位信號(hào)分配給 8 位信號(hào)會(huì)怎樣?
 wire [3:0] test1;
 wire [7:0] test2;
  // In Verilog, you can assign 4-bit signal to 8-bit signal.
 assign test2 = test1;
  // there will be no syntax error during synthesis

當(dāng)您將 4 位信號(hào)分配給 8 位信號(hào)時(shí),Verilog 編譯器不會(huì)引入語(yǔ)法錯(cuò)誤。在 Verilog 中,不同位寬的信號(hào)可以相互分配。Verilog 編譯器將使源信號(hào)的寬度適應(yīng)目標(biāo)信號(hào)的寬度。未使用的位將在綜合期間進(jìn)行優(yōu)化。
下面是在分配信號(hào)時(shí)混合數(shù)據(jù)類型的另一個(gè) VHDL 示例:
signal test1: std_logic_vector(7 downto 0);
signal test2: integer;
test2 <= test1;
-- Syntax Error: type of test2 is incompatile with type of test1

上面的 VHDL 代碼會(huì)引入一個(gè)語(yǔ)法錯(cuò)誤“ (type of test2 is incompatible with type of test1)test2 的類型與 test1 的類型不兼容”。你必須轉(zhuǎn)換test1的分配之前整數(shù)數(shù)據(jù)類型TEST1TEST2如下:
library IEEE;
USE ieee.numeric_std.ALL;
signal test1: std_logic_vector(3 downto 0);
signal test2: integer;
-- Use IEEE.NUMBERIC_STD.ALL Library for this conversion
test2 <= to_integer(unsigned(test1));
-- No syntax errors this time

另一方面,Verilog 在分配時(shí)混合數(shù)據(jù)類型時(shí)沒(méi)有問(wèn)題。以下是一個(gè) Verilog 示例:
reg [3:0] test1;
 integer test2;
 always @(test1) begin
   test2 = test1;
 end
         // NO syntax errors when compiling

當(dāng)您將具有reg數(shù)據(jù)類型的信號(hào)分配給具有不同數(shù)據(jù)類型(如integer )的另一個(gè)信號(hào)時(shí), Verilog 編譯器不會(huì)像在 VHDL 中那樣引入語(yǔ)法錯(cuò)誤。
  • VHDL 復(fù)雜數(shù)據(jù)類型與 Verilog 簡(jiǎn)單數(shù)據(jù)類型

如上所述,VHDL 有許多不同的復(fù)雜數(shù)據(jù)類型,用戶還可以定義許多其他復(fù)雜數(shù)據(jù)類型。這也使得 VHDL 比 Verilog 更冗長(zhǎng),因?yàn)?Verilog 只有 2 種主要數(shù)據(jù)類型,并且 Verilog 中不允許用戶定義的數(shù)據(jù)類型。換句話說(shuō),為了對(duì)同一電路建模,VHDL 代碼通常比 Verilog 代碼更冗長(zhǎng)、更長(zhǎng),因?yàn)?VHDL 的強(qiáng)類型,我們需要在不同的復(fù)雜數(shù)據(jù)類型之間執(zhí)行轉(zhuǎn)換。它可以是優(yōu)點(diǎn)也可以是缺點(diǎn)。事實(shí)上,當(dāng)您在 VHDL 代碼中分配錯(cuò)誤的內(nèi)容時(shí),VHDL 編譯器更有可能引入語(yǔ)法錯(cuò)誤。當(dāng)您成功編譯 VHDL 代碼時(shí),與 Verilog 相比,您的 VHDL 代碼更有可能正常工作。另一方面,Verilog 是松散類型的,更簡(jiǎn)潔,更簡(jiǎn)單。但是編譯成功后,很有可能你的Verilog代碼中仍然存在錯(cuò)誤。下面是另一個(gè)使 VHDL 比 Verilog 更冗長(zhǎng)的示例代碼:
-- VHDL code for ALU 
process(SEL,ABUS,BBUS,tmp1,tmp2)
begin 
case(SEL) is
 when "0000" =>  ALUOUT <= tmp1; -- ADD
 when "0001" =>  ALUOUT <= tmp2;-- SUB 
 when "0010" =>  ALUOUT <= BBUS; -- AND
 when others => ALUOUT <= ABUS; 
 end case;
end process;
// Verilog equivalent to VHDL ALU 
assign ALUOUT=(SEL==0)?tmp1:((SEL==1)?tmp2:((SEL==2)?BBUS:ABUS));

VHDL 中的 if else、when/else、with/select 語(yǔ)句可以在 Verilog 中使用條件運(yùn)算符 (?) 表達(dá)得更簡(jiǎn)潔,如上例所示。

Verilog 和 VHDL 之間的其他區(qū)別:

  • Verilog 類似于C 編程語(yǔ)言,而 VHDL 類似于Ada或 Pascal 編程語(yǔ)言

  • Verilog 區(qū)分大小寫,而 VHDL 不區(qū)分大小寫。這意味著DAta1和Data1在Verilog中是兩個(gè)不同的信號(hào),但在VHDL中是相同的信號(hào)。在 Verilog 中,要在模塊中使用組件實(shí)例,您只需在模塊中使用正確的端口映射對(duì)其進(jìn)行實(shí)例化。在VHDL中,在實(shí)例化實(shí)例之前,如果您使用舊的實(shí)例化語(yǔ)句作為以下示例,則通常需要將組件聲明為架構(gòu)或包中。在 VHDL-93 中,您可以像這樣直接實(shí)例化實(shí)體:“Label_name: entity work.component_name port map (port list);”。

例如,要在 VHDL 中實(shí)例化實(shí)體 clk_div,將在體系結(jié)構(gòu)代碼中添加一個(gè)組件聲明,如下所示:

architecture Behavioral of digital_clock is
-- component declaration before instantiation below
component clk_div
port (
 clk_50: in std_logic;
 clk_1s : out std_logic
 );
end component;
signal clk, clk_1s: std_logic;
begin
-- component instantiation
create_1s_clock: clk_div port map (clk_50 => clk, clk_1s => clk_1s); 
end

或者在包中聲明組件以供重用:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
package clock_div_pack is 
component clk_div is
 port (
         clk_50: in std_logic;
         clk_1s : out std_logic
 );
end component clk_div;
end package;
-- Declare the component in a separate package and 
-- reuse by using the following statement:
use work.clock_div_pack.all;
entity clock is
end clock;
architecture Behavioral of clock is
signal clk, clk_1s: std_logic;
begin
create_1s_clock: clk_div port map (clk_50 => clk, clk_1s => clk_1s); 
end

在 VHDL-93 中直接實(shí)例化實(shí)體的示例代碼:

create_1s_clock: entity work.clk_div port map (clk_50 => clk, clk_1s => clk_1s);

  • Verilog 具有編譯器指令,例如`timescale(聲明時(shí)間單位和延遲精度)、`define(將文本字符串聲明為宏名稱)、`ifdef、ifndef `else `elseif `endif(條件編譯)、`include(包括一個(gè)可以包含函數(shù)或其他聲明的文件)等。VHDL 沒(méi)有編譯器指令。

  • VHDL 支持枚舉和記錄數(shù)據(jù)類型,允許用戶為一種數(shù)據(jù)類型定義多個(gè)信號(hào)。Verilog 不支持枚舉和記錄類型。下面是枚舉和記錄類型的 VHDL 代碼:

type FSM is (IDLE, TEST, VERILOGvsVHDL, STOP, FPGA4student);
-- enumerated type
type int_4 is range 0 to 15;
-- record tye in VHDL
type record_example is record
 data1: integer;
 data2: int_4;
 data3: FSM;
end record;

等等。

盡管 Verilog 和 VHDL 之間存在差異,但它們是兩種最流行的硬件描述語(yǔ)言。如果可以,最好同時(shí)學(xué)習(xí)它們。重要的是要記住,在編碼時(shí)始終考慮邏輯門或硬件以開(kāi)發(fā)硬件編碼思維,而在使用 Verilog 和 VHDL 編碼時(shí)忘記軟件編程思維,這一點(diǎn)非常重要。

詳細(xì)對(duì)比 表格:

表格轉(zhuǎn)自:Verilog HDL和VHDL的區(qū)別

作者:比特波特

VHDL 與 VerilogHDL 的不同點(diǎn)

序號(hào) 區(qū)別之處 VHDL Verilog
1 文件的擴(kuò)展名不一樣 .vhd .v
2 結(jié)構(gòu)不一樣 包含庫(kù)、實(shí)體、結(jié)構(gòu)體。
ENTITY 實(shí)體名 IS PORT(端口說(shuō)明) END 實(shí)體名 ;ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS 說(shuō)明部分BEGIN 賦值語(yǔ)句/ 元件語(yǔ)句/ 進(jìn)程語(yǔ)句 END 結(jié)構(gòu)體名 ;
模塊結(jié)構(gòu) (module… endmodule)
module 模塊名 (端口列表) ; 輸入/輸出端口說(shuō)明; 變量類型說(shuō)明;assign 語(yǔ)句 (連續(xù)賦值語(yǔ)句) ;元件例化語(yǔ)句;always@(敏感列表)begin …end endmodule其中assign語(yǔ)句、元件例化語(yǔ)句、always語(yǔ)句的順序可以更換
3 對(duì)庫(kù)文件的要求不一樣 須有相應(yīng)的庫(kù)或程序包支持,實(shí)體間調(diào)用子程序,需要將子程序打成程序包 沒(méi)有專門的庫(kù)文件 (只有基本門的庫(kù)),模塊可以通過(guò)例化直接調(diào)用,不需要打成程序包
4 端口定義的地方不一樣 實(shí)體中定義 module的模塊名后面先列出端口列表,再在模塊中用input,output等定義
5 端口定義方式不一樣 端口名(端口名,端口名) : 方向 數(shù)據(jù)類型名(Default Value) ;
例如:Q1 : IN Std_Logic_Vector(31 DOWNTO 0) ;
端口類型 端口1,端口2,端口3,…;
例如:inout [31:0]Q;
6 端口定義類型不一樣 有IN, OUT, INOUT, BTFFER 四種 有input ,output, inout 三種
7 內(nèi)部信號(hào)(SIGNAL)聲明不一樣 在結(jié)構(gòu)體中聲明,有些局部變量還可在進(jìn)程中聲明 在端口定義后進(jìn)行聲明內(nèi)部變量
8 標(biāo)識(shí)符規(guī)則不一樣 不區(qū)分大小寫 區(qū)分大小寫
9 關(guān)鍵詞要求不一樣 允許大小寫混寫
例如:EnTity
關(guān)鍵詞必須小寫
10 常量定義的關(guān)鍵詞和格式表示不一樣 CONSTANT 常量名:數(shù)據(jù)類型 :=數(shù)值; parameter 常量名1 = 數(shù)值1, 常量名2 = 數(shù)值2,…,常量名n = 數(shù)值n;
11 常量表示不一樣 用雙引號(hào).
例如:B"011100"
<位寬>’<進(jìn)制符號(hào)><數(shù)字>
例如:8’b10110011
12 數(shù)組定義方式不一樣 定義4位數(shù)組A:
A(3 DOWNTO 0 ) 或者A(0 TO 3)
定義4位數(shù)組A:
A[3:0] 或者A[0:3]
13 下標(biāo)名表示不一樣 用小括號(hào)表示,
例如:a(0)
用中括號(hào)表示,
例如:a[0]
14 數(shù)據(jù)對(duì)象不一樣,且二者變量的含義不一樣 常量,變量,信號(hào).
變量是一個(gè)局部量,只能在進(jìn)程和子程序中使用。變量的賦值是一種理想化的數(shù)據(jù)傳輸,是立即發(fā)生,不存在任何延時(shí)的行為。信號(hào)是描述硬件系統(tǒng)的基本數(shù)據(jù)對(duì)象,它類似于連接線。信號(hào)可以作為設(shè)計(jì)實(shí)體中并行語(yǔ)句模塊間的信息交流通道。數(shù)據(jù)對(duì)象沒(méi)有默認(rèn)
常量,變量
變量是在程序運(yùn)行時(shí)其值可以改變的量。變量默認(rèn)為wire型
15 數(shù)據(jù)默認(rèn)值 默認(rèn)值為本類型的最小非負(fù)值(某個(gè)類型的范圍是以0為對(duì)稱的) wire類型默認(rèn)值為 z, reg類型默認(rèn)值為x ;
16 變量定義的格式不一樣 VARIABLE 變量名:數(shù)據(jù)類型 :=初始值
例如:VARIABLE k:Integer RANGE 0 TO 7;
數(shù)據(jù)類型 [位寬] 變量1,變量2,…,變量n;
17 數(shù)據(jù)類型不一樣 布爾(BOOLEAN)、位(BIT)、位矢量(BIT_VECTOR)、標(biāo)準(zhǔn)邏輯位(STD_LOGIC)、標(biāo)準(zhǔn)邏輯矢量(STD_LOGIC_VECTOR)。
VHDL的數(shù)據(jù)類型比較復(fù)雜。
wire,tri,reg,interger,real,time型,主要是wire和reg型,比較簡(jiǎn)單。
18 賦值不一樣 按數(shù)據(jù)對(duì)象賦值分,變量賦值使用“:=”,信號(hào)賦值使用"<=" 按語(yǔ)句的執(zhí)行情況分,assign語(yǔ)句和阻塞語(yǔ)句用“=”賦值,非阻塞語(yǔ)句用“<=”
19 賦值要求不一樣 強(qiáng)類型語(yǔ)言,賦值兩邊的賦值目標(biāo)和表達(dá)式的數(shù)據(jù)類型必須一樣。不同類型和寬度的數(shù)據(jù)之間不能運(yùn)算和賦值,需要調(diào)用包來(lái)完成轉(zhuǎn)換;
例如:A:IN STD_LOGIC_VECTOR(2 DOWNTO 0)B:IN STD_LOGIC_VECTOR(2 DOWNTO 0)C:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) 則C<=A OR B;會(huì)出錯(cuò)
不是強(qiáng)類型語(yǔ)言,可以自動(dòng)完成不同類型數(shù)據(jù)的運(yùn)算和賦值;
例如:input [2:0]a;input [2:0]b;output [3:0]c; assign c=a&b;不會(huì)出錯(cuò)
20 操作符不一樣 邏輯操作符(Logica Operator)、關(guān)系操作符(Relationa Operator)、算術(shù)操作符(Arithmetic Operator)、符號(hào)操作符(Sign Operator),沒(méi)有縮減操作符,沒(méi)有三目的條件操作符 操作符比較豐富,有算數(shù)操作符,邏輯操作符,位運(yùn)算、關(guān)系操作符,等式操作符,縮減操作符,轉(zhuǎn)移操作符,條件操作符,位并接操作符
21 條件中,等于判斷符號(hào)不一樣 等于= ; 不等于 /= 等于(= =)或全等(= = =)
不等于(!=)或不全等(!= =)
22 邏輯操作符不一樣 AND, NAND, NOT, OR, NOR, XNOR, XOR等
該邏輯操作符運(yùn)算結(jié)果跟Verilog HDL的位運(yùn)算一樣
&&(邏輯與), || (邏輯或), !(邏輯非), ~ (按位取反), &(按位與), |(按位或), ^(按位異或), ^~ 或~ ^(按位同或)
23 移位操作符不一樣 除了邏輯左移SLL、邏輯右移SRL之外,還有算數(shù)左移SLA、算數(shù)右移SRA、循環(huán)左移ROL、循環(huán)右移ROR。其中邏輯左移SLL、邏輯右移SRL與Verilog HDL的左移<<, 右移>>一致 只有邏輯左移<< 和邏輯右移>>,沒(méi)有算數(shù)左移、算數(shù)右移、循環(huán)左移、循環(huán)右移。
24 并置操作符不一樣 用&并置,
例如:a&b
用{ }并置,
例如:{a, b}
25 并行賦值語(yǔ)句不一樣 信號(hào)賦值語(yǔ)句 (直接賦值、條件賦值、選擇賦值) assign語(yǔ)句 (連續(xù)賦值) 只對(duì)wire型
26 順序語(yǔ)句不一樣 信號(hào)賦值
變量賦值(變量賦值只能在進(jìn)程和子進(jìn)程中進(jìn)行)
阻塞語(yǔ)句
非阻塞語(yǔ)句
27 并行語(yǔ)句中的進(jìn)程語(yǔ)句不一樣 PROCESS(敏感列表)
BEGIN順序語(yǔ)句;END PROCESS;
always@ (敏感列表)
begin順序語(yǔ)句;end
28 條件判斷語(yǔ)句if的格式不一樣 IF 條件1 THEN
順序描述語(yǔ)句;ELSIF 條件2 THEN順序描述語(yǔ)句;…ELSE 順序描述語(yǔ)句;END IF;
if (條件1)
順序描述語(yǔ)句; else if (條件2) 順序描述語(yǔ)句;…else 順序描述語(yǔ)句;
29 條件控制語(yǔ)句case的格式不一樣 CASE 表達(dá)式 IS
WHEN 條件表達(dá)式1 => 順序描述語(yǔ)句; WHEN 條件表達(dá)式2 => 順序描述語(yǔ)句; WHEN 條件表達(dá)式3 => 順序描述語(yǔ)句; … WHEN 條件表達(dá)式n => 順序描述語(yǔ)句;END CASE如果沒(méi)有列舉出CASE和IS之間的表達(dá)式的全部取值,則WHEN OTHERS =>必不可少
case (表達(dá)式)
選擇值1:語(yǔ)句1; 選擇值2:語(yǔ)句2; 選擇值3:語(yǔ)句3; … 選擇值n:語(yǔ)句n; default:語(yǔ)句n+1;endcasedefault沒(méi)有,不會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤,但邏輯有可能產(chǎn)生錯(cuò)誤
30 case語(yǔ)句的應(yīng)用范圍也不一樣 在CASE語(yǔ)句中,條件表達(dá)式是沒(méi)有優(yōu)先級(jí)的,如優(yōu)先級(jí)編碼器可以用IF語(yǔ)句進(jìn)行描述,但不可以使用CASE語(yǔ)句描述 除了case以外,還有相關(guān)的casex和casez語(yǔ)句,如用casex可以實(shí)現(xiàn)優(yōu)先編碼器
31 循環(huán)控制語(yǔ)句不一樣 循環(huán)控制語(yǔ)句有:FOR_LOOP循環(huán)語(yǔ)句、WHILE_LOOP循環(huán)語(yǔ)句、NEXT語(yǔ)句、EXIT語(yǔ)句 for語(yǔ)句、repeat語(yǔ)句、while語(yǔ)句、和forever語(yǔ)句
32 for循環(huán)控制語(yǔ)句格式不一樣 [標(biāo)號(hào):] FOR 循環(huán)變量 IN 循環(huán)次數(shù)范圍
LOOP 順序語(yǔ)句 END LOOP [標(biāo)號(hào)];
for(循環(huán)指針=初值; 循環(huán)指針<終值; 循環(huán)指針=循環(huán)指針+步長(zhǎng)值)
begin 順序語(yǔ)句; … end
33 for循環(huán)中的循環(huán)變量存在區(qū)別 循環(huán)變量不需要定義 循環(huán)指針需要定義
34 while語(yǔ)句格式不一樣 [標(biāo)號(hào):] WHILE 條件 LOOP
順序描述語(yǔ)句; END LOOP [標(biāo)號(hào)];在循環(huán)體內(nèi),必須包含條件式中判別變量的賦值語(yǔ)句。
while(循環(huán)執(zhí)行條件表達(dá)式)
begin 重復(fù)執(zhí)行語(yǔ)句; 修改循環(huán)條件語(yǔ)句; end
35 元件例化不一樣 COMPONENT 元件名 IS
GENERIC 說(shuō)明;PORT 說(shuō)明;END COMPONENT 元件名;
設(shè)計(jì)模塊名 <例化電路名> (端口列表) ;
36 時(shí)鐘定義不一樣 時(shí)鐘列在PROCESS的敏感列表中,如若上升沿有效,則
PROCESS(clk)BEGINIF (clk’EVENT AND clk=‘1’) THEN…END PROCESS;
在always結(jié)構(gòu)中,上升沿直接體現(xiàn)在always的敏感列表中。如
always@ (posedge clk)begin…end
37 時(shí)鐘邊沿定義方式不一樣 上升沿(clk’EVENT AND clk=‘1’)
下降沿(clk’EVENT AND clk=‘0’)
上升沿posedge clk
下降沿negedge clk
38 生成重復(fù)結(jié)構(gòu)的能力不同 有生成語(yǔ)句(GENERATE)生成由大量相同單元構(gòu)成的模塊,格式為:
[標(biāo)號(hào):] FOR 循環(huán)變量 IN 取值范圍GENERATE[說(shuō)明部分]BEGIN[并行語(yǔ)句]; - -元件例化語(yǔ)句,以重復(fù)產(chǎn)生并行元件。END GENERATE [標(biāo)號(hào)];或者IF 條件 GENERATE[說(shuō)明部分]BEGIN[并行語(yǔ)句]END GENERATE [標(biāo)號(hào)];
沒(méi)有對(duì)應(yīng)的生成語(yǔ)句,有相近的實(shí)例數(shù)組,格式為:
<模塊名字> <實(shí)例名字> <范圍> (<端口>);
39 子程序不一樣 procedure和function task 和 function
40 注釋方法不一樣 用- -引導(dǎo)注釋信息 用//或/*…*/注釋
上面借用別人的文章說(shuō)了那么多,平頭哥提個(gè)簡(jiǎn)單的建議,對(duì)于FPGA開(kāi)發(fā)者來(lái)說(shuō),至少熟練掌握一種RTL開(kāi)發(fā)語(yǔ)言,有C語(yǔ)言基礎(chǔ)的建議選擇Verilog,追求嚴(yán)謹(jǐn)?shù)倪x擇VHDL,不管選擇哪種語(yǔ)言,都沒(méi)有本質(zhì)上的優(yōu)劣之分,更不要有語(yǔ)言鄙視鏈的想法,其他高級(jí)開(kāi)發(fā)語(yǔ)言我們后面再聊。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618621
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    820

    瀏覽量

    129959
  • 電路模塊
    +關(guān)注

    關(guān)注

    7

    文章

    34

    瀏覽量

    15568

原文標(biāo)題:FPGA開(kāi)發(fā)語(yǔ)言的選擇

文章出處:【微信號(hào):ZYNQ,微信公眾號(hào):ZYNQ】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    圖像化語(yǔ)言開(kāi)發(fā)FPGA

    `采用圖像化編程語(yǔ)言開(kāi)發(fā)FPGA`
    發(fā)表于 01-20 11:44

    采用高級(jí)語(yǔ)言開(kāi)發(fā)FPGA的探索

    轉(zhuǎn)帖:采用高級(jí)語(yǔ)言開(kāi)發(fā)FPGA的探索近年來(lái),由于人工智能和金融數(shù)據(jù)分析等計(jì)算密集型領(lǐng)域的日益興起,異構(gòu)計(jì)算越來(lái)越受到大家的重視。異構(gòu)計(jì)算是指使用不同類型指令集和體系架構(gòu)的計(jì)算單元組成系統(tǒng)的計(jì)算方式
    發(fā)表于 09-25 10:06

    為什么會(huì)選擇C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言

    了解嵌入式開(kāi)發(fā)的朋友們都非常的清楚其核心的開(kāi)發(fā)語(yǔ)言為C語(yǔ)言,C語(yǔ)言在嵌入式開(kāi)發(fā)的過(guò)程中占有十分重
    發(fā)表于 11-08 09:05

    VHDL語(yǔ)言FPGA/CPLD開(kāi)發(fā)中的應(yīng)用?

    【摘 要】 通過(guò)設(shè)計(jì)實(shí)例詳細(xì)介紹了用VHDL(VHSIC Hardware DescriptionLanguage)語(yǔ)言開(kāi)發(fā)FPGA/CPLD的方法,以及與電路圖輸入和其它HDL語(yǔ)言
    發(fā)表于 05-10 19:47 ?1334次閱讀
    VHDL<b class='flag-5'>語(yǔ)言</b>在<b class='flag-5'>FPGA</b>/CPLD<b class='flag-5'>開(kāi)發(fā)</b>中的應(yīng)用?

    Verilog HDL語(yǔ)言FPGA/CPLD開(kāi)發(fā)中的應(yīng)用

    摘 要:通過(guò)設(shè)計(jì)實(shí)例詳細(xì)介紹了用Verilog HDL語(yǔ)言開(kāi)發(fā)FPGA/CPLD的方法,并通過(guò)與其他各種輸入方式的比較,顯示出使用Verilog HDL語(yǔ)言的優(yōu)越性。
    發(fā)表于 06-20 11:51 ?2159次閱讀
    Verilog HDL<b class='flag-5'>語(yǔ)言</b>在<b class='flag-5'>FPGA</b>/CPLD<b class='flag-5'>開(kāi)發(fā)</b>中的應(yīng)用

    Verilog HDL作為現(xiàn)在最流行的FPGA開(kāi)發(fā)語(yǔ)言 是入門的基礎(chǔ)

    Verilog HDL作為現(xiàn)在最流行的FPGA開(kāi)發(fā)語(yǔ)言,當(dāng)然是入門基礎(chǔ)。
    發(fā)表于 02-18 14:47 ?1.1w次閱讀

    單片機(jī)程序開(kāi)發(fā)語(yǔ)言怎么選擇

    單片機(jī)程序的開(kāi)發(fā)可以使用的兩種語(yǔ)言,分別是C語(yǔ)言和匯編語(yǔ)言。這里要指出的一件事是,這不是嵌入式單片機(jī)開(kāi)發(fā)工程師唯一可以使用的兩種
    的頭像 發(fā)表于 06-29 11:22 ?3840次閱讀

    fpga用什么編程語(yǔ)言_fpga的作用

    經(jīng)常看到不少人在論壇里發(fā)問(wèn),FPGA是不是用C語(yǔ)言開(kāi)發(fā)的?國(guó)外有些公司專注于開(kāi)發(fā)解決編譯器這方面問(wèn)題,目的讓其能夠達(dá)到用C語(yǔ)言替代VHDL
    發(fā)表于 07-29 16:37 ?2.5w次閱讀

    嵌入式開(kāi)發(fā)為什么選擇C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言?

    了解嵌入式開(kāi)發(fā)的朋友們都非常的清楚其核心的開(kāi)發(fā)語(yǔ)言為C語(yǔ)言,C語(yǔ)言在嵌入式開(kāi)發(fā)的過(guò)程中占有十分重
    發(fā)表于 11-03 09:21 ?17次下載
    嵌入式<b class='flag-5'>開(kāi)發(fā)</b>為什么<b class='flag-5'>選擇</b>C<b class='flag-5'>語(yǔ)言</b>作為<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>語(yǔ)言</b>?

    嵌入式為什么選擇C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言

    了解嵌入式開(kāi)發(fā)的朋友們都非常的清楚其核心的開(kāi)發(fā)語(yǔ)言為C語(yǔ)言,C語(yǔ)言在嵌入式開(kāi)發(fā)的過(guò)程中占有十分重
    發(fā)表于 11-03 14:06 ?15次下載
    嵌入式為什么<b class='flag-5'>選擇</b>C<b class='flag-5'>語(yǔ)言</b>作為<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>語(yǔ)言</b>?

    基于硬件描述語(yǔ)言HDL的FPGA開(kāi)發(fā)

    基于硬件描述語(yǔ)言HDL,抽象出HLS(High-Level Synthesis)(翻譯為高層次綜合?怎么聽(tīng)起來(lái)都沉得別扭)技術(shù),通過(guò)高層設(shè)計(jì)去隱藏很多底層邏輯和細(xì)節(jié),讓FPGA開(kāi)發(fā)更加簡(jiǎn)單。
    發(fā)表于 09-05 09:12 ?1017次閱讀

    fpga用什么語(yǔ)言編程 fpga和嵌入式的區(qū)別

     FPGA(Field-Programmable Gate Array)可以使用多種編程語(yǔ)言進(jìn)行編程,具體選擇的編程語(yǔ)言取決于開(kāi)發(fā)人員的偏好
    發(fā)表于 07-24 15:06 ?5700次閱讀

    fpga用的是什么編程語(yǔ)言 fpga用什么語(yǔ)言開(kāi)發(fā)

    和VHDL都是用于邏輯設(shè)計(jì)的硬件描述語(yǔ)言,并且都已成為IEEE標(biāo)準(zhǔn)。它們能形式化地抽象表示電路的結(jié)構(gòu)和行為,支持邏輯設(shè)計(jì)中層次與領(lǐng)域的描述,具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性,并便于文檔管理和設(shè)計(jì)重用。 fpga用什么語(yǔ)言
    的頭像 發(fā)表于 03-14 17:09 ?4340次閱讀

    fpga語(yǔ)言是什么?fpga語(yǔ)言與c語(yǔ)言的區(qū)別

    FPGA語(yǔ)言,即現(xiàn)場(chǎng)可編程門陣列編程語(yǔ)言,是用于描述FPGA(Field Programmable Gate Array)內(nèi)部硬件結(jié)構(gòu)和行為的特定語(yǔ)
    的頭像 發(fā)表于 03-15 14:50 ?1412次閱讀

    fpga開(kāi)發(fā)需要掌握哪些編程語(yǔ)言

    FPGA(現(xiàn)場(chǎng)可編程門陣列)開(kāi)發(fā)涉及多種編程語(yǔ)言和技術(shù).
    的頭像 發(fā)表于 03-27 14:34 ?2286次閱讀