ايران ويج

نسخه‌ی کامل: مشکلاتی که VHDL یا Verilog داریم...
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
نقل قول: نه در واقع یک حافظه میخوام. چهار بیتی
نگرفتم
خب نمیشه کد زد؟

با signal در vhdl
یا با reg در verilog
(۲۵-آذر-۱۳۹۳, ۰۰:۵۳:۴۹)salehjg نوشته است: [ -> ]
نقل قول: نه در واقع یک حافظه میخوام. چهار بیتی
نگرفتم
خب نمیشه کد زد؟

با signal در vhdl
یا با reg در verilog

خب شدن که میشه. یه d ff کد بزنی میشه حافظه تک بیتی و بعد همون رو 4 بیتی بنویسیم. منتهی گفتم آماده نیست :)
آخه اولش فکر کردم ماژول های آماده به کارت میاد...
مثلا برای بافر سه حالته، کتابخونه آماده هست
اشتباه نکنم اسمش IBUFF بود
این کد vhdl فلیپ فلاپ d . dflip که از نت اونوریا گرفتم. یه بیتی . وکتورش کنیم میشه چنتایی

کد:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity D_FF_VHDL is
   port
   (
      clk : in std_logic;

      rst : in std_logic;
      pre : in std_logic;
      ce  : in std_logic;

      d : in std_logic;

      q : out std_logic
   );
end entity D_FF_VHDL;

architecture Behavioral of D_FF_VHDL is
begin
   process (clk) is
   begin
      if rising_edge(clk) then  
         if (rst='1') then  
            q <= '0';
         elsif (pre='1') then
            q <= '1';
         elsif (ce='1') then
            q <= d;
         end if;
      end if;
   end process;
end architecture Behavioral;

[attachment=12854]
میشه روش gate-level model و behaviord model توضیح بدین
مثلا چرا برای ساخت full-adder با gate-level model نوشته
کد:
Assign s=a^b^cin;
Assign c=(a&b)|(a&cin)|(b&cin);

ولی با behaviord model نوشته

کد:
Assign{c,s}=a+b+cin;
کد php:
ello cyboman,

think of say4to1 multiplexer.
you can write the code in verilog or vhdl for the mux.

there are thre ways describing the mux in hdl.

imagine the blackbox model with input and outputs of mux alone.

-if 
you write the code as the mux consisting of 'gates' ,
then it is 'structural' model.

-if 
you write the 'boolean equation' or 'truth table ' of mux
then it is 
'rtl' model .

-
on the other hand without worrying the above two ,
you can write it as, something like,

if(
selects0,s1==00)
o/p=a;
....

this model is 'behaviour'
in 'behaviuoral model u dont worry about what is the logic
or boolean equationof the mux.. just input/output relationship.

write its '
behaviour' ,in a highlevel construct of 'if...' etc. 
برداشت خودم :

در سطح gate level شما فقط به اعمال جبر بولی دسترسی دارین، مثل and و or و... و به جمع تفریق بیتی اینا دسترسی ندارین

راستی سلام
تشکر
یه سوال دیگه من میتونم به جای دستور

کد:
assign q=d;

از دستور استفاده کنم

کد:
q<=d;
سلام
اینو منم نمیدونم

و تنها چیزی که میدونم:

در initial کردن reg ها از => استفاده میشه

کد php:
initial begin
    out_data_32bit_r 
<= 32'b0;    
end 
صفحه‌ها: 1 2 3 4